之前给讲过了nagios的安装配置,以及如何监控公共服务,现在在继续讲解如何监控私有服务,什么是私有服务呢,说直白点就是机器的disk,load,users,usage等,就是现实机器本身状态的这些服务,称作私有服务。
准备工作:需要子啊服务端和被监控端安装nrpe。
一、服务端配置
1) wget
tar -xf nrpe-2.12.tar.gz -C /usr/src
cd /usr/src/nrpe-2.12
./configure --这一步没有出现error才能继续下面的步骤,如果出错自行百度。
make && make install
安装完之后就会出现下面的脚本
/usr/local/nagios/libexec/check_nrpe
2)增加check_nrpe命令道commands.cfg模板
# vim /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ --c参数后接command, 也就说check_nrpe可以调用别的check命令
}
3)在nagios服务器上对125的配置文件增加远程私有服务 --只取一个作为范例。
# vim 125.cfg
define service{
use local-service
host_name 192.168.1.125
service_description Root Partition
check_command check_nrpe!check_remote_root
--check_remote_root就是check_nrpe的C参数要调用的命令,此命令在nagios服务器上的commands.cfg里是不存在,它会在后面的步骤中加到被监控端
}
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
--检查一下配置文件正确性,OK的话则配置端配置完毕,先不reload nagios服务,等被监控端配置完后再reload
二、客户端配置
1,新建用户
# useradd nagios
# groupadd nagiosgroup
# usermod -G nagiosgroup nagios
2,安装plugins插件,包含了数据采集命令脚本
# tar xf nagios-plugins-1.4.16.tar.gz -C /usr/src/
# cd /usr/src/nagios-plugins-1.4.16/
# ./configure --with-nagios-user=nagios --with-nagios-group=nagiosgroup
# make && make install
3,安装nrpe
# tar xf nrpe-2.12.tar.gz -C /usr/src/
# cd /usr/src/nrpe-2.12/
# ./configure && make && make install
# make install-plugin
# make install-daemon
# make install-daemon-config
# make install-xinetd
4,修改nrpe的超级守护进程的配置文件 --如果没有目录,没有需要安装xinetd
# vim /etc/xinetd.d/nrpe
service nrpe
{
flags = REUSE
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
log_on_failure += USERID
disable = no
only_from = 127.0.0.1 192.168.1.124--加上nagios服务器的IP,允许它来访问
}
# vim /etc/services--最后面加一行
nrpe 5666/tcp # NRPE
5,在nrpe配置文件里定义check命令,使nagios服务能调用
# vim /usr/local/nagios/etc/nrpe.cfg
command[check_remote_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_remote_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_remote_root]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2 --/dev/sda2是被监控端的根分区,也可以直接就写一个 / 就可以了
command[check_remote_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_remote_swap]=/usr/local/nagios/libexec/check_swap -w 80%% -c 60%% --这句默认没有的,但nagios服务器有配置,所以加上这句
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z--这个是默认有的,但nagios服务器那边我没有加,所以这个在这里没有用
# /etc/init.d/xinetd restart--启动超级守护进程
# netstat -ntlup |grep 5666--有端口被监听了
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 22120/xinetd
6,在本地或nagios服务器测试 --在被监控端测试成功
# /usr/local/nagios/libexec/check_users -w 5 -c 10
USERS OK - 3 users currently logged in |users=3;5;10;0
--在nagios服务器上测试成功
# /usr/local/nagios/libexec/check_nrpe -H 192.198.1.125 -c check_remote_users
USERS OK - 3 users currently logged in |users=3;5;10;0
至此客户端的安装配置完毕。
7,回到nagios服务器重启服务
# /etc/init.d/nagios restar
每个人的机器都有所不同,我这边的只是用作参考,不对之处还请各位看官指正。