安装配置nagios 客户端 以及服务端 我先说下我的环境
nagios服务器:192.168.6.103
web服务器:192.168.6.100(nagios客户端)
mysql服务器:192.168.6.101 (nagios客户端)
一.Nagios 监控客户端
1.在客户端安装监控插件
useradd -s /usr/sbin/nologin nagios tar zxvf nagios-plugins-1.4.14.tar.gz cd nagios-plugins-1.4.14 ./configure make make install
设置插件目录权限
chown nagios.nagios /usr/local/nagios chown -R nagios.nagios /usr/local/nagios/libexec
2.安装 nrpe daemon
tar zxvf nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all make install-plugin make install-daemon make install-daemon-config
作为 xinetd 服务nrpe守护进程
make install-xinetd
配置 xinetd nrpe 只能由监控服务器监控
vim /etc/xinetd.d/nrpe only_from = 127.0.0.1 <改为nagios服务器IP地址>
添加nrpe守护进程
vim /etc/services
最后加入
nrpe 5666/tcp #NRPE
随后重启 xinetd 服务
/etc/init.d/xinetd restart
3.查看服务器是否起来了
netstat -ant |grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN
看到 5666 端口已经开始监听了,说明没问题
测试本地是否可以通信
/usr/local/nagios/libexec/check_nrpe -H localhost NRPE v2.12
4.设置监控服务器内容
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_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p / 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 250 -c 300 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20 -c 10
二.在服务端安装nrpe和配置nagios 服务
1.安装nrpe
tar zxvf nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all
安装nrpe 插件
make install-plugin
2.测试插件与客户端是否能正常通信
/usr/local/nagios/libexec/check_nrpe -H 192.168.6.101 NRPE v2.12
3.创建一个check_nrpe 监控配制文件
vim /usr/local/nagios/etc/commands.cfg
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
4.修改nagios.cfg 添加一个配制文件
创建存放配置文件目录
mkdir -p /usr/local/nagios/etc/monitor
修改配置文件
vim /usr/local/nagios/etc/nagios.fg
cfg_dir=/usr/local/nagios/etc/monitor
5.创建 主机 服务 主机组 联系人组
cd /usr/local/nagios/etc/monitor
a.创建hosts.Cfg
define host{ use linux-server host_name web alias edgora-web address 192.168.6.100 } define host{ use linux-server host_name mysql alias edgora-mysql address 192.168.6.102 }
b.创建 services.Cfg
################# edgora web ##################### define service{ use local-service host_name web service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use local-service host_name web service_description SSH check_command check_ssh!8022 } define service{ use local-service host_name web service_description DISK check_command check_nrpe!check_hda1 define service{ use local-service host_name web service_description Load check_command check_nrpe!check_load } define service{ use local-service host_name web service_description SWAP check_command check_nrpe!check_swap } define service{ use local-service host_name web service_description User check_command check_nrpe!check_users } define service{ use local-service host_name web service_description Zombie_procs check_command check_nrpe!check_zombie_procs } define service{ use local-service host_name web service_description total_procs check_command check_nrpe!check_total_procs } ################################## MYSQL ####################### define service{ use local-service host_name mysql service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use local-service host_name mysql service_description SSH check_command check_ssh!8022 } define service{ use local-service host_name mysql service_description DISK check_command check_nrpe!check_hda1 } define service{ use local-service host_name mysql service_description Load check_command check_nrpe!check_load } define service{ use local-service host_name mysql service_description User check_command check_nrpe!check_users } define service{ use local-service host_name mysql service_description Zombie_procs check_command check_nrpe!check_zombie_procs } define service{ use local-service host_name mysql service_description total_procs check_command check_nrpe!check_total_procs } define service{ use local-service host_name mysql service_description SWAP check_command check_nrpe!check_swap }
c.创建主机租配制文件
vim hostgroups.Cfg
define hostgroup { hostgroup_name sa-servers alias sa servers members web,mysql }
d.创建联系人组
vim contactgroup.cfg
define contactgroup { contactgroup_name sagroup alias system administrator group members ludy }
三. 测试脚本没有问题
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
四. 重启 nagios
/etc/init.d/nagios restart
五. 连接web 测试
http://192.168.6.103/nagios