วันนี้มาขอแชร์แบ่งปันเกี่ยวกับวิธีการติดตั้ง Grafana โดยใช้ official Docker image บนแพลตฟอร์ม Ruk-Com PaaS ครับ
จะว่าไปแล้ว search ในกูเกิลก็น่าจะมีมั้ง! 55++
ทำความรู้จักกับ Grafana อิหวังว่ะ!
Grafana เป็น dashboard tool แบบโอเพนซอร์ส คือเครื่องมือในการสร้าง dashboard สำหรับ Monitoring เซิร์ฟเวอร์ครับ วิธีการใช้งานคือเราต้องเพิ่มทำการเพิ่ม data source (แหล่งข้อมูล) เช่น Prometheus, Elasticsearch, MySQL, PostgreSQL, ฯลฯ เป็นต้น เพื่อบอก Grafana ว่าให้ไปดึงข้อมูลส่วนไหนมาสร้างเป็นกราฟแสดงข้อมูล เช่น CPU, Memory ครับ ข้อดีคือมันแสดงข้อมูลในระดับ real-time และยังกำหนดการแจ้งเตือนไปยังอีเมล, ไลน์ หรือ Slack ได้ ทำให้ใช้งานได้หลากหลายนั้นเองครับ โดยเราสามารถดาวน์โหลดมาติดตั้งได้ทั้งแบบไบนารีและคอนเทนเนอร์
Grafana เป็นซอฟต์แวร์ โอเพนซอร์สที่ดูแลโครงการโดยบริษัท Grafana Labs มีผลิตภัณฑ์เชิงพาณิชย์ที่ให้บริการอยู่คือ Grafana Cloud และ Grafana Enterprise สำหรับใช้งานในองค์กร (ขายซัพพอร์ตนั้นแหละครับ) ปัจจุบันเดินทางมาถึงเวอร์ชั่น 7.3 แล้ว
ขั้นตอนการติดตั้ง Grafana Docker container
ที่หน้า Dashboard คลิกที่ “New environment” > เลือกที่แท็บ Docker

เลือก “Select Container”

จากนั้นพิมพ์คำค้นหา “grafana“

หลังจากนั้นก็เพิ่ม Public IP ให้กับแอปพลิเคชั่นนี้

ระบบเริ่ม build / deploy

เมื่อ deploy เสร็จเราจะได้รับอีเมลสำหรับ username/password
เปิด browser และ login (admin/admin) เป็นอันเสร็จสิ้นครับ


จากนั้นก็ให้เราเพิ่ม Data source ครับ เช่น Prometheus
โดยไปที่เมนู Configuration -> Data sources แล้วกด Add data source ได้เลยครับ

ส่วนพาทสำหรับเก็บ configuration ต่าง ๆ ของ Grafana จะอยู่ที่:
"Path Home" = /usr/share/grafana
"Path Data" = /var/lib/grafana
"Path Logs" = /var/log/grafana
"Path Plugins" = /var/lib/grafana/plugins
"Path Provisioning" = /etc/grafana/provisioning
เผื่อว่าใครจะ migrate ไปใช้ database อื่น ๆ เช่นพวก PostgreSQL และ MySQL เป็นต้น.
วิธีติดตั้ง Grafana Redis Datasource
เช่น ติดตั้งปลั๊กอิน Redis (เปิด Web SSH บน Ruk-com PaaS แล้วพิมพ์:)
grafana-cli plugins install redis-datasource

จากนั้นทำการคอนฟิก

ถัดมาก็ทำการ import Redis Dashboard (ดาวน์โหลด) หรือพิมพ์ URL/ID ลงไปเลยก็ได้ครับ


เป็นอันเสร็จเรียบร้อยครับ หรือหากใครว่า Grafana มันดูยุ่งยาก จะใช้ NewRelic หรือ NIXStats ก็ได้เช่นกันครับ เพียงติดตั้ง Agent ลงบนเซิร์ฟเวอร์.
ซึ่งหากว่าเป็น NewRelic จะเป็นตัว monitor เช่น servers CPU, Memory, Disk, Network, Processes โดยที่ไม่ต้องคอนฟิก plugins สำหรับเซอร์วิส เช่น MongoDB, PHP-FPM, Nginx, Apache2/httpd และ Litespeed.
ยังไงก็ไปลองเล่นกันดูนะครับ ^^
สำหรับผู้ที่สนใจ Grafana Docker container ดูเพิ่มเติมได้ที่นี่:
https://grafana.com/docs/grafana/latest/installation/docker/