มาทำระบบ Monitoring ด้วย Prometheus + Grafana กันเถอะ (Part 2)

Natthakan Puangroi
3 min readJul 18, 2018

--

Say hi ! อีกครั้งครับทุกท่าน วันนี้เรามาต่อกันเรื่อง Grafana กันเลยดีกว่า หลังจากที่ผมเกริ่นนำ Part นี้ในครั้งที่แล้ว (มาทำระบบ Monitoring ด้วย Prometheus + Grafana กันเถอะ (Part 1)) วันนี้ตามสัญญา *ไม่พูดเยอะ เจ็บคอ* เรามาเริ่มกันเลยดีกว่า

อย่างแรกเลยครับ ให้เราทำการใช้คำสั่ง docker stop และ docker rm ตัวเก่าที่รันอยู่บน docker นะครับ

เราสามารถใช้คำสั่งพวกนี้ ให้มัน stop ตัว container ได้หลายๆ ตัวนะครับโดยการใช้ container id แล้วเว้นวรรค ตามด้วย container id อีกตัวได้เลย เช่น

docker stop [name or container id]
docker rm [name or container id]
docker stop 28f397cca067 36618cf6fb2b ab66538ad907
docker rm 28f397cca067 36618cf6fb2b ab66538ad907

จากนั้นเรามาเพิ่มตัว grafana ลงไปใน docker-compose.yml กันดีกว่า ตามนี้เลยครับ

docker-compose.yml ที่เพิ่ม grafana ลงไป

ในส่วนนี้ผมได้เพิ่มตัว volumes ข้างล่าง version ของ docker-compose.yml

volumes:
prometheus_data: {}
grafana_data: {}

และเพิ่มตัว volumes ให้ prometheus ตามนี้ครับ

volumes:
...
- prometheus_data:/prometheus
...

จากนั้นมาเพิ่มคำสั่งของ grafana ลงไปดังนี้

grafana:
image: grafana/grafana:3.0.0-beta7
volumes:
- grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
depends_on:
- prometheus
ports:
- "3000:3000"

จากนั้นใช้คำสั่ง docker-compose up -d เหมือนเดิมครับ ดังรูป

ถ้าไม่ error ตรงไหนก็สามารถรันได้ปกติเลยครับ

เปิด web browser ครับแล้วไปยัง localhost:3000 ที่เป็น port ของตัว grafana แล้วคลิกรูป logo ของตัว grafana แล้วเลือกรายการ data source เพื่อทำการ config ให้ตัว grafana นั้น map กับเจ้าตัวของ Prometheus ก่อน ตั้งตามนี้ได้เลยครับ

เลือกรายการ data sources
set ให้ grafana นั้น map กับตัว prometheus

จากนั้นเรามาลองกด save and test ถ้าหากขึ้นดังภาพ แสดงว่ามัน map กันแล้วครับ

แสดงว่ามัน map กันแล้ว

จากนั้นเลือกรายการมายัง dashboard แล้วเลือก new เพื่อจะให้ตัว grafana นั้นแสดง metrics ออกมาแบบสวยงาม ดังรูป

ต่อไปให้เรา add panel แล้วเลือกให้ตัว grafana แสดง metrics ออกมาในรูปแบบ graph ดังรูป

เรามาเลือก metric lookup ตัว node ที่เราอยากให้มันแสดงโชว์ metrics ออกมาได้แบบนี้ครับ

ผมเลือก node_cpu_seconds_total

พอเลือกเสร็จแล้วมันจะแสดง metrics ออกมาแบบนี้ครับ ตามรูป

เป็นไงหล่ะครับสวยกว่าตัว prometheus อีกใช่ม้าาา~ แต่เราสามารถปรับรูปแบบการแสดง metrics ออกมาได้หลายรูปแบบมากๆ ลองไปเล่นกันต่อเองนะครับ ว่าต้องการแบบไหน แบบไหนที่คุณถนัด แบบไหนที่ดูง่ายต่อทีมเรา ลองไปเล่นต่อกันเองนะคร้าบบบบบบบบ

วันนี้ผมขอตัวลาไปทำการบ้านก่อน แฮะๆ แล้ววันหลังผมจำนำเสนอเรื่องอะไรอีก โปรดรอติดตาม และรับชม รับฟัง รับไปอ่านกันได้นะครับ เพียงแค่กด clap และ follow ให้กำลังใจผมในการเขียน blog ต่อๆ ไป วันนี้ขอตัวลาไปก่อน สวัสดีครัชผู้อ่านทุกท่านนนนนน Good bye~~~~

--

--