ทำ Dashboard Monitoring ด้วย Grafana

grafana-2


ติดตั้ง node exporter ใน แต่ละ server

node exporter เอาไว้ดึงค่าจากตัว hardware ต่างๆภายในเครื่อง เช่น CPU, Memory และอีกหลายๆ อย่างครับ

$ docker run -d --name=node-exporter \
-p 9100:9100 prom/node-exporter:latest

ติดตั้ง Prometheus

Prometheus เป็น open-source ที่เอาไว้ ใช้ query เพื่อนำมาแสดงค่าต่างๆ ที่เราต้องการแสดง

  • ก่อนอื่นต้องมีไฟล์ prometheus.yml
# section 1
global: 
  scrape_interval: 5s
  external_labels:
    monitor: 'node-monitor'  
  
# section 2  
scrape_configs: 
  - job_name: prometheus
    static_configs: 
      - targets: ["127.0.0.1:9090"]
      
  - job_name: node-exporter
    static_configs:
     - targets: ["<ip server 1>:9100","<ip server 2>:9100","<ip server 3>:9100"]
  • จากนั้น run ด้วย docker sh $ docker run -d --name=prometheus-server \ -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \ -p 9090:9090 prom/prometheus:latest

ติดตั้ง Grafana

  • สามารถ download ได้จาก

Grafana | Grafana Labs

หรือ ในที่นี้ใช้ เป็น docker

$ docker run -d \
--name=grafana \
-p 3000:3000 \
-e "GF_SECURITY_ADMIN_PASSWORD=xxx" grafana/grafana 
  • จากนั้น เปิด localhost:3000 > จะได้หน้าตา ประมาณนี้

Screen-Shot-2563-07-09-at-18.34.07

user : admin password : <ที่เราตั้งใน GF_SECURITY_ADMIN_PASSWORD=xxx>

  • เมื่อ login จะได้ ประมาณนี้

Screen-Shot-2563-07-09-at-18.33.46

  • เพิ่ม data source

Screen-Shot-2563-07-09-at-18.32.56

  • เลือกเป็น prometheus

4

5

6

  • สร้าง Dashboard > แต่ในที่นี้ ผมขอเลือกเป็น template ที่มีใน เว็บ Grafana

Grafana Dashboards - discover and share dashboards for Grafana

9

  • จากนั้น จะได้หน้าตาประมาณนี้

10

เราสามารถ สลับ datasource, job, host ไปยัง resource อื่นๆ ได้

11