一、什么是nagios
1.nagios 简介
Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。Nagios可 运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
Nagios是十分受欢迎的、开源且免费的计算机及网络系统监控软件。Nagios是“Nagios Ain‘t Gonna Insist On Sainthood”的缩写。它最早是在1999年以“NetSaint”发布。Nagios主要应用在Linux和Unix平台环境下的监控,但通过插 件,也可以监控MS Windows系统的主机。Nagios在LinuxCon 2010 Poll并选为最受欢迎的IT运维工具。它被Infoworld在2009年评为最佳开源软件,同时也是该年度的SourceForge社区的系统管理工 具最佳选择。Nagios也被很多知名企业所采用,包括AOL,DHL,At&t,欧莱雅,德州仪器,Siemens COM CZ,时代华纳有线,Yahoo等。
2.Nagios的主要功能特点:
- 监视网络服务 (SMTP, POP3, HTTP, NNTP, PING等)
- 监视主机资源 (进程, 磁盘等)
- 简单的插件设计可以轻松扩展Nagios的监视功能
- 服务等监视的并发处理
- 错误通知功能 (通过email, pager, 或其他用户自定义方法)
- 可指定自定义的事件处理控制器
- 可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等
- 可以通过手机查看系统监控信息
服务端(222.105.134.103)
rpm安装nagios首先需要安装扩展yum源
rpm -y install epel-release
rpm安装nagios
yum install -y httpd nagios nagios-pluginx nagios-plugins-all nrpe nagios-plugins-nrpe
安装后配置nagios登录密码
[root@localhost ]# htpasswd -c /etc/nagios/passwd nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin
修改nagios配置文件
vim /etc/nagios/nagios.cfg
检测配置文件是否正确
nagios -v /etc/nagios/nagios.cfg
启动http和nagios
service httpd start;service nagios start
清除防火墙配置:iptables -F
浏览器访问http://ip/nagios
客户端配置(222.105.134.102)
搭建配置nagios
配置扩展源rpm -y install epel-release
rpm安装nagios
yum install -y httpd nagios nagios-pluginx nagios-plugins-all nrpe nagios-plugins-nrpe
vim /etc/nagios/nrpe.cfg 找到 “allowed_hosts=127.0.0.1”添加成"allowed_hosts=127.0.0.1,222.105.134.103" #加入服务机的ip
找到"dont_blame_nrpe=0"改为"dont_blame_nrpe=1"
启动客户端:service nagios start
在服务端本地监控客户机上本地才能监控的服务时,需配置服务端nagios配置文件,添加如下内容:
[root@localhost ]# vi /etc/nagios/objects/commands.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
服务端添加被监控主机(222.105.134.102)监控的项目
cd /etc/nagios/conf.d/
vim 222.105.134.102.cfg
define host { use linux-server ;定义监控主机 host_name 222.105.134.102 alias 134.102 address 222.105.134.102 } define service { use generic-service host_name 222.105.134.102 service_description check_ping check_command check_ping!10.020%!200.0,50% max_check_attempts 5 normal_check_interval 1 } define service { use generic-service host_name 222.105.134.102 service_description check_ssh check_command check_ssh max_check_attempts 5 #当nagios检测到问题时,一共尝试检测5次都有问题才会告警,如果该数值为1,那么检测到问题立即告警 normal_check_interval 1 #重新检测的时间间隔,单位是分钟,默认是3分钟 notification_interval 60 #在服务出现异常后,故障一直没有解决,nagios再次对使用者发出通知的时间。单位是分钟。如果你认为,所有的事件只需要一次通知就够了,可以把这里的选项设为0。 } define service{ use generic-service host_name 222.105.134.102 service_description check_http check_command check_http max_check_attempts 5 normal_check_interval 1 } define service { use generic-service host_name 222.105.134.102 service_description check_load check_command check_nrpe!check_load max_check_attempts 5 normal_check_interval 1 } define service { use generic-service host_name 222.105.134.102 service_description check_disk_hda1 check_command check_nrpe!check_hda1 max_check_attempts 5 normal_check_interval 1 } define service { use generic-service host_name 222.105.134.102 service_description check_disk_hda2 check_command check_nrpe!check_hda2 max_check_attempts 5 normal_check_interval 1 }
监控磁盘是修改服务端的/etc/nagios/nrpe.cfg配置文件,修改如下所示
command[check_hda1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1 command[check_hda2]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda2 修改成: command[check_hda1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1 command[check_hda2]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda2
即系统分区号必须要和配置文件中的分区号一致
写入完成后 服务端重启nagios服务:/etc/init.d/nagios restart
客户端重启nrep服务:/etc/init.d/nrep restart