本章主要用来设置nagios的相关配置文件,从而能实现对linux系统的监控。
在进行监控相关服务的时候,nagios会周期性的调用插件去监测服务器的状态,nagios自带的所有插件都放在如下目录:
在nagios监控本机的时候,直接使用插件进行监测即可;在监控远程机器的时候,主要通过插件NRPE完成,主要是使用NRPE来完成监控端和被监控端的通信。
1、 配置nagios
在进行监控配置的时候,最好的情况是不使用模板来进行配置,因为在服务器数量过大的情况下,会导致配置太乱,建议使用专门的配置文件来进行配置需要监控的每一台主机。在本例子中,主要需要的配置文件如下所示:
a. 创建hosts.cfg来进行定义主机和主机组
b. 创建services.cfg来进行定义服务
c. 用默认的contacts.cfg来进行定义联系人和联系人组
d. 用默认的commands.cfg来进行定义命令
e. 用默认的timeperiods.cfg来进行定义监控时间段
f. 用默认的templates.cfg文件作为资源引用文件
配置文件hosts.cfg用来决定以监控的主机和主机组,如下所示:在监控主机的配置文件中,主要是定义主机名称和主机的IP地址,use表示引用,因为在nagios配置的模板中,属性是可以继承的,从而大部分的设置可以直接在templates。cfg中进行配置通用的属性,如果需要自定义的属性,那么在hosts.cfg中添加单独的属性,从而覆盖掉templates中的属性。在上图中,定义了两个主机,定义了一个主机组,这两个主机都是远程的主机。
接下来定义需要监控的服务,配置文件为services.cfg,如下:
在这里仅仅给两个主机定义了检查主机是否启动的服务,在如上的中,use表示应用通用的服务,主机为两台远程主机,检查命令为检查主机是否存活。
在默认的配置中,nagios的核心文件是没有包含这两个配置文件的,从而需要修改nagios的核心文件nagios.cfg,将这俩配置文件添加进去,如下所示:
在需要配置的信息基本配置完毕,在没有进行配置的那么就是使用nagios默认的配置文件,接下来只要检查配置文件是否配置正确即可,如下:
如果检查结果是正确的,那么只要重新启动nagios即可,如果检查结果是错误的,那么必须检查配置文件,否则nagios无法启动,在错误信息中,会提示是哪个配置文件,在第几行出现错误,在这里可能出现做大的错误是拼写错误,要不然就是在使用use的时候,出现引用错误。
重新启动之后,监控页面的显示如下:
可以看到主机已经开始监控了远程的两台主机,如果两台主机是开启的状态,那么就会在status中显示为up,表示主机是正常运行状态中。
2、 监控远程linux主机上的本地服务
Nagios只能监控自己的一些本地服务,例如磁盘容量,本地服务等,对于监控远程的linux主机上的本地服务,必须通过NRPE来进行传递消息,通过nagios插件来进行监控,从而在被监控的主机上需要安装NRPE插件,具体步骤如下:
2.1 在被监控主机上创建用户
2.2 安装nagios插件
2.3 安装NRPE
下载NRPE网址:
http://sourceforge.net/projects/nagios/files/
首先进行编译:
安装完成之后,查看文件目录如下:
接下来安装xinetd服务:
编辑nrpe脚本:红色字体为增加部分,增加监控主机的IP地址:
编辑/etc/services文件,增加NRPE服务:
重新启动,让nrpe进行工作:
查看NRPE是否正常工作:
查看NRPE监控命令:
3、 监控主机上进行的设置
3.1 安装nrpe插件
3.2 修改监控命令配置文件
修改commands.cfg,在其中增加对check_nrpe的定义:
这个命令行中的命令书写格式必须符合check_nrpe的写法,也是实际运行的插件的程序
3.3 修改监控服务配置文件
从界面上可以看到,界面上的已经开始监控到远程主机的本地服务。
在本章中,主要实现的是nagios监控远程linux的主机设置。