รู้หลักการทำงานของ nagios กันแล้วต่อมาจะมารู้จักวิธีการ monitor host ที่เราต้องการ monitor ซึ่งหัวข้อนี้ถือได้ว่าเป็นหัวใจสำคัญของ nagios เราจะได้รู้ว่า nagios สามารถ monitor อะไรจาก host ได้บ้าง และหากจะ monitor จะมีวิธีขั้นตอนอย่างไร การ monitoring host และ service nagios จะใช้ external program หรือเรียกว่า plugins ที่เขียนด้วยภาษา perl ในการเข้าไป ตรวจสอบ เช่น หากต้อง monitor Web server ว่ามีการให้บริการเป็นปกติดีหรือไม่ nagios ก็จะตรวจสอบ HTTP service โดยใช้ plugin ในการตรวจสอบชื่อ check_http เป็นต้น
ประเภทของการ monitoring แบ่งออกเป็น 2 ประเภท ได้แก่
1. Monitoring Hosts
2. Monitoring Services
Monitoring Hostsการตรวจสอบสถานะการทำงานของ host ถือว่าเป็นปัจจัยหนึ่งที่ต้องเฝ้าระวัง วันดีคืนดี host เกิดอาการเหนื่อย อยากพักผ่อนอาจจะทำให้ผู้ดูแลระบบเดือดร้อนได้ การตรวจสอบว่า host เราเปิดทำงานปกติอยู่หรือไม่นั้นเราสามารถตรวจสอบได้จากการใช้คำสั่ง ping ตรวจสอบ

ตัวอย่างนี้แสดงการใช้ plugin ชื่อ check_ping ในการ monitor host โดยมีการใส่ option ดังนี้
อธิบายซักกระนิด !
ค่า threshold จะประกอบไปด้วยกัน 2 ค่าที่แตกต่างกันคั่นโดย comma ซึ่งค่าแรกจะเป็นค่าของ RTT (round-trip time) ในหน่วยของ milliseconds และค่าที่สองเป็นค่า percentage ของ packet loss หากในการ ping ไปยัง host แล้วได้ผลการตรวจสอบออกมาอยู่ในค่า threshold ใดค่าหนึ่งระบบจะโดน trigger ให้เปลี่ยนสถานะทันที ส่วนการที่เราจะรู้ว่าในแต่ละ plugin มี option อะไรบ้าง เราต้องเข้าไปใน server ครับแล้วทำตามดังนี้
# cd /usr/local/nagios/libexec/
หากเราอยากรู้ว่า check_ping มี option อะไรบ้างก็ให้ทำดังนี้ครับ
# ./check_ping –h
เท่านี้ก็จะปรากฏ option ต่างๆออกมาให้ได้เลือกใช้กันครับ
Monitoring Services
การตรวจสอบ serviceของ host ถือว่าเป็นอีกปัจจัยหนึ่งที่มีความสำคัญไม่แพ้ไปกว่าการ monitor เลย ตัวอย่างต่อไปนี้เป็นการใช้ plugin ชื่อ check_tcp ที่จะทำการติดต่อกับ TCP port ของ host เพื่อดู status code ว่ามีการทำงานเป็นปกติอยู่หรือไม่ ถ้าหากผลตอบกลับมาเป็นสถานะ OK แสดงว่า host ยังทำงานเป็นปกติดีอยู่(Connection is accepted) หรือ ตอบกลับมาเป็นสถานะ CRITICAL แสดงว่า connection refused

การตรวจสอบ serviceของ host สามารถแบ่งออกเป็น
• Local Unix Monitoring
เป็นการ monitor service และ metric บนเครื่อง Unix-like host ตัวอย่าง service ได้แก่ disk space, memory, CPU usage และสถานะของ application, processes เป็นต้น สำหรับการอธิบาย plug-in ที่ใช้ในหัวข้อนี้ จะขออธิบายเพียงหนึ่ง plug-in คือ check_disk
Check_disk plug-in จะ monitor disk space ตาม path หรือ device และดูขนาด ปริมาณ disk ว่าเกินค่า threshold หรือไม่ และ plug-in นี้จะมีผลตอบกลับมาเป็นค่าตัวเลขของ disk space ที่ถูกใช้

ในตัวอย่างมีการใช้ option –w 10% เพื่อเป็นการบอก nagios ว่าควรที่จะเปลี่ยนสถานะไปเป็น WARNING เมื่อเหลือ disk space น้อยกว่าหรือเท่ากับ 10% ในตัวอย่างยังมีการส่งค่า –c 5% เพื่อเป็นการบอก nagios ว่าควรที่จะเปลี่ยนสถานะเป็น CRITICAL เมื่อเหลือพื้นที่น้อยกว่า 5% ค่า/ เป็นการระบุว่า ให้ตรวจสอบ disk space ของ root directory ของ host ที่ถูก monitor
• Monitoring Network-Based Services
ใช้ในการ monitor network –based services ประเภท server และ daemon เช่น SSH FTP SMTP HTTP เป็นต้นครับ ทีนี้เรามาทดลองใช้กันนะครับ โดยในตัวอย่างจะลอง monitor SSH และ SMTP กันครับตัวอย่างการตรวจสอบ service SSH

