Run zabbix as root
๓๐ พฤษภาคม ๒๕๖๕
วันนี้ตั้งใจจะใช้ zabbix ในการ monitor ค่าของ system โดยการทำ custom script ขึ้นมาเอง แต่ปรากฏว่าใช้งานไม่ได้ เนื่องจาก permission ของ zabbix ไม่สามารถเข้าถึง file ของ system ได้ (process ของ zabbix run ด้วย user “zabbix”)
นอกจากจะไม่สามารถ monitor ค่าของ system ได้ ยังพบว่าไม่สามารถสั่งให้ action คำสั่งบางคำสั่งในระบบได้ด้วย เช่น สั่งให้ลบ file บาง file ในระบบเวลาเกิดขนาดของ filesystem มีขนาดเกิน threshold
ต้องบอกก่อนว่าการที่ zabbix ไม่สามารถเข้าถึงข้อมูลในระดับ system ที่ต้องใช้สิทธิระดับ root หรือ super user นั้นเป็นสิ่งที่ถูกต้องอยู่แล้ว แต่ในบางกรณีเราก็ต้องการให้ zabbix สามารถทำอะไรได้ในระดับ system ซึ่งเราเองเข้าใจ และยอมรับถึงความเสี่ยงนั้น
แล้วต้องทำยังไง ?
zabbix เตรียมค่า config ไว้ให้เราแก้ไขส่วนนี้เอาไว้ให้อยู่แล้วครับ โดยให้เข้าไปที่ direcotry ที่เก็บ config ของ zabbix (“/etc/zabbix”) แล้วแก้ไข file “zabbix_server.conf” และ “zabbix_agentd.conf” โดยให้แก้ไข 2 ส่วนคือ
- AllowRoot : ให้ enable โดยแก้ไขค่าเป็น “1”
- User : ให้ใส่ User เป็น “root” แทน “zabbix”
หลังจากแก้ไขค่า config ทั้ง 2 files แล้ว ให้ทำการ restart service “zabbix-server” และ “zabbix-agent” ใหม่ เท่านี้เราก็สามารถให้ zabbix เข้าถึงข้อมูล หรือคำสั่งในสิทธิของ “root” ได้แล้ว