監控遠程主機的私有數據
案例1:監控遠程主機的公有數據
案例2:監控遠程主機的私有數據
1 案例1:監控遠程主機的公有數據
1.1 問題
本案例要求在Nagios平臺上添加對遠程主機pc207的監控,主要包括下列服務:
ping連通狀態
Web服務
FTP服務
SSH服務
1.2 步驟
實現此案例需要按照如下步驟進行。
步驟一:準備被監控主機pc207
1)正確配置IP地址,確保與主機svr7可相互ping通
[root@pc207 ~]# ping 192.168.4.7 PING 192.168.4.7 (192.168.4.7) 56(84) bytes of data. 64 bytes from 192.168.4.7: icmp_seq=1 ttl=64 time=0.621 ms 64 bytes from 192.168.4.7: icmp_seq=2 ttl=64 time=0.427 ms .. ..
2)確保已啟用httpd、vsftpd、sshd服務,並關閉防火墻服務firewalld
[root@pc207 ~]# yum -y install httpd vsftpd
.. ..
[root@pc207 ~]# systemctl restart httpd vsftpd sshd
[root@pc207 ~]# systemctl disable firewalld --now
步驟二:配置監控服務器svr7
1)新建監控配置pc207.cfg,定義監控目標(主機、服務)
[root@svr7 ~]# vim /usr/local/nagios/etc/objects/pc207.cfg define host { use linux-server host_name pc207 address 172.25.0.10 } define service { use local-service host_name pc207 service_description PING check_command check_ping!100.0,20%!500.0,60% } define service { use local-service host_name pc207 service_description Web Server check_command check_http } define service { use local-service host_name pc207 service_description FTP Server check_command check_ftp } define service { use local-service host_name pc207 service_description SSH Server check_command check_ssh }
2)調整nagios.cfg,啟用pc207.cfg監控配置
[root@svr7 ~]# vim /usr/local/nagios/etc/nagios.cfg
.. ..
cfg_file=/usr/local/nagios/etc/objects/pc207.cfg
3)重啟nagios服務
[root@svr7 ~]# systemctl restart nagios
步驟三:刷新Nagios管理界面,確認新增主機pc207的監控結果
1)確認Hosts下新增的主機,如圖-2所示
圖-2
2)確認Services下新增的服務信息,如圖-3所示
圖-3
2 案例2:監控遠程主機的私有數據
2.1 問題
本案例要求在Nagios服務器上添加對遠程主機pc207上私有數據的監控,完成以下監控項目:
運行的進程數
登錄的用戶數
CPU負載
根分區使用量
2.2 方案
Linux主機的內存信息、磁盤I/O信息等私有數據默認不對外提供,若希望從Nagios監控平臺獲取遠程主機的私有數據,需要在被監控主機上配置啟用nrpe服務。
主要工作結構:Nagios監控端(check_nrpe插件) ==> 被監控端(nrpe服務),如圖-4所示。
圖-4
2.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:準備被監控主機pc207
1)安裝nagios-plugins插件
[root@pc207 ~]# yum -y install gcc glibc glibc-common
[root@pc207 ~]# groupadd nagcmd
[root@pc207 ~]# useradd -G nagcmd nagios
[root@pc207 ~]# tar xf ~/nagios-plugins-2.1.4.tar.gz -C /usr/src/
[root@pc207 ~]# cd /usr/src/nagios-plugins-2.1.4/
[root@pc207 nagios-plugins-2.1.4]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
[root@pc207 nagios-plugins-2.1.4]# make
[root@pc207 nagios-plugins-2.1.4]# make install
2)安裝nrpe
[root@pc207 ~]# yum -y install openssl-devel //安裝SSL頭文件
[root@pc207 ~]# tar xf nrpe-3.1.0.tar.gz -C /usr/src/
[root@pc207 ~]# cd /usr/src/nrpe-3.1.0/
[root@pc207 nrpe-3.1.0]# ./configure
[root@pc207 nrpe-3.1.0]# make all //編譯所有
[root@pc207 nrpe-3.1.0]# make install //安裝nrpe及插件
[root@pc207 nrpe-3.1.0]# make install-init //安裝服務
[root@pc207 nrpe-3.1.0]# make install-config //安裝配置文件
3)定義nrpe監控命令
[root@pc207 ~]# vim /usr/local/nagios/etc/nrpe.cfg
.. ..
allowed_hosts=172.25.0.0/24,127.0.0.1,::1 //允許哪些主機
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
command[check_rootdir]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
4)啟用nrpe服務並測試
[root@pc207 ~]# systemctl restart nrpe
[root@pc207 ~]# systemctl enable nrpe
.. ..
[root@pc207 ~]# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v3.1.0-rc1 //測試連本機nrpe服務
步驟二:配置Nagios監控服務器
1)為Nagios安裝check_nrpe插件
[root@svr7 ~]# yum -y install openssl-devel
[root@svr7 ~]# tar xf nrpe-3.1.0.tar.gz -C /usr/src/
[root@svr7 ~]# cd /usr/src/nrpe-3.1.0/
[root@svr7 nrpe-3.1.0]# ./configure
[root@svr7 nrpe-3.1.0]# make all //編譯所有
[root@svr7 nrpe-3.1.0]# make install-plugin //安裝check_nrpe插件
2)測試連遠程的nrpe服務,並添加遠程nrpe監控指令
[root@svr7 ~]# /usr/local/nagios/libexec/check_nrpe -H 172.25.0.10
NRPE v3.1.0-rc1 //測試連遠程 的nrpe服務
[root@svr7 ~]# vim /usr/local/nagios/etc/objects/commands.cfg
.. ..
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
//-c 要求對方執行的命令
}
3)修改監控目標配置pc207.cfg,添加對遠程主機pc207私有數據的獲取
[root@svr7 ~]# vim /usr/local/nagios/etc/objects/pc207.cfg
.. ..
define service {
use local-service
host_name pc207
service_description NRPE-Total Procs
check_command check_nrpe!check_total_procs
}
define service {
use local-service
host_name pc207
service_description NRPE-Users
check_command check_nrpe!check_users
}
步驟三:刷新Nagios管理界面,確認主機pc207的私有數據監控結果
確認pc207主機及服務監控結果,如圖-5所示。
圖-5
監控遠程主機的私有數據