Monitor Server ด้วย Prometheus | Grafana | Node Exporter

การ Monitor Server ต้องใช้ Node Exporter เป็นตัวส่งข้อมูลมายัง Prometheus
จากนั้นให้ Grafana ไป Connect Datasource จาก Prometheus เพื่อนำข้อมูลมาแสดงผลเป็น Dashboard
* Source Folder [prometheus_grafana_node-exporter]

1. ติดตั้ง Prometheus

Copy source ไฟล์ทั้งหมดไปวางใน /opt/prometheus_grafana

แก้ไขไฟล์ prometheus.yml

global: 
  external_labels: 
    monitor: test-monitor
  scrape_interval: 60s
scrape_configs: 
  - job_name: prometheus
    static_configs: 
        - targets: ['<PROMETHEUS_IP>:9091']
  - job_name: node-exporter
    static_configs:
        - targets: ['<TARGET_1>:9101']
          labels:
            instance: <monitoring_1>
        - targets: ['<TARGET_2>:9101']
          labels:
            instance: <monitoring_2>

PROMETHEUS_IP: IP address ของเครื่องที่ติดตั้ง Prometheus
TARGET_1: เครื่องที่ลง Node-Exporter ที่ต้องการ monitor
monitoring_1: ชื่อที่จะแสดงใน Grafana

Run Prometheus ด้วยคำสั่ง

docker-compose up -d

สามารถเข้าไปดู status ของ prometheus ผ่าน URL

http://<IP_ADDRESS>:9091

2. ติดตั้ง Node-Exporter

Remote ไปยังเครื่องที่ต้องการ monitor

Run Node-Exporter ด้วยคำสั่ง

docker run -d --name=node_exporter --restart always -p 9101:9100 prom/node-exporter:latest

3. ติดตั้ง Grafana

Run Grafana ด้วยคำสั่ง

docker run -d --name=grafana --restart always -p 3000:3000 grafana/grafana

เข้าใช้งาน Grafana ผ่าน

http://<ip_address>:3000

username / password default คือ admin/admin

4. การใช้งาน Grafana

สร้าง Datasource

โดยไปที่เมนู Connections > Add new connection > เลือก Prometheus

ในช่อง Prometheus server URL ให้ใส่ IP address จาก config ข้างบน (<PROMETHEUS_IP>:9091)

กด Save & Test

Import Dashboard

ไปที่เมนู Dashboard > เลือก New > Import

จากนั้นไปที่เว็บ Grafana Dashboard เพื่อเลือก Template Dashboard ที่ต้องการใช้งาน

กด Copy ID to clipboard

จากนั้นนำมาวางในช่อง import dashboard และกด Load

ในหน้า Import dashboard ให้เลือก Prometheus datasource ที่ setup ไว้ จากนั้นกด Import

จะได้หน้าจอ Dashboard ดังภาพ