🐾자 멍멍쌀 (λ°€ ν•˜λŠ˜ μž‘μ€ β˜…)
🐾자 멍멍쌀의 컴퓨터 및 μ½”λ”© 곡뢀
🐾자 멍멍쌀 (λ°€ ν•˜λŠ˜ μž‘μ€ β˜…)
전체 방문자
였늘
μ–΄μ œ
  • λͺ¨λ“  κ²Œμ‹œκΈ€ (63)
    • Docker (도컀) (34)
      • μ„œλ²„κ΅¬μΆ•(SSL) (19)
      • μ„œλ²„ λͺ¨λ‹ˆν„°λ§ (5)
      • ModSecurity,Fail2ban (5)
      • λ‘œλ“œλ°ΈλŸ°μ‹± (3)
      • 도컀 μ„€μΉ˜ (2)
    • λ¦¬λˆ…μŠ€ (2)
    • VSCODE (1)
    • ν΄λΌμš°λ“œ (4)
      • μ˜€λΌν΄ν΄λΌμš°λ“œ (2)
      • κ΅¬κΈ€ν΄λΌμš°λ“œ (2)
    • 라라벨(laravel) (21)
    • μž‘λ™μ‚¬λ‹ˆ (1)
λ°˜μ‘ν˜•

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • μžμž‘ν”„λ‘œκ·Έλž¨(멍멍쌀의 μ·¨λ―Έμƒν™œ)
  • ν”„λ‘œκ·Έλž¨ λͺ¨λ‘ 보기(λ©λ©ν™ˆ)
  • μ˜›λ‚  λ©λ©ν™ˆ
  • μΆ”μ–΅μ˜μž‘ν’ˆμ§‘
250x250

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
🐾자 멍멍쌀 (λ°€ ν•˜λŠ˜ μž‘μ€ β˜…)

🐾자 멍멍쌀의 컴퓨터 및 μ½”λ”© 곡뢀

μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 2. netdata
Docker (도컀)/μ„œλ²„ λͺ¨λ‹ˆν„°λ§

μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 2. netdata

2023. 1. 2. 16:17
728x90
λ°˜μ‘ν˜•
🍺 λͺ©μ°¨ 🍺(λ³΄μ‹œλ €λ©΄ μ•„λž˜ λ”보기 λ₯Ό λˆŒλŸ¬μ£Όμ„Έμš”.)
더보기

μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 1. vnstat

μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 2. netdata

μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 3. grafana, prometheus, nodeexporter, cadvisor, alertmanager

μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 4. mysqld-exporter, nginx-prometheus-exporter

μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 5. grafanaλ₯Ό μ΄μš©ν•˜μ—¬ 볡수 μ„œλ²„λ₯Ό ν•œ κ³³μ—μ„œ λͺ¨λ‹ˆν„°λ§ ν•˜κΈ°


 

 

1. netdata

- netdataλŠ” μ˜€ν”ˆμ†ŒμŠ€ λͺ¨λ‹ˆν„°λ§ μ‹œμŠ€ν…œμœΌλ‘œ 유λͺ…ν•˜λ‹€κ³  ν•˜λ„€μš”. μ €λŠ” μ΅œκ·Όμ— μ•Œκ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

- μ„€μΉ˜ 무척 μ‰½μŠ΅λ‹ˆλ‹€.

- μ‹œμŠ€ν…œμ˜ cpu μ‚¬μš©λŸ‰, λ„€νŠΈμ›Œν¬ μ‚¬μš©λŸ‰ 등을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

- 도컀 μ»¨ν…Œμ΄λ„ˆ 각각에 λŒ€ν•΄μ„œλ„ μœ„μ™€ 같은 정보λ₯Ό 보싀 수 μžˆμŠ΅λ‹ˆλ‹€.

- netdata cloudλ₯Ό μ΄μš©ν•˜μ—¬ μ„œλ²„λ₯Ό 관리할 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

2. μ„€μΉ˜ 방법

λ°”λ‘œ 이전 κ²Œμ‹œκΈ€μ—μ„œ μž‘μ—…ν•œ μ†ŒμŠ€λ₯Ό κ·ΈλŒ€λ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€.

κ°€. docker-compose.yml μˆ˜μ •

### μœ—λΆ€λΆ„ 동일 ###

services:
  front_nginx:
    container_name: front_nginx_cname
    image: mungkhs/nginxwaf:1.1 #DockerHub에 μ˜¬λ €μ§„ 우리의 이미지λ₯Ό μ΄μš©ν•¨.
    restart: always
    privileged: true
    ports:
      - "80:80"
      - "81:81"
      - "82:82"
      - "8685:8685"   #vnstat
      - "19999:19999" #netdata - πŸ”΄μƒˆλ‘œ μΆ”κ°€λœ λΆ€λΆ„ 
    volumes:
      - ./docker/front/default.conf:/usr/local/nginx/conf.d/default.conf

