监控工具之Nagios,搭建和使用( 二 )


3.1 配置文件列表配置文件作用配置文件说明:
cgi.cfg: 控制CGI访问的配置文件
nagios.cfg:Nagios的主配置文件
resource.cfg:变量定义文件 , 在此定义的变量 , 用于其它配置文件中使用 , 如USER1USER1
objects:objects为目录 , 内部含有大量的配置文件
objects/command.cfg:命令定义配置文件
objects/contacts.cfg:联系人和联系人分组配置文件
objects/localhost.cfg:定义监控本机的配置文件
objects/printer.cfg:监控打印机的配置文件 , 默认不启用此文件
objects/switch.cfg:监控路由器的配置文件 , 默认不启用此文件
objects/templates.cfg:定义主机和服务的配置文件
objects/timeperiods.cfg:定义监控时间段的配置文件
objects/windows.cfg:监控Windows机器的配置文件 , 默认没有启动此文件
注:在以后修改配置文件后 , 可以利用以下命令行检测配置文件是否正确 , 可以根据错误提示修改
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
修改完配置文件后web界面不会立马修改 , 需要重新加载、启动nagios服务 。
sudo service nagios reloadsudo service nagios restart
3.2 命令配置文件文件名称:commands.cfg 文件定义格式:
define command{ command_name ******* command_line *******
例如 , 查看本地负载的命令
# 'check_local_load' command definitiondefine command{ command_name check_local_load command_line $USER1$/check_load -w $ARG1$ -c $ARG2$ }
其中 , 变量USER1USER1在resource.cfg中定义
# Sets $USER1$ to be the path to the plugins$USER1$=/usr/local/nagios/libexec
USER1USER1中自带很多可执行的文件 , 可在命令行使用-v , 查看具体的用法 , 这里ARG1是发出警告(w)的条件 , ARG1是发出警告(w)的条件 , ARG2是发出严重警告(c)的条件 。 可以用命令执行 , 命令执行 , 如
[master@usr]$ /usr/local/nagios/libexec/check_load -w 5.0,4.0,3.0 -c 10.0,6.0,4.0OK - load average: 0.00, 0.01, 0.05|load1=0.000;5.000;10.000;0; load5=0.010;4.000;6.000;0; load15=0.050;3.000;4.000;0;
3.3 监控本地主机确认nagios.cfg中有对localhoast.cfg文件的引用
# Definitions for monitoring the local (Linux) hostcfg_file=/usr/local/nagios/etc/objects/localhost.cfg
localhost.cfg自带了对HTTP、ROOTPartition、SSH等服务的定义 。在localhost.cfg定义主机
define host{ use linux-server host_name localhost alias localhost address 127.0.0.1 }
其中host_name是对被监控机器的名称 , alias是被监控机器名称的别称 , address是被监控机器的ip(127.0.0.1表示本地机器) , use指明的是被监控机器继承的模板(定义模板的位置在templates.cfg , 具体含义参考报警部分) 。
然后在localhost.cfg里完成对服务(service)的定义
define service{
use local-service
host_name localhost
service_description 磁盘空间
check_command check_local_disk!20%!10%!/
}
use指被监控机器集成的服务模板(定义模板的位置在templates.cfg , 具体含义参考报警部分)
host_name指主机名 , 与上面定义的host_name所指含义相同
service_description指要显示在web界面的内容
check_command指明要执行的命令名称(命令定义的位置是commands.cfg) , 示例中的参数20%表示 , 磁盘剩余空间少于20%(ARG1)时开始报警 , 10ARG1)时开始报警 , 10ARG2$)表示 , 磁盘剩余空间少于10)时开始报警 。
对本机其他的监控的配置一样 。 配置完成后可以在浏览器上浏览效果(地址:部署nagios所在机器的ip/nagios)监控主机页面