Grafana¶
Grafana คือ เป็นเครื่องมือที่ใช้ในการทำ Dashboard สำหรับนำข้อมูลที่เก็บอยู่ในฐานข้อมูลมาแสดงผลในรูปแบบต่าง ๆ ที่ง่ายต่อการนำมาใช้ทำการวิเคราะห์ ตรวจติดตามข้อมูล หรือเรียกดูข้อมูลย้อนหลังตามช่วงเวลาที่ต้องการได้ โดยที่สามารถนำข้อมูลจาก InfluxDB มาแสดงผลในรูป Dashboard ได้
การใช้ Grafana ร่วมกับ InfluxDB¶
ในการใช้งาน Grafana ร่วมกับ InfluxDB ที่จะดึงค่าจาก InfluxDB นำมาแสดงในรูป Dashboard เริ่มแรกให้ทำการสร้าง dashboard ขึ้นมา คลิปที่ปุ่ม "New"

จากนั้นจะมี Dropdown ขึ้นมาให้ทำการเลือก "New dashboard"

จะมีหน้าต่างขึ้นมาดังรูป ทำการคลิปที่ปุ่ม "Add Visualization"

หลังจากนั้นทำการเลือก Data source "InfluxDB_v2_Flux"

การ query ข้อมูลจาก InfluxDB เพื่อนำมาแสดงผลใน Grafana

ตัวอย่าง
from(bucket: "flowstack")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "data")
|> filter(fn: (r) => r["_field"] == "line1" or r["_field"] == "line2" or r["_field"] == "line3" )
|> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
|> yield(name: "last")
อธิบายในส่วนของ code คือ จะเป็นการดึงค่ามาจาก bucket ที่ชื่อว่า flowstack จากนั้นทำการกำหนดช่วงเวลาที่ต้องการโดยใช้ range แล้วทำการ filter ข้อมูลแล้วนำมาแสดงผลใน grafana
จากนั้นทำการกดที่ปุ่ม "save"

จะมีหน้าต่างขึ้นมาให้ทำการกด "save" อีกหนึ่งรอบ

แล้วทำการกดปุ่ม "apply" จะได้ dashboard ขึ้นมาดังรูป

ถ้าต้องการที่จะเพิ่มหน้า dashboard ให้กดที่ปุ่ม "Add"

แล้วทำการเลือก "Visualization"
