5.1.4 Nagios的初始化前配置
1)预备知识
Nagios自己定义了一套规则用于配置文件,其中最重要的概念就是”对象”----object.通俗的理解:假定我们首先定义了”性别”这个对象,它的值只可能是男,女 ,然后定义某人为一个对象,例如张三,定义张三的时候有”性别”这个属性,它的值就必须来源了之前定义的性别这个对象,要么是男是女,在Nagios里面定义了一些基本的对象,一般用到的有:
另外,多个被监控主机可以定义为一个主机组,多个联系人可以被定义为一个联系人组,多个服务还能定义成一个服务组呢.回到上面的例子,定义张三需要之前定义的性别,我们定义一个被监控的服务,当然就要指定被监控的主机,需要监控的时间段,要用哪个命令来完成这个监控操作,出了问题向哪个联系人报告.
2)修改配置文件-开启相应的配置
vi /usr/local/nagios/etc/nagios.cfg
/usr/loca check_external_commands=1//允许在web界面下执行重启nagios停止主机/服务检查等操作
command_check_interval=10s(根据自己的情况定这个命令检查时间间隔,不要太长也不要太短)。
3)修改CGI脚本控制文件cgi.cfg
(确保use_authentication=1//验证)
//多个用户之间用逗号隔开(用户名来自htpasswd,不要添加过多)
authorized_for_system_information=nagiosadmin,用户名
4)定义监控时间段,创建配置文件timeperiods.cfg
5)定义联系人,创建配置文件contacts.cfg
6)下面就可以将多个联系人组成一个联系人组contactgroups.cfg
7)定义被监控主机,创建文件hosts.cfg
注意:按照对应的方式简单的复制修改主机名、IP和别名就可以创建多个被监控主机.
8)与联系人可以组成联系人组一样,多个主机也可以组成主机组. hostgrops.cfg
注意:按照对应的方式简单的复制修改主机名、IP和别名就可以创建多个被监控主机组。
9)定义监控的项目,也叫服务,services.cfg
注意:按照对应的方式简单的复制修改主机名、命令和组名就可以创建多个服务。并且主机名要与hosts.cfg文件中定义的一致
10)在运行nagios之前首先做测试
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
看到下面这些信息就说明没问题了
Total Warnings: 0
Total Errors:0
Things look okay - No serious problems were detected during the pre-flight check
11)作为守护进程后台启动nagios,并设置为开机自动启动
12)一切配置完成,即可登录页面查看监控信息
5.2使用Nrpe插件监控Linux主机上的本地信息
对于像磁盘容量,cpu负载这样的”本地信息”,nagios只能监测自己所在的主机,而对其他的机器则显得有点无能为力.毕竟没得到被控主机的适当权限是不可能得到这些信息的.为了解决这个问题,nagios有这样一个附加组件----NRPE.用它就可以完成对linux类型主机”本地信息”的监控.
其中的具体原理已经在2.5节详细说明,此节重点说明具体的实现过程。
5.2.1被监控linux主机上的 配置
1)增加用户并设置密码
[root@dbpi root]# useradd nagios
[root@dbpi root]# passwd nagios
2)编译安装nagios插件nagios-plugins
3)编译安装监控插件nrpe
4)编辑这个nrpe脚本
vi /etc/xinetd.d/nrpe
only_from= 127.0.0.1 192.168.77.128(监控主机ip地址)//注意中间用空格而不是逗号间隔
5)编辑/etc/services文件,增加NRPE服务
Vi /etc/services
Nrpe 5666/tcp
6)重启xinetd服务
[root@dbpi nrpe-2.8.1]# service xinetd restart
7)查看NRPE是否已经启动
[root@dbpi nrpe-2.8.1]# netstat -at|grep nrpe
[root@dbpi nrpe-2.8.1]# netstat -an|grep 5666
8)测试NRPE是否则正常工作
/usr/local/nagios/libexec/check_nrpe -H localhost//正确结果会返回当前NRPE的版本