Plug in check_ssh จะทำการติดต่อไปยัง host ที่ระบุโดยการแทนค่า macro $HOSTADDRESS$ ผลของการตรวจสอบของ sshd daemon จะตอบกลับมาดังตัวอย่าง (default port ของ sshd daemon คือ 22 หากต้องการตรวจสอบ port อื่น ให้ใช้
option –p)
ตัวอย่างการตรวจสอบ service SMTP

Plug in check_smtp จะทำการตรวจสอบ SMTP SERVER ว่าทำงานเป็นปกติอยู่หรือไม่ โดยทำการเช็คที่ default port 25
วันนี้ขอพอแค่นี่นะครับ เริ่มมึนๆละ ฮ่าๆ เราจะมาต่อกันครับ ครั้งหน้าจะเป็นเรื่อง Remote Monitoring ครับห้ามพลาดเพราะจะฉายที่นี้ที่เดียว และครั้งเดียว (หลงตัวเองนิด อิอิ)
ค่า threshold จะประกอบไปด้วยกัน 2 ค่าที่แตกต่างกันคั่นโดย comma ซึ่งค่าแรกจะเป็นค่าของ RTT (round-trip time) ในหน่วยของ milliseconds และค่าที่สองเป็นค่า percentage ของ packet loss หากในการ ping ไปยัง host แล้วได้ผลการตรวจสอบออกมาอยู่ในค่า threshold ใดค่าหนึ่งระบบจะโดน trigger ให้เปลี่ยนสถานะทันที ส่วนการที่เราจะรู้ว่าในแต่ละ plugin มี option อะไรบ้าง เราต้องเข้าไปใน server ครับแล้วทำตามดังนี้
# cd /usr/local/nagios/libexec/
หากเราอยากรู้ว่า check_ping มี option อะไรบ้างก็ให้ทำดังนี้ครับ
# ./check_ping –h
เท่านี้ก็จะปรากฏ option ต่างๆออกมาให้ได้เลือกใช้กันครับ
Monitoring Services
การตรวจสอบ serviceของ host ถือว่าเป็นอีกปัจจัยหนึ่งที่มีความสำคัญไม่แพ้ไปกว่าการ monitor เลย ตัวอย่างต่อไปนี้เป็นการใช้ plugin ชื่อ check_tcp ที่จะทำการติดต่อกับ TCP port ของ host เพื่อดู status code ว่ามีการทำงานเป็นปกติอยู่หรือไม่ ถ้าหากผลตอบกลับมาเป็นสถานะ OK แสดงว่า host ยังทำงานเป็นปกติดีอยู่(Connection is accepted) หรือ ตอบกลับมาเป็นสถานะ CRITICAL แสดงว่า connection refused

การตรวจสอบ serviceของ host สามารถแบ่งออกเป็น
• Local Unix Monitoring
เป็นการ monitor service และ metric บนเครื่อง Unix-like host ตัวอย่าง service ได้แก่ disk space, memory, CPU usage และสถานะของ application, processes เป็นต้น สำหรับการอธิบาย plug-in ที่ใช้ในหัวข้อนี้ จะขออธิบายเพียงหนึ่ง plug-in คือ check_disk
Check_disk plug-in จะ monitor disk space ตาม path หรือ device และดูขนาด ปริมาณ disk ว่าเกินค่า threshold หรือไม่ และ plug-in นี้จะมีผลตอบกลับมาเป็นค่าตัวเลขของ disk space ที่ถูกใช้

ในตัวอย่างมีการใช้ option –w 10% เพื่อเป็นการบอก nagios ว่าควรที่จะเปลี่ยนสถานะไปเป็น WARNING เมื่อเหลือ disk space น้อยกว่าหรือเท่ากับ 10% ในตัวอย่างยังมีการส่งค่า –c 5% เพื่อเป็นการบอก nagios ว่าควรที่จะเปลี่ยนสถานะเป็น CRITICAL เมื่อเหลือพื้นที่น้อยกว่า 5% ค่า/ เป็นการระบุว่า ให้ตรวจสอบ disk space ของ root directory ของ host ที่ถูก monitor
• Monitoring Network-Based Services
ใช้ในการ monitor network –based services ประเภท server และ daemon เช่น SSH FTP SMTP HTTP เป็นต้นครับ ทีนี้เรามาทดลองใช้กันนะครับ โดยในตัวอย่างจะลอง monitor SSH และ SMTP กันครับตัวอย่างการตรวจสอบ service SSH

Plug in check_ssh จะทำการติดต่อไปยัง host ที่ระบุโดยการแทนค่า macro $HOSTADDRESS$ ผลของการตรวจสอบของ sshd daemon จะตอบกลับมาดังตัวอย่าง (default port ของ sshd daemon คือ 22 หากต้องการตรวจสอบ port อื่น ให้ใช้
option –p
ตัวอย่างการตรวจสอบ service SMTP

Plug in check_smtp จะทำการตรวจสอบ SMTP SERVER ว่าทำงานเป็นปกติอยู่หรือไม่ โดยทำการเช็คที่ default port 25
วันนี้ขอพอแค่นี่นะครับ เริ่มมึนๆละ ฮ่าๆ เราจะมาต่อกันครับ ครั้งหน้าจะเป็นเรื่อง Remote Monitoring ครับห้ามพลาดเพราะจะฉายที่นี้ที่เดียว และครั้งเดียว (หลงตัวเองนิด อิอิ)

ไม่มีความคิดเห็น:
แสดงความคิดเห็น