
ในโพสต์ก่อนหน้า Nagios 3.0 Jumpstart guide ผมอธิบายภาพรวม การติดตั้ง และการกำหนดค่า Nagios 3.0 บนเซิร์ฟเวอร์ Red Hat ในสามบทต่อไป ผมจะอธิบายวิธีติดตามโฮสต์ Linux ระยะไกล และบริการต่างๆ ที่รันบนโฮสต์ระยะไกล นอกจากนี้ โปรดดูบทความ Nagios ทั้งหมดของเรา
I. ภาพรวม
II. 6 ขั้นตอนติดตั้ง Nagios plugin และ NRPE บนโฮสต์ระยะไกล
- ดาวน์โหลด Nagios Plugins และ NRPE Add-on
- สร้างบัญชี nagios
- ติดตั้ง Nagios Plugins
- ติดตั้ง NRPE
- ตั้งค่า NRPE ให้รันเป็น daemon
- แก้ไข /usr/local/nagios/etc/nrpe.cfg
III. 4 ขั้นตอนกำหนดค่าบนเซิร์ฟเวอร์ติดตาม Nagios เพื่อติดตามโฮสต์ระยะไกล:
- ดาวน์โหลด NRPE Add-on
- ติดตั้ง check_nrpe
- สร้างการกำหนดค่าโฮสต์และบริการสำหรับโฮสต์ระยะไกล
- รีสตาร์ทบริการ nagios
I. ภาพรวม:
.
สามขั้นตอนต่อไปนี้จะเกิดขึ้นในระดับสูง เมื่อ Nagios (ติดตั้งบน nagios-server) ติดตามบริการ (เช่น การใช้พื้นที่ดิสก์) บนโฮสต์ Linux ระยะไกล
- Nagios จะรันคำสั่ง check_nrpe บน nagios-server และขอให้ติดตามการใช้ดิสก์บนโฮสต์ระยะไกลด้วยคำสั่ง check_disk
- check_nrpe บน nagios-server จะติดต่อ NRPE daemon บนโฮสต์ระยะไกล และขอให้รัน check_disk บนโฮสต์ระยะไกล
- ผลลัพธ์ของคำสั่ง check_disk จะถูกส่งคืนโดย NRPE daemon ไปยัง check_nrpe บน nagios-server
โฟลว์ต่อไปนี้สรุปคำอธิบายข้างต้น:
Nagios Server (check_nrpe) —–> Remote host (NRPE daemon) —–> check_disk
Nagios Server (check_nrpe) <—– Remote host (NRPE daemon) <—– check_disk (ส่งคืนการใช้พื้นที่ดิสก์)
II. 7 ขั้นตอนติดตั้ง Nagios Plugins และ NRPE บนโฮสต์ระยะไกล
.
1. ดาวน์โหลด Nagios Plugins และ NRPE Add-on
ดาวน์โหลดไฟล์ต่อไปนี้จาก Nagios.org และย้ายไปที่ /home/downloads:
- nagios-plugins-1.4.11.tar.gz
- nrpe-2.12.tar.gz
2. สร้างบัญชี nagios
[remotehost]# useradd nagios [remotehost]# passwd nagios
3. ติดตั้ง nagios-plugin
[remotehost]# cd /home/downloads [remotehost]# tar xvfz nagios-plugins-1.4.11.tar.gz [remotehost]# cd nagios-plugins-1.4.11 [remotehost]# export LDFLAGS=-ldl [remotehost]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround [remotehost]# make [remotehost]# make install [remotehost]# chown nagios.nagios /usr/local/nagios [remotehost]# chown -R nagios.nagios /usr/local/nagios/libexec/
หมายเหตุ: บน Red Hat สำหรับผมคำสั่ง ./configure ค้างกับข้อความ: “checking for redhat spopen problem…” เพิ่ม --enable-redhat-pthread-workaround ในคำสั่ง ./configure เพื่อแก้ปัญหาดังกล่าว
4. ติดตั้ง NRPE
[remotehost]# cd /home/downloads [remotehost]# tar xvfz nrpe-2.12.tar.gz [remotehost]# cd nrpe-2.12 [remotehost]# ./configure [remotehost]# make all [remotehost]# make install-plugin [remotehost]# make install-daemon [remotehost]# make install-daemon-config [remotehost]# make install-xinetd
5. ตั้งค่า NRPE ให้รันเป็น daemon (เช่น ส่วนหนึ่งของ xinetd):
- แก้ไข /etc/xinetd.d/nrpe เพื่อเพิ่ม IP address ของเซิร์ฟเวอร์ติดตาม Nagios ในคำสั่ง only_from โปรดทราบว่ามีช่องว่างหลัง 127.0.0.1 และ IP address ของเซิร์ฟเวอร์ติดตาม Nagios (ในตัวอย่าง IP คือ 192.168.1.2)
only_from = 127.0.0.1 192.168.1.2
- แก้ไข /etc/services และเพิ่มต่อไปนี้ท้ายไฟล์
nrpe 5666/tcp # NRPE
- เริ่มบริการ
[remotehost]# service xinetd restart
- ตรวจสอบว่า NRPE กำลังฟัง
[remotehost]# netstat -at | grep nrpe tcp 0 0 *:nrpe *:* LISTEN
- ตรวจสอบให้แน่ใจว่า NRPE ทำงานถูกต้อง
[remotehost]# /usr/local/nagios/libexec/check_nrpe -H localhost NRPE v2.12
6. แก้ไข /usr/local/nagios/etc/nrpe.cfg
ไฟล์ nrpe.cfg ที่อยู่บนโฮสต์ระยะไกล มีคำสั่งที่ต้องการตรวจสอบบริการบนโฮสต์ระยะไกล โดยค่าเริ่มต้น nrpe.cfg มาพร้อมคำสั่งตรวจสอบมาตรฐานบางอย่างเป็นตัวอย่าง check_users และ check_load แสดงด้านล่าง
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
ในคำสั่งตรวจสอบทั้งหมด "-w" ย่อมาจาก "Warning" และ "-c" ย่อมาจาก "Critical" เช่น ในคำสั่ง check_disk ด้านล่าง หากพื้นที่ดิสก์ว่างเหลือ 20% หรือน้อยกว่า nagios จะส่งข้อความเตือน หากเหลือ 10% หรือน้อยกว่า จะส่งข้อความสำคัญ เปลี่ยนค่า "-c" และ "-w" ตามสภาพแวดล้อมของคุณ
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
หมายเหตุ: คุณสามารถรันคำสั่งใดๆ ที่แสดงใน nrpe.cfg บนบรรทัดคำสั่งบนโฮสต์ระยะไกล และดูผลลัพธ์ด้วยตัวเอง เช่น เมื่อผมรันคำสั่ง check_disk บนบรรทัดคำสั่ง แสดงผลดังนี้
[remotehost]#/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1 DISK CRITICAL - free space: / 6420 MB (10% inode=98%);| /=55032MB;51792;58266;0;64741
ในตัวอย่างข้างต้น เนื่องจากพื้นที่ดิสก์ว่างบน /dev/hda1 มีเพียง 10% จึงแสดงข้อความ CRITICAL ซึ่งจะส่งคืนไปยัง nagios server
III. 4 ขั้นตอนกำหนดค่าบนเซิร์ฟเวอร์ติดตาม Nagios เพื่อติดตามโฮสต์ระยะไกล:
.
1. ดาวน์โหลด NRPE Add-on
ดาวน์โหลด nrpe-2.12.tar.gz จาก Nagios.org และย้ายไปที่ /home/downloads:
2. ติดตั้ง check_nrpe บนเซิร์ฟเวอร์ติดตาม Nagios
[nagios-server]# tar xvfz nrpe-2.12.tar.gz [nagios-server]# cd nrpe-2.1.2 [nagios-server]# ./configure [nagios-server]# make all [nagios-server]# make install-plugin ./configure จะให้สรุปการกำหนดค่าตามด้านล่าง: *** Configuration summary for nrpe 2.12 05-31-2008 ***: General Options: ------------------- NRPE port: 5666 NRPE user: nagios NRPE group: nagios Nagios user: nagios Nagios group: nagios
หมายเหตุ: ผมได้ข้อความผิดพลาด “checking for SSL headers… configure: error: Cannot find ssl headers” ขณะทำ ./configure ติดตั้ง openssl-devel ตามด้านล่างและรัน ./configure อีกครั้งเพื่อแก้ปัญหา
[nagios-server]# rpm -ivh openssl-devel-0.9.7a-43.16.i386.rpm krb5-devel-1.3.4-47.i386.rpm zlib-devel-1.2.1.2-1.2.i386.rpm e2fsprogs-devel-1.35-12.5.el4.i386.rpm warning: openssl-devel-0.9.7a-43.16.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing… ########################################### [100%] 1:e2fsprogs-devel ########################################### [ 25%] 2:krb5-devel ########################################### [ 50%] 3:zlib-devel ########################################### [ 75%] 4:openssl-devel ########################################### [100%]
ตรวจสอบว่าเซิร์ฟเวอร์ติดตาม Nagios สามารถติดต่อโฮสต์ระยะไกลได้
[nagios-server]#/usr/local/nagios/libexec/check_nrpe -H 192.168.1.3 NRPE v2.12
หมายเหตุ: 192.168.1.3 คือ IP address ของโฮสต์ระยะไกลที่ติดตั้ง NRPE และ nagios plugin ตามที่อธิบายในส่วน II ข้างต้น
3. สร้างการกำหนดค่าโฮสต์และบริการสำหรับ remotehost
สร้างไฟล์กำหนดค่าใหม่ /usr/local/nagios/etc/objects/remotehost.cfg เพื่อกำหนดโฮสต์และบริการสำหรับ remotehost นี้ มักจะดีที่สุดที่จะนำ localhost.cfg มาคัดลอกเป็น remotehost.cfg และเริ่มแก้ไขตามความต้องการ
ตัวอย่างการกำหนดค่าโฮสต์:
define host{
use linux-server
host_name remotehost
alias Remote Host
address 192.168.1.3
contact_groups admins
}
ตัวอย่างการกำหนดค่าบริการ:
define service{
use generic-service
service_description Root Partition
contact_groups admins
check_command check_nrpe!check_disk
}
หมายเหตุ: ในตัวอย่างทั้งหมดข้างต้น แทนที่ remotehost ด้วย hostname ที่ตรงกันของโฮสต์ระยะไกลของคุณ
4. รีสตาร์ทบริการ nagios
รีสตาร์ท nagios ตามด้านล่าง และล็อกอินเข้า Nagios web (https://nagios-server/nagios/) เพื่อตรวจสอบสถานะของเซิร์ฟเวอร์ Linux ระยะไกลที่เพิ่มเข้า Nagios สำหรับการติดตาม
[nagios-server]# service nagios reload
หนังสือ Nagios ที่ดีที่สุด
Nagios Core 3 eBook – ผมใช้ Nagios มาหลายปี และนอนหลับสบายใจรู้ว่า Nagios ติดตามระบบทั้งหมดของผมและจะเตือนปัญหาที่อาจเกิดขึ้น ก่อนที่จะวิกฤต ผมแนะนำอย่างยิ่งให้อ่าน Nagios Core 3 ebook เพื่อความเข้าใจลึกซึ้งเกี่ยวกับ Nagios เนื่องจาก Nagios เป็นซอฟต์แวร์ฟรี การลงทุนไม่กี่ดอลลาร์ในหนังสืออาจเป็นการลงทุนที่ดีที่สุดที่คุณทำได้
บทความ Nagios ที่น่าสนใจ
ต่อไปนี้คือบทความ Nagios ที่น่าสนใจซึ่งคุณอาจพบว่ามีประโยชน์
- How To Monitor Network Switch and Ports Using Nagios
- How To Monitor Remote Windows Machine Using Nagios on Linux
- Nagios 3 Jumpstart Guide For Linux – Overview, Installation and Configuration