### 쀑간 λΆ€λΆ„ 동일 ###
### πŸ”΄κΈ°μ‘΄ μ•„λž«μͺ½ volumes: λ°”λ‘œ μœ„μ— μΆ”κ°€πŸ”΄ ###
  netdata:
    image: netdata/netdata
    container_name: netdata
    hostname: mungmung.kr    #hostname은 μ›ν•˜λŠ”λŒ€λ‘œ μž…λ ₯
    expose:
      - 19999
    #ports:
    #    - 19999:19999
    restart: unless-stopped
    cap_add:
      - SYS_PTRACE
    security_opt:
      - apparmor:unconfined
    volumes:
      - netdataconfig:/etc/netdata
      - netdatalib:/var/lib/netdata
      - netdatacache:/var/cache/netdata
      - /etc/passwd:/host/etc/passwd:ro
      - /etc/group:/host/etc/group:ro
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /etc/os-release:/host/etc/os-release:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - mung_net              
volumes:
  vnstatdb:
  netdataconfig:  #πŸ”΄μƒˆλ‘œ μΆ”κ°€λœ λΆ€λΆ„ 
  netdatalib:     #πŸ”΄μƒˆλ‘œ μΆ”κ°€λœ λΆ€λΆ„ 
  netdatacache:   #πŸ”΄μƒˆλ‘œ μΆ”κ°€λœ λΆ€λΆ„

 

λ‚˜. docker/front/default.conf νŒŒμΌμ— μ•„λž˜ λ‚΄μš© μΆ”κ°€

server {
    listen 19999;

    location / {
        proxy_pass         http://netdata:19999;
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        
        proxy_buffering off;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;
    }
}

πŸ”΄ λ°©ν™”λ²½μ—μ„œ 19999 포트λ₯Ό μ—΄μ–΄μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€.

 

λ‹€. 이제 μ»¨ν…Œμ΄λ„ˆλ₯Ό 생성 ν›„ 19999번 포트둜 접속을 ν•˜λ©΄ μ•„λž˜μ™€ 같이 μ„œλ²„λ₯Ό λͺ¨λ‹ˆν„°λ§ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

3.  netdata API

κ°€. netdata API λ₯Ό μ΄μš©ν•˜λ©΄ μ•„λž˜μ™€ 같이 μžμ‹ λ§Œμ˜ μ»€μŠ€ν…€ νŽ˜μ΄μ§€λ₯Ό λ§Œλ“œλŠ” 것도 κ°€λŠ₯ν•©λ‹ˆλ‹€.

 

λ‚˜. netdata.html μ†ŒμŠ€

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet">    
    
    <script>var netdataNoBootstrap = true;</script>
    <script src="http://μ„œλ²„μ•„μ΄ν”Ό:19999/dashboard.js"></script>

</head>

<body>
    <div class="grid grid-cols-4 gap-4">    
        <div>
            <embed src="http://μ„œλ²„μ•„μ΄ν”Ό:19999/api/v1/badge.svg?chart=system.cpu&refresh=auto&scale=150" />
        </div>
        <div>
            <embed
                src="http://μ„œλ²„μ•„μ΄ν”Ό:19999/api/v1/badge.svg?chart=system.cpu&alarm=10min_cpu_usage&refresh=auto&scale=150" />
        </div>
        <div>
            <embed
                src="http://μ„œλ²„μ•„μ΄ν”Ό:19999/api/v1/badge.svg?chart=system.ram&alarm=ram_in_use&refresh=auto&scale=150" />
        </div>
        <div>
            <embed
                src="http://μ„œλ²„μ•„μ΄ν”Ό:19999/api/v1/badge.svg?chart=disk_space._&alarm=disk_space_usage&refresh=auto"
                type="image/svg+xml" height="20" />
        </div>
    </div>
    <br/>
    <div class="grid grid-cols-5 gap-4">
        <div data-netdata="system.cpu" data-host="http://μ„œλ²„μ•„μ΄ν”Ό:19999/" data-gauge-max-value="100"
            data-chart-library="gauge" data-width="80%" data-after="-540" data-points="540" data-title="CPU"
            data-units="%" data-colors="#2c9588" data-gauge-generate-gradient="[0, 80, 100]"
            data-gauge-gradient-percent-color-0="#2c9588" data-gauge-gradient-percent-color-80="#c96667"
            data-gauge-gradient-percent-color-100="#ff3300" class="netdata-container">
        </div>
        <div data-netdata="disk_space._" data-host="http://μ„œλ²„μ•„μ΄ν”Ό:19999/" data-title="disk space"
            data-append-options="percentage" data-decimal-digits="0" data-dimensions="used" data-chart-library="gauge"
            data-width="100%" data-height="80%" data-after="-300" data-points="300" data-gauge-max-value="100"
            data-colors="#ffffff" data-gauge-generate-gradient="[0, 70, 100]"
            data-gauge-gradient-percent-color-0="#ffffff" data-gauge-gradient-percent-color-70="d88b2f"
            data-gauge-gradient-percent-color-100="#ff3300" data-units="%">
        </div>
    </div>
    <br/>
    <div class="grid grid-cols-5 gap-4">
        <div class="netdata-container-easypiechart" data-netdata="system.ram" data-host="http://μ„œλ²„μ•„μ΄ν”Ό:19999/"
            data-dimensions="used|buffers|active|wired" data-append-options="percentage"
            data-chart-library="easypiechart" data-title="Used RAM" data-units="%" data-easypiechart-max-value="100"
            data-width="50%" data-after="-540" data-points="540" data-colors="#EE9911" role="application">
        </div>
        <div data-netdata="system.io" data-host="http://μ„œλ²„μ•„μ΄ν”Ό:19999/" data-dimensions="in"
            data-chart-library="easypiechart" data-title="Disk Read" data-width="50%" data-points="540"
            data-common-units="system.io.mainhead" role="application">
        </div>
        <div data-netdata="system.io" data-host="http://μ„œλ²„μ•„μ΄ν”Ό:19999/" data-dimensions="out"
            data-chart-library="easypiechart" data-title="Disk Write" data-width="50%" data-points="540"
            data-common-units="system.io.mainhead" role="application">
        </div>
        <div data-netdata="system.net" data-width="50%" data-host="http://μ„œλ²„μ•„μ΄ν”Ό:19999/"
            data-dimensions="received" data-chart-library="easypiechart" data-title="Net Inbound" data-width="11%"
            data-points="540" data-common-units="system.net.mainhead" role="application">
        </div>
        <div data-netdata="system.net" data-host="http://μ„œλ²„μ•„μ΄ν”Ό:19999/" data-width="50%" data-dimensions="sent"
            data-chart-library="easypiechart" data-title="Net Outbound" data-width="11%" data-points="540"
            data-common-units="system.net.mainhead" role="application">
        </div>        
    </div>
    <br/>    
    <div class="grid grid-cols-2 gap-4">
        <div data-netdata="system.cpu" data-host="http://μ„œλ²„μ•„μ΄ν”Ό:19999/" data-width="100%" data-height="260px"
            data-legend="no" role="application">
        </div>        
        <div data-netdata="cgroup_front_nginx_cname.cpu_limit" data-width="100%"
            data-dygraph-valuerange="[0, null]" data-decimal-digits="-1" data-legend-position="bottom">
        </div>        
    </div>            
    <br/>
    <br/>
