หลักการ Monitoring ของ Nagios รู้ไว้ใช่ว่า ...

ในทางปฏิบัติการตรวจสอบพบว่า Host ยังทำงานอยู่หรือเปล่านั้น ไม่เพียงพอต่อการสรุปว่า Service ที่อยู่บน Host ยังเปิดให้บริการได้อยู่หรือไม่ ดังนั้น Nagios จึงตรวจสอบสถานะของ Service ในส่วนนี้ด้วย แต่การตรวจสอบจะกระทำได้ยากมากขึ้นถ้า Host ที่ต้องการตรวจสอบต้องติดต่อผ่านจากอุปกรณ์หลายๆประเภท เช่น Router เพราะกรณีที่ Router มีปัญหาแต่ Host จริงและ Service ยังคงทำงานได้อยู่ อาจทำให้ผู้ดูแลระบบได้รับข้อสรุปที่ผิดพลาดจาก Nagios ได้ ถ้า config Nagios ไม่ถูกต้อง

ขั้นตอนการตรวจสอบของ Nagios ครับ
ในการตรวจสอบนั้นจะเริ่มจากการตรวจสอบ Service ก่อน ถ้าตรวจสอบ Service แล้วพบว่ายังเป็นปกติ Nagios จะไม่ตรวจสอบปัจจัยอื่นๆต่อ แต่ถ้าตรวจพบว่า Service ไม่ทำงาน Nagios จะทำการตรวจสอบ Host เพื่อหาสาเหตุให้ได้ว่าที่ Service ไม่ทำงานเกิดสาเหตุมาจาก Host หรือไม่ ถ้าตรวจสอบพบว่า Host ไม่ทำงาน Nagios จะตรวจสอบที่ Parent Host อีกที่เพื่อดูสถานะของ Network เช่นจากรูปจะทำการตรวจสอบ Switch2โดยรวมตามนี้ครับ



















ขั้นตอนการตรวจสอบเป็นดังรูป










โดยมี configuration file ดังนี้
define host{

host_name proxy

...

parents switch2

}


define host{
host_name switch2
...
parents switch1
}

define host{
host_name switch1
...

}

วิธีการตรวจสอบ
มีวิธีการตรวจสอบที่น่าสนใจอยู่ 2 วิธีด้วยกัน
1. การตรวจสอบอย่างสม่ำเสมอ ตามช่วงเวลาที่กำหนดในตัวแปร check_interval โดยวิธีการนี้มีข้อเสียคือ ถ้ากำหนด interval น้อยจนเกินไปจะทำให้ Nagios ส่ง Packet ไปตรวจสอบบ่อย และอาจทำให้ประสิทธิภาพการทำงานลดน้อยลง
2. ใช้ Ping-based ในการตรวจสอบ ข้อดีก็คือ ผู้ดูแลระบบจะได้ข้อมูลเกี่ยวกับ response time, package loss ด้วย เพื่อใช้ในการวิเคราะห์ถึงเบาะแสที่ก่อให้เกิดปัญหาได้ง่ายขึ้น

สถานะของ Host หรือ Service
สถานะที่ได้รับจาก Nagios มี 4 ค่า คือ 0 (OK) , 1 (WARNING) , 2 (CRITICAL) , 3 (UNKNOWN)
· กรณีของสถานะ UNKNOWN สาเหตุจะมาจากการ config ค่าผิด ดังนั้นถ้า Nagios คืนค่านี้มา ผู้ดูแลระบบควรทำการตรวจสอบค่า configuration อีกครั้ง
· กรณีของสถานะ WARNING มีค่าเท่ากับ DOWN คือ Host มีสถานะdown
· กรณีของสถานะ CRITICAL มีค่าเท่ากับ UNREACHABLE คือไม่สามารถเข้าถึง Host ได้ แต่ยังไม่สามารถสรุปได้ว่า Host Down เนื่องจากตรวจสอบพบว่า Parent Down อยู่
กรณีที่มีการเปลี่ยนแปลงเกิดขึ้น Nagios จะไม่สรุปผลในทันที แต่จะแยกสถานะการตรวจสอบเป็น 2 ประเภทย่อยก่อน แล้วจึงสรุปผลภายหลัง
1. Soft State
2. Hard State

Configuration File เป็นดังนี้
define service{

host_name proxy

service_description DNS

...

normal_check_interval 5

retry_check_interval 1

max_check_attempts 5

...

}
ตัวอย่างเช่น








ในการตรวจสอบนั้นถ้าสถานะเป็น OK สถานะในการตรวจสอบย่อยจะเป็น HARD และจะมีระยะเวลาในการตรวจสอบตามค่า normal_check_interval แต่จากภาพจะเห็นว่าการเปลี่ยนแปลงเป็น CRITICAL นาทีที่ 10 เป็นครั้งแรก เพราะฉะนั้นสถานะย่อยจึงเปลี่ยนเป็น SOFT และระยะเวลาในการตรวจสอบตามค่า retry_check_interval โดยจะทำการตรวจสอบเป็นจำนวนครั้งตามค่า max_check_attempts จากรูปเมื่อถึงค่าที่กำหนดแล้วยังอยู่ที่ CRITICAL อยู่ สถานะย่อยจะเปลี่ยนเป็น HARD และระยะเวลาในการตรวจสอบจะเปลี่ยนเป็นค่า normal_check_interval และสุดท้ายในนาทีที่ 20 มีการเปลี่ยนสถานะเป็น OK ก็จะกลับมาอยู่ในสถานะย่อย HARD
เป็นไงบ้างครับ อ่านแล้วดูดี มีความรู้ความเข้าใจ Nagios มากขึ้น

แหล่งที่มา :
· James Turnbull, Pro Nagios 2.0 สำนักพิมพ์ Apress the expert’s voice
· Wolfgang Barth, Nagios System and Network Monitoring สำนักพิมพ์ opensource PRESS

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

แสดงความคิดเห็น