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