系统环境:RHEL6 x86_64
selinux and iptables disabled
nagios 主机:192.168.0.71
mysql 主机: 192.168.0.36
运行 nagios 服务的用户
使 apache 用户对 nagios 目录具有写权限,不然 web 页面操作失败
安装编译所需软件包编译时 缺什么装什么
插件安装 tar zxf nagios-plugins-1.4.15.tar.gz #nagios 插件安装 cd nagios-plugins-1.4.15 ./configure make make install相关配置文件
vim /usr/local/nagios/etc/nagios.cfg #nagios 配置 #新建 hosts.cfg 文件,存放主机与主机组定义 cfg_file=/usr/local/nagios/etc/objects/hosts.cfg #新建 services.cfg 文件,存放服务与服务组定义 cfg_file=/usr/local/nagios/etc/objects/services.cfg #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg #注释 localhost.cfg 文件 #vim /usr/local/nagios/etc/objects/host.cfg #定义本地主机 define host{ use linux-server host_name server471.example.com alias manager address 127.0.0.1 icon_image server.gif statusmap_image server.gd2 2d_coords 500,200 3d_coords 500,200,100 } #定义远程主机 define host{ use linux-server host_name server472.example.com parents server471.example.com alias mysql address 172.25.47.2 icon_image server.gif statusmap_image server.gd2 2d_coords 100,200 3d_coords 100,100,0 } #主机组并不是必须的,这是配合 nagios 的监控页面的显示 #定义主机组 define hostgroup{ hostgroup_name linux-servers alias Linux Servers members * } vim /usr/local/nagios/etc/objects/services.cfg #定义服务组 define servicegroup{ servicegroup_name 系统负荷检查 alias 负荷检查 members server471.example.com,进程总数,server471.example.com,登录用数,server471.example.com,根分区,server471.example.com,交换空间利用率 } #定义服务 define service{ use local-service host_name * service_description PING check_command check_ping!100.0,20%!500.0,60% } 执行: /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 显示: Total Warnings: 0 Total Errors: 0 #校验 nagio配置文件的正确性 无报错 重启服务 htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin #设置nagios 监控页面访问用户和密码 service nagios start service httpd start #启动 nagios 和 httpd 服务 http://192.168.0.71/nagios #访问 nagios 监控页面,输入上面添加的用户名和密码 监控 mysql 主机 mysql 主机上运行有 mysql 服务,在其上创建监控检测帐户 mysql> create database nagdb; mysql> grant select on nagdb.* to nagdb@'192.168.0.71'; mysql> flush privileges; 在 nagios 主机上检测是否可以连接 mysql 主机上的 mysql 服务 /usr/local/nagios/libexec/check_mysql -H 192.168.0.36 -u nagdb -d nagdb Uptime: 73 Threads: 1 Questions: 7 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.95 在 nagios 主机上添加对 mysql 服务监控的定义 #vim /usr/local/nagios/etc/objects/hosts.cfg 添加如下行 #define host{ use linux-server host_name server472.example.com parents server471.example.com alias mysql address 172.25.47.2 icon_image server.gif statusmap_image server.gd2 2d_coords 100,200 #vim /usr/local/nagios/etc/objects/services.cfg 添加如下行 define service{ use local-service host_name mysql 主机 servce_groups mysql 服务组 service_description mysql 服务 check_command check_mysql } define servicegroup{ servicegroup_name mysql 服务组 alias mysql 服务器 } vim /usr/local/nagios/etc/objects/commands.cfg 添加如下行 # 'check_mysql' command definition define command{ command_name check_mysql command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d $ARG3$ } 执行: /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 显示: Total Warnings: 0 Total Errors: 0 重启服务 Nagios 通过 NRPE 监控远程主机系���状况 Nagios实现远程监控server2 系统状况 配置Server2 tar zxf nrpe-2.15.tar.gz cd nrpe-2.15 yum install gcc yum install openssl-devel #解决软件依赖性 usreadd nagios ./configure #编译后按提示操作 缺什么装什么 make all make install-plugin useradd nagios make install-plugin make install-daemon make install-daemon-config make install-xinetd yum install -y xinetd vim /etc/xinetd.d/nrpe disable = no only_from = 172.25.47.1 #监控端IP vim /etc/services nrpe 5666/tcp #添加端口 /etc/init.d/xinetd restart netstat -antlp #检查是否添加成功 scp /usr/local/nagios/libexec/check_nrpe root@172.25.47.1:/usr/local/nagios/libexec/ #将被监控端安装的 check_nrpe 发送至监控端的同目录下也可以在监控端自己安装 *在监控端要将check_nrpe 所属组和用户改为 nagios 安装plugins模块 tar zxf nagios-plugins-2.1.1.tar.gz cd nagios-plugins-2.1.1 ./configure make make install cd /usr/local/nagios/etc/ vim nrpe.cfg ################################# 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_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p / ################################### 监控端可监控服务 监控端server1下 进行如下测试: cd /usr/local/nagios/libexec ./check_nrpe -H 172.25.47.2 # -H 指定被监控端IP NRPE v2.15 #得到NRPE 版本号 即可 命令行监控方法 ./check_nrpe -H 172.25.47.2 -c check_users 图形实时监控方法 配置监控端server1中nagios的文件 /usr/local/nagios/etc/objects vim commands.cfg # 'check_nrpe' command definition define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u $ARG1$ -c $ARG1$ } vim services.cfg define service{ use local-service host_name server472.example.com service_description 根分区 check_command check_nrpe!check_disk } vim hosts.cfg define host{ use linux-server host_name server472.example.com parents server471.example.com alias mysql address 172.25.47.2 icon_image server.gif statusmap_image server.gd2 2d_coords 100,200 3d_coords 100,100,0 } 执行: /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 显示: Total Warnings: 0 Total Errors: 0 重启服务--------------------------------------分割线 --------------------------------------