红联Linux门户
Linux帮助

CentOS安装Nagios+NRPE

发布时间:2015-04-10 09:50:39来源:linux网站作者:zhangxz

Linux下有2大监控神器cacti+nagios,下面我把我自己搭建nagios的步骤记录下来,以便以后需要的时候看。


首先安装依赖包
#yum install -y httpd mysql mysql-devel mysql-server php php-mysql gcc gcc-c++ gblic gblic-devel gd gd-devel openssl-devel
添加nagios用户,用户组
#groupadd nagcmd
#useradd nagios
#usermod -a -G nagcmd nagios
#usermod -a -G nagcmd daemon(http的user)


下载nagios安装包,解压
开始编译
#./configure --prefix=/etc/nagios \
>--with-nagios-user=nagios \
>--with-nagios-group=nagios \
>--enable-event-broker
#make all
#make install
#make install-init
#make install-commandmode
#make install-config
#make install-webconf(编译安装的httpd会出现错误)


安装nagios-plugins
#./configure --with-nagios-user=nagios \
>--with-nagios-group=nagios \
>--with-mysql=/path/to/mysql(监控mysql必须添加此选项)
#make && make install


下面开始安装nrpe
首先确定开发环境
#yum grouplist
确定有Development tools和Development Libraries
如果没有就安装
#yum groupinstall -y "Development tools" "Development Libraries"
开始安装nrpe
#./configure --with-nagios-user=nagios \
>--with-nagios-group=nagios \
>--with-nrpe-user=nagios \
>--with-nrpe-group=nagios \
>--enable-command-args \
>--enable-ssl
#make all
#make install-plugin
服务器端不需要开始nrpe服务


下面开始配置客户端
nrpe依赖于nagios-plugins,首先安装nagios-plugins
#./configure --with-nagios-user=nagios \
>--with-nagios-group=nagios \
>--with-mysql=/path/to/mysql(监控mysql必须添加此选项)
#make && make instal


下面开始安装nrpe
#./configure --with-nagios-user=nagios \
>--with-nagios-group=nagios \
>--with-nrpe-user=nagios \
>--with-nrpe-group=nagios \
>--enable-command-args \
>--enable-ssl
#make all
#make install-plugin
#make install-daemon(安装守护进程)
#make install-daemon-config(安装守护进程配置文件)


修改nrpe.cfg文件
找到allowed_hosts添加你的服务器的IP

启动nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
下面就可以在服务器端定义主机,定义命令开始监控
定义命令
define command{
command_name        check_nrpe
command_line          $USER1$/check_nrpe -H  $HOSTADDRESS$  -c $ARG1$(-c表示在远程执行命令)
}
定义主机
define host {
use                            linux-server
host_name                webserver
alias                          web-server
address                      192.168.0.4
}
定义服务
define service {
use                            linux-service
host_name                  webserver
service_description    PING
check_command        check_nrpe!check_ping
}
想要监控什么就在客户端上定义命令,在服务器上填写检测内容就可以了


下面附上nrpe的启动脚本
#!/bin/sh
#
# Source function library
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/functions ]; then
. /etc/rc.d/functions
fi
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
NrpeBin=/usr/local/nagios/bin/nrpe
NrpeCfg=/usr/local/nagios/etc/nrpe.cfg
LockFile=/var/lock/subsys/nrpe
# See how we were called.
case "$1" in
start)
# Start daemons.
echo -n "Starting nrpe: "
daemon $NrpeBin -c $NrpeCfg -d
echo
touch $LockFile
;;
stop)
# Stop daemons.
echo -n "Shutting down nrpe: "
killproc nrpe
echo
rm -f $LockFile
;;
restart)
$0 stop
$0 start
;;
status)
status nrpe
;;
*)
echo "Usage: nrpe {start|stop|restart|status}"
exit 1
esac
exit 0