Nagios配置文件简介
1.1配置文件概述
nagios安装完成后,配置文件在安装时放在了/usr/local/nagios/etc/目录下。
[root@Nagios-Server ~]# ls -l /usr/local/nagios/etc/
total 88
-rw-rw-r-- 1 nagios nagios 11408 May 29 02:09 cgi.cfg #CGI 配置文件
-rw-r-r- 1 root root 22 May 29 02:13 htpasswd.users #Apache 验证密码文件
-rw-rw-r-- 1 nagios nagios 43776 May 29 02:09 nagios.cfg #Nagios 主配置文件
drwxrwxr-x 2 nagios nagios 4096 May 29 02:09 objects #监控对象定义文件目录
-rw-rw---- 1 nagios nagios 1340 May 29 02:09 resource.cfg #Nagios资源配置文件
1.2主配置文件
主配置文件包括了一系列的设置,它们会影响 Nagios 守护进程。不仅是 Nagios 守护进程要使用主配置文件,CGIs 程序组模块也需要,在主配置文件里,我们可以指定主机、主机组、服务、服务组、命令、通知人、通知人组等配置文件的位置。
主配置文件参数众多,在这里只修改小部分,确保 Nagios可以正常运行。
[root@Nagios-Server ~]# vi /usr/local/nagios/etc/nagios.cfg
# You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg #命令配置文件
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg #联系人配置文件
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/contactgroups.cfg #联系组定义文件
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg #增加主机配置文件
cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg #增加主机组配置文件
cfg_file=/usr/local/nagios/etc/objects/services.cfg #增加服务配置文件
cfg_file=/usr/local/nagios/etc/objects/servicegroups.cfg #增加服务组配置文件
# Definitions for monitoring the local (Linux) host
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg #注释掉
1.3 资源配置文件
资源文件可以保存用户自定义的宏。资源文件的一个主要用处是用于保存一些敏感的配置信息如系统口令等不能让 CGIs 程序模块获取到的东西。
1.4对象定义文件
对象定义文件是管理员经常需要修改的配置文件,用于定义主机、服务、主机组、服务组、联系人、联系人组、命令等等,也就是要定义监控的对象和监控的方法。
对象定义文件有两种基本写法,例如监控一台 Linux服务器。
方法一:将该主机写入主机定义文件,将要监控的服务写到服务定义文件中,前提是在 Nagios的主配置文件里需要定义这两个配置文件。
方法二:将该主机的配置写入到一个如【主机名】.cfg 文件里,然后再 Nagios 的主配置文件里定义这个配置文件。
这两种方法的选择要根据实际情况,方法一由于主机数的增加会增加配置文件的管理难度,文件内容多,容易出现配置错误等问题。
方法二由于是每个监控主机一个配置文件,这样虽然清晰明了,但对于想结构化管理的用户不太方便。
1.5 CGI 配置文件
CGI 配置文件包含了一系列的设置,它们会影响 CGIs 程序模块。还有一些保存在主配置文件之中,因此CGI 程序会知道你是如何配置的 Nagios 并且在哪里保存了对象定义。
1.6通过实例介绍配置文件
下面通过监控一台服务器是否存活的实例来介绍相关配置文件的用法。
1.6.1主机定义文件
定义你要监控的对象,这里定义的 host_name 被应用到其它的所有配置文件中,这个是我们配置 Nagios 必须修改的配置文件。
[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/hosts.cfg
define host
define host
1.6.2主机组定义文件
将刚才定义的两个主机加入到主机组中,针对生产环境就像把所有的 MySQL 服务器加到一MySQL 主机组里,方便管理和查看。
[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/hostgroups.cfg
define hostgroup
1.6.3服务定义文件
服务定义文件定义你需要监控的对象的服务,比如本例子为检测主机是否存活,在后面会讲到如何监控其它服务,比如服务器负载、内存、磁盘等。
define service
define service
1.6.4服务组定义文件
[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/servicegroup.cfg
define servicegroup
1.6.5联系人定义文件
[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/contacts.cfg
define contact
1.6.6联系人组定义文件
[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/contactgroups.cfg
define contactgroup
1.6.7启动Nagios
1> 修改配置文件所有者
[root@Nagios-Server ~]# chown -R nagios:nagios /usr/local/nagios/etc/objects/
2> 检测配置是否正确
[root@Nagios-Server ~]#
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
3> 启动 Nagios
[root@Nagios-Server ~]# /etc/init.d/httpd restart