Grafana Dashboard สร้าง Monitoring สวยๆ แบบมืออาชีพ IT General

Grafana Dashboard สร้าง Monitoring สวยๆ แบบมืออาชีพ

📅 1997-11-11 | โดย อ.บอม กิตติทัศน์ เจริญพนาสิทธิ์ — SiamCafe.net Since 1997

📑 สารบัญ

Grafana คืออะไร

Grafana เป็น open-source platform สำหรับสร้าง dashboard แสดงผล metrics, logs, traces จาก data source หลากหลาย ใช้กันแพร่หลายในวงการ DevOps และ SRE เพื่อ monitor infrastructure และ application

ติดตั้ง Grafana

# Docker (แนะนำ)
docker run -d --name grafana \
  -p 3000:3000 \
  -v grafana-data:/var/lib/grafana \
  grafana/grafana-oss:latest

# เปิด browser: http://localhost:3000
# Login: admin / admin (เปลี่ยนทันที!)

# Ubuntu
sudo apt install -y apt-transport-https software-properties-common
wget -q -O - https://apt.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update && sudo apt install grafana -y
sudo systemctl enable grafana-server
sudo systemctl start grafana-server

🎬 วิดีโอแนะนำ

ดูวิดีโอเพิ่มเติมเกี่ยวกับGrafana Dashboard สร้าง Monitoring สวยๆ :

เชื่อมต่อ Data Source

Data Sourceใช้สำหรับตั้งค่า
PrometheusMetrics (CPU, RAM, Network)URL: http://prometheus:9090
LokiLogsURL: http://loki:3100
InfluxDBTime-series dataURL: http://influxdb:8086
MySQL/PostgreSQLBusiness metricsHost + credentials
ElasticsearchLogs + SearchURL: http://elastic:9200

สร้าง Dashboard

# PromQL queries ที่ใช้บ่อย:

# CPU Usage (%)
100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

# Memory Usage (%)
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100

# Disk Usage (%)
(1 - node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}) * 100

# Network Traffic (bytes/sec)
rate(node_network_receive_bytes_total{device="eth0"}[5m])

# HTTP Request Rate
rate(http_requests_total[5m])

# HTTP Error Rate (%)
rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) * 100

Alert Rules

# ตั้ง Alert ใน Grafana:
# 1. เข้า Dashboard → Edit Panel → Alert tab
# 2. กำหนดเงื่อนไข:

# CPU สูงกว่า 80% นาน 5 นาที
# Condition: WHEN avg() OF query(A) IS ABOVE 80
# For: 5m

# Disk เหลือน้อยกว่า 10%
# Condition: WHEN last() OF query(B) IS ABOVE 90
# For: 1m

# ส่ง notification ไปที่:
# - LINE Notify
# - Slack
# - Email
# - Telegram
# - PagerDuty

Best Practices

Grafana เป็นเครื่องมือ monitoring ที่ดีที่สุดตัวหนึ่ง ฟรี สวย ใช้ง่าย เชื่อมต่อ data source ได้หลากหลาย ทุกองค์กรควรมี

💡 แนะนำ: iCafeFX ระบบเทรดอัตโนมัติ

💡 แนะนำ: CafeFX Panel

❓ FAQ

Grafana ฟรีจริงไหม?

Grafana OSS ฟรี 100% ไม่จำกัด users, dashboards, data sources มี Grafana Cloud ที่เป็น managed service เริ่มต้นฟรี 10k metrics

Grafana กับ Kibana เลือกอะไร?

Kibana เหมาะกับ Elasticsearch/ELK stack Grafana เหมาะกับ Prometheus + หลาย data source ถ้าใช้ Prometheus แนะนำ Grafana

ต้องใช้ Prometheus คู่กับ Grafana ไหม?

ไม่จำเป็น Grafana เชื่อมต่อ data source อื่นได้ เช่น InfluxDB, MySQL, CloudWatch แต่ Prometheus + Grafana เป็นคู่ที่นิยมที่สุด