三、被监控机(linux)系统的安装配置
1、使用NRPE监控远程LINUX上的”本地信息”:
NRPE总共由两部分组成: check_nrpe 插件,位于在监控主机上
NRPE daemon 运行在远程的linux主机上(通常就是被监控机)
(整个的监控过程如下):
当nagios需要监控某个远程linux主机的服务或者资源情况时
(1)nagios主监控机会运行check_nrpe这个插件,告诉它要检查什么.
(2)check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL
(3)NRPE daemon会运行相应的nagios插件来执行检查
(4)NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理。
注意: NRPE daemon需要nagios插件安装在远程的linux主机上,否则daemon不能做任何的监控。
2、在被监控机上面建用户与安装nagion插件:
(1)增加用户、组与密码
[root@localhost ]# groupadd nagios (增加用户组)
[root@localhost ]# useradd nagios -g nagios (增加用户并加入组)
[root@localhost ]# passwd nagios (设置密码)
(2)解压与安装 (下载地址:http://www.nagios.org/download/plugins/)
[root@localhost ]# tar -zxvf nagios-plugins-1.4.15.tar.gz
[root@localhost ]# cd nagios-plugins-1.4.15
[root@localhost ]# ./configure (编译)
[root@localhost ]# make && make install (安装)
(3)修改目录权限
[root@localhost ]# chown nagios.nagios /usr/local/nagios
[root@localhost ]# chown -R nagios.nagios /usr/local/nagios/libexec
3、在被监控机上面安装nrpe插件:(下载地址:http://sourceforge.net/projects/nagios/files/)
[root@localhost ]# tar -zxvf nrpe-2.12.tar.gz
[root@localhost ]# cd nrpe-2.12
[root@localhost ]# ./configure (可以看到NRPE的端口是5666)
[root@localhost ]# make all
[root@localhost ]# make install-plugin (安装check_nrpe插件)
[root@localhost ]# make install-daemon (安装deamon)
[root@localhost ]# make install-daemon-config (安装daemon配置文件)
(1)设置开机加载nrpe服务
[root@localhost ]# make install-xinetd (安装nrpe到开机启动服务中)
[root@localhost ]# vim /etc/xinetd.d/nrpe (编辑开机启动文件)
- # default: on
- # description: NRPE (Nagios Remote Plugin Executor)
- 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.100 ;在后面增加的是监控主机的IP地址,以空格间隔。
- }
(2)添加到开机加载服务中
[root@localhost ]# vi /etc/services
- # Local services
- nrpe 5666/tcp # 增加nrpe的服务
[root@localhost ]# service xinetd restart (重启xinetd服务,加载新增的端口)
[root@localhost ]# /usr/local/nagios/libexec/check_nrpe -H localhost (检测是否安装成功,成功会返回nrpe的版本号)
(3)查看NRPE的监控命令:
[root@localhost ]# cd /usr/local/nagios/etc
[root@localhost ]# vim nrpe.cfg (去掉前面的注释号,才能开启监控)
- # The following examples use hardcoded command arguments...
- 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 ;检测CPU负载
- command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/hda1 ;检测磁盘容量
- command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z ;检测僵尸进程
- command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 ;检测总进程数
(使用check_load -w 15,10,5 -c 30,25,20这个命令“检测当前cpu的负载”的意义如下)
当1分钟多于15个进程等待, 5分钟多于10个进程, 15分钟多于5个进程则为warning状态
当1分钟多于30个进程等待, 5分钟多于25个进程, 15分钟多于20个进程则为critical状态
默认定义监控的内容是上面的五项,如果需要监控更多(如内存swap使用),可以自己增加进去,但请注意必须在/usr/local/nagios/libexec/这个目录下有check_swap的命令参数。
- command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
(上面是检测系统内存,当剩余20%时警告,10%严重警告)
四、在主监控机系统上配置NRPE插件
1、在主监控机上面安装check_nrpe插件:(下载地址:http://sourceforge.net/projects/nagios/files/)
[root@localhost ]# tar -zxvf nrpe-2.12.tar.gz
[root@localhost ]# cd nrpe-2.12.tar.gz
[root@localhost ]# ./configure (编译)
(注意:如果编译的时候如果报错“checking for SSL headers... configure: error: Cannot find ssl headers”) 原因是缺少openssl-devel包,执行 # yum -y install openssl-devel 问题解决!
[root@localhost ]# make all
[root@localhost ]# make install-plugin (安装check_nrpe插件)
2、在主监控机上测试到被监控机的通信是否正常:
[root@localhost ]# /usr/local/nagios/libexec/check_nrpe -H 192.168.0.100 (被监控机IP地址)
(如果双方之间的通信正常会返回nrpe版本信息)
3、在主监控机上commands.cfg命令参数增加对check_nrpe的定义:
[root@localhost ]# vi /usr/local/nagios/etc/objects/commands.cfg(在文件最后面增加下面的定义:)
- # 'check_nrpe ' command definition
- define command{
- command_name check_nrpe ;定义命令名称
- command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
- }
4、在主监控机上面增加定义被监控的“主机名称”和“服务项目”等:
[root@localhost ]# cd /usr/local/nagios/etc/objects/
[root@localhost ]# cp localhost.cfg linux.cfg
[root@localhost ]# chown nagios.nagios linux.cfg (注意要改变文件属主为nagios)
[root@localhost ]# vim linux.cfg (定义要监控的linux主机列表和服务)
- define host{ ;这里定义主机列表
- use linux-server
- host_name nfs-server
- alias nfs
- address 192.168.1.83
- }
- define hostgroup{ ;这里定义群组列表
- hostgroup_name remote-linux-servers
- alias Linux Servers
- members nfs-server
- }
- define service{ ;这里定义远端到被控机的服务和要加入此服务的群组名
- use local-service
- hostgroup_name remote-linux-server
- service_description http:80
- check_command check_http ;http服务可以通过远程访问的方法来检测,只需调用主控端check_http命令
- }
- define service{ ;这里定义被控机本地的服务和要加入此服务的主机名
- use local-service
- host_name nfs-server
- service_description Root Partition
- check_command check_nrpe!check_disk ;检查根分区的使用情况,要在被控机本地执行,需要调用远端的check_nrpe插件定义的命令。提示:check_nrpe后面跟的命令必须要与在被控机的nrpe.cfg参数的command[check_disk]中括号一样
- }
5、注意:新增的定义文件linux.cfg 要加入到主配置文件nagios.cfg中去加载
[root@localhost ]# vim /usr/local/nagios/etc/nagios.cfg
- cfg_file=/usr/local/nagios/etc/objects/linux.cfg
6、检测参数修改配置是否正确,并重新加载nagios.
[root@localhost ]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@localhost ]# service nagios reload