</body>

</html>

 

4. netdata cloud

κ°€. μ„œλ²„μ— μ„€μΉ˜ν•œ netdata 자료λ₯Ό netdata cloud μ—μ„œλ„ 확인이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

단, 이λ₯Ό μœ„ν•΄μ„œλŠ” netdata cloudμ—μ„œ 토큰값을 λ°œκΈ‰λ°›μ•„ μ„œλ²„μ—μ„œ μ»¨ν…Œμ΄λ„ˆλ₯Ό λ‹€μ‹œ 생성해 μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€.

 

λ‚˜. netdata cloud μ—μ„œλŠ” μ—¬λŸ¬κ°œμ˜ μ„œλ²„λ₯Ό ν•œκΊΌλ²ˆμ— 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

λ‹€. κ²½κ³ κ°€ λ°œμƒν•  경우 λ“±λ‘ν•œ μ΄λ©”μΌλ‘œ λ‚΄μš©μ„ μ¦‰μ‹œ λ³΄λ‚΄μ€λ‹ˆλ‹€.

 


🍺🍺 μž‘μ—…ν•œ λͺ¨λ“  μ†ŒμŠ€λŠ” μ•„λž˜ λ§ν¬μ—μ„œ ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€. πŸΊπŸΊ

https://github.com/mmssem/ServerMonitoring

 

GitHub - mmssem/ServerMonitoring

Contribute to mmssem/ServerMonitoring development by creating an account on GitHub.

github.com


 

 

 

728x90
λ°˜μ‘ν˜•
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)

'Docker (도컀) > μ„œλ²„ λͺ¨λ‹ˆν„°λ§' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 5. grafanaλ₯Ό μ΄μš©ν•˜μ—¬ 볡수 μ„œλ²„λ₯Ό ν•œ κ³³μ—μ„œ λͺ¨λ‹ˆν„°λ§ ν•˜κΈ°  (0) 2023.01.02
μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 4. mysqld-exporter, nginx-prometheus-exporter  (2) 2023.01.02
μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 3. grafana, prometheus, nodeexporter, cadvisor, alertmanager  (0) 2023.01.02
μ„œλ²„ λͺ¨λ‹ˆν„°λ§ with docker => 1. vnstat  (2) 2023.01.02
    🐾자 멍멍쌀 (λ°€ ν•˜λŠ˜ μž‘μ€ β˜…)
    🐾자 멍멍쌀 (λ°€ ν•˜λŠ˜ μž‘μ€ β˜…)
    🐾자(개발자) 멍멍쌀의 컴퓨터 및 μ½”λ”© 곡뢀λ₯Ό ν•˜λ©΄μ„œ μ •λ¦¬ν•΄λ‘λŠ” κ³³μž…λ‹ˆλ‹€.

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”