in Blog

มาเล่น Grafana กันแบบเร็วๆ

Grafana เป็นเครื่องมือสำหรับใช้ทำ Dashboard แสดงผลข้อมูลในรูปแบบกราฟและสามารถเชื่อมโยงกับฐานข้อมูลในรูปแบบ time-series ได้หลายตัว นอกจากนี้ยังสามารถเพิ่ม plug-in เพื่อเพิ่มความสามารถใหม่ๆ ได้อีกมากมาย

มาลองเล่น Grafana กันเร็วๆ โดยใช้ Docker กัน ครั้งนี้เราจะใช้ Telegraf เป็นตัวส่งข้อมูล system ของ Container ที่ Telegraf ทำงานอยู่ไปยัง InfluxDB แล้วใช้ Grafana อ่านข้อมูลมาทำ Dashboard อีกที เริ่มกันที่ InfluxDB กันก่อนสร้างไดเรคทอรี่เก็บข้อมูลกันก่อน

mkdir influxdb

จากนั้นสร้าง container influxdb ขึ้นมา

docker run -d -p 8083:8083 -p 8086:8086 -v $PWD/influxdb:/var/lib/influxdb --name influxdb influxdb

สั่ง Telegraf สร้าง sample config มาก่อน

docker run --rm telegraf -sample-config > telegraf.conf

จากนั้นสร้าง container telegraf เรียกใช้ config ที่สร้างขึ้นมา และใช้ network เดียวกันกับ influxdb

docker run -d -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro --net=container:influxdb --name telegraf telegraf

จากนั้นสั่ง run grafana ขึ้นมาได้เลย

docker run -d -p 3000:3000 --name grafana grafana/grafana

เปิด browser ไปที่ http://localhost:3000 ก็ใช้งาน Grafana ได้แล้ว ปล. อย่าลืมว่า Telegraf ส่งข้อมูลใน container มานะครับ :) มาลองสร้างกราฟกัน อันดับแรก login กันก่อน username/password เป็น admin

เมื่อ login เรียบร้อยแล้วจะเข้าสู่หน้า home

ทำตามขั้นตอนเลยครับ เพิ่ม Data Source ก่อน

จากนั้นสร้าง Dashboard

กดปุ่ม Add Row

กดปุ่มเพิ่ม Graph

แก้ไข Query ที่อยากได้

เท่านี้ก็ได้ Dashboard กับกราฟ สวยๆ แล้ว

สำหรับกราฟรูปแบบอื่นๆ สามารถติดตั้งเพิ่มเติมได้ผ่าน grafana-cli ลองเล่นดูครับสนุกมากๆ