1. 程式人生 > >監控遠程主機的私有數據

監控遠程主機的私有數據

object 本機 內存信息 glibc fin 數據監控 make ping通 lin

案例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

監控遠程主機的私有數據