接上篇nagios详细安装,现在接受nagios的相关的配置的文件,因为,大部分服务的监控都需要用到配置文件。

一、配置文件介绍

/usr/local/nagios/etc/nagios.cfg --主配置文件

/usr/local/nagios/etc/objects/ --子配置文件的目录

localhost.cfg --一个示例模版,默认定义了监控本机的8个服务

templates.cfg --模版定义文件

commands.cfg --命令定义文件

contacts.cfg --定义通知方式的文件

timeperiods.cfg --监控时间段定义文件

二、实例讲解

# vim /usr/local/nagios/etc/nagios.cfg --主配置文件中定义了所需要监控的主机以及所用到的模板

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg --找到这一句,说明默认监控的是本地机器

然后再子配置文件的目录中找到localhost.cfg文件

# vim /usr/local/nagios/etc/objects/localhost.cfg

define host{

use linux-server --模版

host_name localhost --主机名

alias localhost --主机别名

address 127.0.0.1 --被监控机器的IP

}

define hostgroup{

hostgroup_name linux-servers

alias Linux Servers

members localhost --linux Servers组现在只有localhost这一个成员

}

define service{ --所定义的服务,默认有8个服务,这里取一个进行讲解,其余的类似

use local-service --模版,在templates.cfg 里定义的

host_name localhost--主机名,调用的是同配置文件里define host里定义的host_name

service_description Root Partition--描述,会在web界面显示的一个标题

check_command check_local_disk!20%!10%!/--检测利用率的命令,free空间小于20%就报警,小于10critcal警告

}

找到objects目录下找到templates.cfg文件

# vim /usr/local/nagios/etc/objects/templates.cfg --同样也只取第一部分进行讲解

define host{

name linux-server

use generic-host --linux主机模版也使用了一个叫generic-host的模版在templates.cfg

check_period 24x7 --timeperiods.cfg 里定义的时间段

check_interval 5

retry_interval 1

max_check_attempts 10

check_command check-host-alive --commands.cfg 里定义的命令

notification_period workhours--通知时间在timeperiods.cfg里定义的

notification_interval 120--通知间隔

notification_options d,u,r --通知选项

contact_groups admins--通知组,在contacts.cfg 里定义

register 0 --不注册,表示这只是一个模版,被调用,不会被nagios进程认为就是一台主机

}

在objects目录下找到commands.cfg文件,这里面定义了,命令的格式。

# vim /usr/local/nagios/etc/objects/commands.cfg

define command{

command_name check-host-alive

command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5

}

--命令都在libexec下,用--help去查

# /usr/local/nagios/libexec/check_ping --help

三、具体例子

1>在默认8个服务的基础上,如何增加监控本机的服务 如ftp

思路步骤:

1,看libexec/下是否有检测ftp的命令,如果没有,网上下载,或自己开发

2,在localhost.cfg里定义这个服务

3,在command.cfg里定义命令

#vim /usr/local/nagios/etc/objects/localhost.cfg --加上下面一段

define service{

use local-service

host_name localhost

service_description FTP

check_command check_ftp!3!6

}

# vim /usr/local/nagios/etc/objects/commands.cfg --下面一段默认就有,不需要加,直接改一下

define command{

command_name check_ftp

command_line $USER1$/check_ftp -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$

}

# /etc/init.d/nagios restart

2> 我的被监控端IP192.168.1.125

1.nagios服务器的主配置文件里加上125的主机配置文件

# vim /usr/local/nagios/etc/nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/125.cfg

2,创建这个125.cfg

# cd /usr/local/nagios/etc/objects/

# cp localhost.cfg 125.cfg

# vim 125.cfg

define host{

use linux-server

host_name 192.168.1.125--主机名,最好/etc/hosts里对应好IP,我这里没有做,就直接写IP

alias 192.168.1.125--显示到web上的名字

address 192.168.1.125--实际被监控主机IP

}

--下面是公共服务,这里我只写了一个,其他可以自行增加

define service{

use local-service

host_name 192.168.1.125

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

# /etc/init.d/nagios reload


注意:监控nagios默认是可以直接监控公共服务的,欲知如何监控私有服务,请听下回分解。