一、
环境:
IP:192.168.202.18(监控服务器)
IP:192.168.202.19(被监控服务器)
软件:
wget
wget
wget
yum -y install openssl-devel
监控服务器:
1. 安装nagios-3.2.1.tar.gz
useradd nagios
tar -zxvf nagios-3.2.1.tar.gz
cd nagios-3.2.1
./configure --prefix=/usr/local/nagios --with-gd-lib=/usr/local/lib --with-gd-inc=/usr/local/include --with-nagios-user=nagios --with-nagios-group=nagios
#./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make all
make install
make install-init
make install-commandmode
make install-config
2.安装nagios-plugins-1.4.14.tar.gz
tar -zxvf nagios-plugins-1.4.14.tar.gz
cd nagios-plugins-1.4.14
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
3.nrpe的程序的安装:
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure --enable-command-args(nrpe参数传递)
make all
make install-plugin
make install-daemon
make install-daemon-config
被监控机器:
1.安装nagios-plugins-1.4.14.tar.gz
tar -zxvf nagios-plugins-1.4.14.tar.gz
cd nagios-plugins-1.4.14
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
2.nrpe的程序的安装:
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12 --enable-command-args
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd
ok,安装好了,可以到/usr/local/nagios/下面检查一下,应该生成了4个目录:bin、etc、libexec、share。之后我们要配置一下,目的是让NRPE可以以守护进程的形式监听5666端口,为特定地址的nagios平台提供服务。在官方的NRPE文档中,详细说明了如何将NRPE嵌入xinetd服务中,我在这里就不啰嗦了。有些情况,我们的服务器上没有xinetd或者inetd这样的服务,我在这里介绍一种更加通用的方法。
首先,需要修改/usr/local/nagios/etc/nrpe.cof。
找到“allowed_hosts=127.0.0.1”将其改为:nagios监控平台的地址或域名
启动NRPE守护进程:(可以将此命令加入/etc/rc.local,以便开机自动启动)
vi /etc/service
增加:nrpe 5666/tcp
vi /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 = 192.168.202.18 127.0.0.1(允许监控的机器IP)
}
/usr/local/nagios/bin/nrpe –c /usr/local/nagios/etc/nrpe.cfg –d或 /etc/init.d/xinetd restart
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg (检查配置文件)
[root@xen_202_18 etc]# /etc/init.d/nagios start
[root@xen_202_18 etc]# /usr/local/nagios/libexec/check_nrpe -H 192.168.202.19
NRPE v2.12
说明nrpe已经成功
二、apache安装
略
配置:
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.user
Require valid-user
Alias /nagios "/usr/local/nagios/share"
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.user
Require valid-user
/usr/local/httpd/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.user nagiosadmin
三、配置
监控服务器:
/usr/local/nagios/etc
nagios.cfg#配置文件
cgi.cfg # 控制相关的cgi脚本配置文件
resource.cfg # 外部命令资源配置文件
objects/commands.cfg # 定义一些nagios的检查命令.
#objects/localhost.cfg # 定义本机检查配置文件
#objects/switch.cfg # 定义交换机检查配置文件
#objects/printer.cfg # 定义打印机检查配置文件
#objects/windows.cfg # 定义windows主机检查配置文件
objects/timeperiods.cfg # 定义监控时段配置文件
objects/templates.cfg # 主机监控配置文件模版
objects/contacts.cfg # 联系人配置文件
在commands.cfg里添加
#check nrpe
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$
}
监控机配置文件
define host{
use linux-server
host_name 192.168.202.19
alias 192.168.202.19
address 192.168.202.19
}
define hostgroup{
hostgroup_name linux-servers
alias Linux Servers
members 192.168.202.19
}
define service{
use local-service
host_name 192.168.202.19
service_description Root Partition
check_command check_nrpe!check_disk!20%!10%!/
}
define service{
use local-service
host_name 192.168.202.19
service_description Root Partition
check_command check_nrpe!check_disk!20%!10%!/dev/shm
}
define service{
use local-service
host_name 192.168.202.19
service_description Current Users
check_command check_nrpe!check_users!10!20
}
define service{
use local-service
host_name 192.168.202.19
service_description Total Processes
check_command check_nrpe!check_procs!800!1000!RSZDT
}
define service{
use local-service
host_name 192.168.202.19
service_description Current Load
check_command check_nrpe!check_load!10,10,10!20,20,20
}
define service{
use local-service
host_name 192.168.202.19
service_description Swap Usage
check_command check_nrpe!check_swap!20!10
}
define service{
use local-service
host_name 192.168.202.19
service_description SSH
check_command check_ssh
notifications_enabled 0
}
define service{
use local-service
host_name 192.168.202.19
service_description HTTP
check_command check_http!-u /a.txt
}
被监控服务器:
vi /usr/local/nagios/etc/nrpe.cfg
log_facility=daemon
pid_file=/var/run/nrpe.pid
server_port=5666
nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=192.168.202.18,127.0.0.1
# Values: 0=do not allow arguments, 1=allow command arguments(这边采用命令传递方式)
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
#command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$
command[check_load]=/usr/local/nagios/libexec/check_load -w $ARG1$ -c $ARG2$
command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
command[check_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
command[check_swap]=/usr/local/nagios/libexec/check_swap -w $ARG1$ -c $ARG2$
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$
[root@xen_202_18 etc]# /usr/local/nagios/libexec/check_nrpe -H 192.168.202.19
NRPE v2.12