Nagios là gì
Nagios là phần mềm mã nguồn mở, một công cụ mạnh mẽ cung cấp cho bạn những thay đổi tức thời về cơ sở hạ tầng IT quan trọng của bạn. Nagios cho phép bạn giám sát, phát hiện và sửa chữa, giảm thiểu các vấn đề trong tương lai trước khi chúng ảnh hưởng đến người dùng cuối và khách hàng.
Với Nagios ta có thể :
- Giám sát tài nguyên máy chủ (Memory usage , CPU load , Disk usage, Logged in users, Running processes, etc.)
- Giám sát các dịch vụ mạng (HTTP, FTP, SSH, SMTP, etc.)
- Phát hiện vấn đề trước khi chúng xảy ra
- Được thông báo ngay khi sảy ra vấn đề
- Phát hiện các lỗ hổng bảo mật
- Lên kế hoạch nâng cấp hệ thống trước khi hệ thống cũ sập
- Plugin thiết kế đơn giản cho phép người dùng phát triển dịch vụ kiểm tra riêng tùy họ lựa chọn ( kịch bản Shell, C++, Perl, Ruby, Python, PHP, C#… )
Nagios hoạt động như thế nào
Có nhiều cách để theo dõi máy chủ từ xa (Remote Host), một số gây ra việc tải cao trên máy chủ theo dõi (Monitoring Host) nếu bạn theo dõi hàng trăm hoặc hàng nghìn dịch vụ do tài nguyên của việc đóng mở kết nối SSH (check_by_ssh) là nguyên nhân. Có cách để tránh việc đó là sử dụng addon NRPE. NRPE cho phép bạn thực thi các plugin (ex : check_memory, check_cpu, check_disk, etc.) ngay trên các remote host.
Các addon NRPE gồm 2 phần :
- Check_nrpe plugin nằm trên monitoring host.
- Các daemon NRPE chạy trên remote host.
Nagios khi theo dõi tài nguyên của remote host:
- Nagios sẽ thực thi check_nrpe plugin và nói cho nó biết dịch vụ nào cần được kiểm tra.
- Check_nrpe plugin liên lạc với NRPE daemon trên remote host qua một SSL (tùy chọn).
- NRPE daemon sẽ thực thi các Nagios plugin (được cài đặt trên remote host) cho dịch vụ cần kiểm tra.
- Các kết quả sẽ thông qua từ NRPE daemon tới với check_nrpe plugin trả về cho Monitoring host.
Cài đặt trên Remote Host (CentOS 6)
Bước 1 :Điều kiện cần để cài đặt
- SSL headers và libraries :
yum install gcc glibc glibc-common openssl*
- Tạo user nagios :
useradd -m nagios && passwd nagios
Bước 2: Cài đặt Nagios plugin
- Download Nagios plugin:
wget http://www.nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
- Install Nagios plugin :
tar xzf nagios-plugins-2.1.1.tar.gz
cd nagios-plugins-2.1.1
./configure
make
make install
- Cấp quyền cho Nagios user:
chown nagios.nagios /usr/local/nagios chown -R nagios.nagios /usr/local/nagios/libexec
Bước 3 :Cài đặt xinetd
yum install xinetd
Bước 4: Cài đặt NRPE daemon
- Download NRPE :
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
- Install NRPE :
tar xzf nrpe-3.2.1.tar.gz
cd nrpe-nrpe-3.2.1
./configure --with-nrpe-user=nagios --with-nrpe-group=nagios
make all make install make install-config make install-inetd make install-init
Bước 5 : Cấu hình NRPE
vi /etc/xinetd.d/nrpe
Cấu hình như bên dưới:
# default: on # description: NRPE (Nagios Remote Plugin Executor) service nrpe { disable = no socket_type = stream port = 5666 wait = no user = nagios group = nagios server = /usr/local/nagios/bin/nrpe server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd only_from = 127.0.0.1 <ip of Nagios server> log_on_success = }
Thêm NRPE port vào /etc/services
echo "nrpe 5666/tcp">>/etc/services
Một số plugin cần dùng, tải về trong thư mục /usr/local/nagios/libexec
- Check disk I/O :
https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=2778&cf_id=24
- Check network I/O :
wget https://raw.githubusercontent.com/itlabvn/share/master/check_bandwidth.sh
- Check memory :
wget https://raw.githubusercontent.com/itlabvn/share/master/check_mem.pl
Cấp quyền thực thi cho các plugin vừa tải
chmod +x check_bandwidth.sh check_mem.pl check_linux_stats.pl chown nagios:nagios check_bandwidth.sh check_mem.pl check_linux_stats.pl
Thêm command vào /usr/local/Nagios/etc/nrpe.cfg
vim /usr/local/Nagios/etc/nrpe.cfg
command[check_bandwith_eth0]=/usr/local/nagios/libexec/check_bandwidth.sh localhost linux eth0 5 80 90 100 command[check_memory]=/usr/local/nagios/libexec/check_mem.pl -w 10 -c 5 -f command[check_service_http]=/usr/local/nagios/libexec/check_http -H 127.0.0.1 -p 80 -w 10 -c 15 command[check_linux_io]=/usr/local/nagios/libexec/check_linux_stats.pl -I -w 2000,600 -c 3000,800 -p sda1,sda3,sda4 -s
Bước 6 : Và cuối cùng là restart xinetd service
service xinetd restart
Kiểm tra xem NRPE daemon đã được cài đặt và cấu hình thành công hay chưa, nếu trả về version NRPE thì đã thành công
/usr/local/nagios/libexec/check_nrpe -H localhost
Nếu timeout hoặc connection refused thì kiểm tra lại firewall, cho phép truy cập tới NRPE port(5666)
iptables -I RH-Firewall-1-INPUT -p tcp -m tcp –dport 5666 -j ACCEPT
service iptables save