การติดตั้งระบบเฝ้าระวังเครือข่ายด้วย Nagios

การติดตั้งระบบเฝ้าระวังเครือข่ายด้วย Nagios

Nagios เป็นโปแกรมใช้ในการเฝ้าระวังระบบเครือข่ายในองค์กร (Network Monitoring) มีลิขสิทธิ์แบบโอเพ่นซอร์สามารถนำไปติดตั้งใช้งานได้ฟรี

ความสามารถ
1. ใช้ตรวจสอบการทำงานของเซอร์วิสบนเคือข่าย เช่น SMTP, POP3, HTTP, NNTP, ICMP, SNMP, FTP, SSH
2. ใช้ตรวจสอบการใช้งานทรัพยากร เช่น processor load, disk usage, system logs
3. สามารถตั้งระบบแจ้งเตือนก่อนการใช้งานทรัพยากรเต็มลิมิต หรือแจ้งเตือนการเปิด-ปิดบริการต่างๆ

*** LABs TEST **

Nagios server:
NOS : CentOS 6.5 minimal installation
IP Address : 192.168.1.10/24
Nagios client:
NOS : CentOS 6.5 minimal installation
IP Address : 192.168.1.83/24

ขั้นตอนการติดตั้ง Nagios
1. ติดตั้งแพ็กเกจ LAMP

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

2. ติดตั้งแพ็กเกจ LAMP และ แพ็กเกจเสริม
yum install -y httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp

3. ติดตั้งแพ็กเกจ Nagios
yum install -y nagios nagios-plugins-all nagios-plugins-nrpe nrpe
หรือ
yum -y install nagios*

4. แก้ไขไฟล์ contacts.cfg โดยเพิ่มอีเมล์ผู้ดูแลระบบลงไป
vi /etc/nagios/objects/contacts.cfg
[...]
email noc@sysadmin.in.th ;
[...]

5. แก้ไขไฟล์ nagios.conf โดยเพิ่มโซนไอพีแอดเดรสที่ต้องการให้เข้าใช้งาน
vi /etc/httpd/conf.d/nagios.conf
[...]

# SSLRequireSSL
Options ExecCGI
AllowOverride None
#----Comment line 15, 16
# Order allow,deny
# Allow from all
#----Uncoment line 17, 18, 19 พร้อมกำหนดไอพีที่จะให้เขาใช้งาน
Order deny,allow
Deny from all
Allow from 127.0.0.1 192.168.1.0/24
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios/passwd
Require valid-user

[...]

6. กำหนดรหัสในการเข้าควบคุมระบบ
htpasswd /etc/nagios/passwd nagiosadmin

New password: sysadmin
Re-type new password: sysadmin
Updating password for user nagiosadmin

7. เปิดบริการพร้อมกำหนดให้ทำงานตอนบู๊ตระบบ

service httpd start && service nagios start
chkconfig httpd on && chkconfig nagios on

8. ทดสอบเข้าใช้งาน
http://nagios-server-ip/nagios
เช่น
http://192.168.1.10/nagios/

ป้อนชื่อเรียกและรหัสผ่านเพื่อเข้าระบบ
Username: nagiosadmin
Password: sysadmin

9. แสดงหน้าต่างโปรแกรม Nagios

10. แก้ไขไฟล์ nagios.cfg โดยเพิ่ม Client ที่ต้องการ Monitor
# vi /etc/nagios/nagios.cfg
...
#-- Line 52 Uncomment
cfg_dir=/etc/nagios/servers

11. สร้างไดเร็กทอรี่เก็บข้อมูล
# mkdir /etc/nagios/servers

12. สร้างไฟล์ clients.cfg ในไดเร็กทอรี่ servers ดังนี้
# vi /etc/nagios/servers/clients.cfg
define host{
use linux-server
host_name client
alias client
address 192.168.1.83 (ไอพี client)
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}

13. ทำการรีสต๊าท Nagios Server
# service nagios restart

---------
การติดตั้งฝั่งเครื่อง Client หรือเครื่อง Server ที่ต้องการ Monitoring
1. ติดตั้งแพ็กเกจปลั๊กอินของ Nagios
- CentOS/RHEL/Scientifc Linux
# yum install -y nrpe nagios-plugins-all openssl

- Ubuntu, Debian
sudo apt-get install nagios-nrpe-server nagios-plugins

2. แก้ไขไฟล์ nrpe.cfg โดยระบุรายละเอียดไอพีของ Nagios Server ลงไป
vi /etc/nagios/nrpe.cfg
...
#-- Line 81
allowed_hosts=127.0.0.1 192.168.1.10
...

3. สั่งสต๊าท nrpe service
- CentOS/RHEL
service nrpe start && chkconfig nrpe on
- Ubuntu/Debian
/etc/init.d/nagios-nrpe-server restart

แหล่งข้อมูลศึกษาเพิ่มเติม
- http://www.nagios.org/
- http://en.wikipedia.org/wiki/Nagios

---
Write by Arnut Ruttanatirakul, Ph.D.
(c) http://www.sysadmin.in.th
January 08, 2015

Network Monitoring

Network Command

SysAdmin LINE

LINE ID: sys-ad-min-book