Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

การติดตามโฮสต์ Linux ระยะไกลด้วย Nagios 3.0: คำแนะนำทีละขั้นตอน

การติดตามโฮสต์ Linux ระยะไกลด้วย Nagios 3.0: คำแนะนำทีละขั้นตอน

ในโพสต์ก่อนหน้า Nagios 3.0 Jumpstart guide ผมอธิบายภาพรวม การติดตั้ง และการกำหนดค่า Nagios 3.0 บนเซิร์ฟเวอร์ Red Hat ในสามบทต่อไป ผมจะอธิบายวิธีติดตามโฮสต์ Linux ระยะไกล และบริการต่างๆ ที่รันบนโฮสต์ระยะไกล นอกจากนี้ โปรดดูบทความ Nagios ทั้งหมดของเรา

I. ภาพรวม

II. 6 ขั้นตอนติดตั้ง Nagios plugin และ NRPE บนโฮสต์ระยะไกล

  1. ดาวน์โหลด Nagios Plugins และ NRPE Add-on
  2. สร้างบัญชี nagios
  3. ติดตั้ง Nagios Plugins
  4. ติดตั้ง NRPE
  5. ตั้งค่า NRPE ให้รันเป็น daemon
  6. แก้ไข /usr/local/nagios/etc/nrpe.cfg

III. 4 ขั้นตอนกำหนดค่าบนเซิร์ฟเวอร์ติดตาม Nagios เพื่อติดตามโฮสต์ระยะไกล:

  1. ดาวน์โหลด NRPE Add-on
  2. ติดตั้ง check_nrpe
  3. สร้างการกำหนดค่าโฮสต์และบริการสำหรับโฮสต์ระยะไกล
  4. รีสตาร์ทบริการ nagios

I. ภาพรวม:

.

สามขั้นตอนต่อไปนี้จะเกิดขึ้นในระดับสูง เมื่อ Nagios (ติดตั้งบน nagios-server) ติดตามบริการ (เช่น การใช้พื้นที่ดิสก์) บนโฮสต์ Linux ระยะไกล

  1. Nagios จะรันคำสั่ง check_nrpe บน nagios-server และขอให้ติดตามการใช้ดิสก์บนโฮสต์ระยะไกลด้วยคำสั่ง check_disk
  2. check_nrpe บน nagios-server จะติดต่อ NRPE daemon บนโฮสต์ระยะไกล และขอให้รัน check_disk บนโฮสต์ระยะไกล
  3. ผลลัพธ์ของคำสั่ง 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 ที่ดีที่สุด

การติดตามโฮสต์ Linux ระยะไกลด้วย Nagios 3.0: คำแนะนำทีละขั้นตอน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