本文共 6943 字,大约阅读时间需要 23 分钟。
联系人 | contact | 出了问题像谁报告 ? 一般当然是系统管理员了 |
监控时间段 | timeperiod | 7X24 小时不间断还是周一至周五 , 或是自定义的其他时间段 |
被监控主机 | host | 所需要监控的服务器 , 当然可以是监控机自己 |
监控命令 | command | nagios 发出的哪个指令来执行某个监控 , 这也是自己定义的 |
被监控的服务 | service | 例如主机是否存活 ,80 端口是否开 , 磁盘使用情况或者自定义的服务等 |
cfg_file=/usr/local/nagios/etc/contactgroups.cfg // 联系组配置文件路径 cfg_file=/usr/local/nagios/etc/contacts.cfg // 联系人配置文件路径 cfg_file=/usr/local/nagios/etc/hostgroups.cfg // 主机组配置文件路径 cfg_file=/usr/local/nagios/etc/hosts.cfg // 主机配置文件路径 cfg_file=/usr/local/nagios/etc/services.cfg // 服务配置文件路径 cfg_file=/usr/local/nagios/etc/timeperiods.cfg // 监视时段配置文件路径 |
authorized_for_system_information=nagiosadmin,test authorized_for_configuration_information=nagiosadmin,test authorized_for_system_commands=test // 多个用户之间用逗号隔开 authorized_for_all_services=nagiosadmin,test authorized_for_all_hosts=nagiosadmin,test authorized_for_all_service_commands=nagiosadmin,test authorized_for_all_host_commands=nagiosadmin,test |
define timeperiod{ timeperiod_name 24x7 // 时间段的名称 , 这个地方不要有空格 alias 24 Hours A Day,7Days A Week sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 } |
define contact{ contact_name test // 联系人的名称 , 这个地方不要有空格 alias sys admin service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,u,r service_notification_commands notify-by-email host_notification_commands host-notify-by-email email [email]yahoon@test.com[/email] pager 1338757xxxx address1 [email]xxxxx.xyyy@icq.com[/email] address2 555-555-5555 } |
service_notification_period 24x7 服务出了状况通知的时间段 , 这个时间段就是上面在 timeperiods.cfg 中定义的 . |
host_notification_period 24x7 主机出了状况通知的时间段 , 这个时间段就是上面在 timeperiods.cfg 中定义的 |
service_notification_options w,u,c,r 当服务出现 w— 报警 (warning),u— 未知 (unkown),c— 严重 (critical), 或者 r— 从异常情况恢复正常 , 在这四种情况下通知联系人 . |
host_notification_options d,u,r 当主机出现 d— 当机 (down),u— 返回不可达 (unreachable),r— 从异常情况恢复正常 , 在这 3 种情况下通知联系人 |
service_notification_commands notify-by-email 服务出问题通知采用的命令 notify-by-email, 这个命令是在 commands.cfg 中定义的 , 作用是给联系人发邮件 . 至于 commands.cfg 之后将专门介绍 |
host_notification_commands host-notify-by-email 同上 , 主机出问题时采用的也是发邮件的方式通知联系人 |
email 很明显 , 联系的人 email 地址 |
pager 1338757xxxx 联系人的手机 , 如果支持短信的通知的话 , 这个就很有用了 . |
alias 是联系人别名 ,address 是地址 意义不大 . |
define contactgroup{ contactgroup_name sagroup // 联系人组的名称 , 同样不能空格 alias System Administrators // 别名 members test // 组的成员 , 来自于上面定义的 contacts.cfg, 如果有多个联系人则以逗号相隔 } |
define host{ host_name nagios-server // 被监控主机的名称 , 最好别带空格 alias nagios server // 别名 address 192.168.0.111 // 被监控主机的 IP 地址 , 我现在暂时先填本机的 IP check_command check-host-alive // 监控的命令 check-host-alive, 这个命令来自 commands.cfg, 用来监控主机是否存活 max_check_attempts 5 // 检查失败后重试的次数 check_period 24x7 // 检查的时间段 24x7, 同样来自于我们之前在 timeperiods.cfg 中定义的 contact_groups sagroup // 联系人组 , 上面在 contactgroups.cfg 中定义的 sagroup notification_interval 10 // 提醒的间隔 , 每隔 10 秒提醒一次 notification_period 24x7 // 提醒的周期 , 24x7, 同样来自于我们之前在 timeperiods.cfg 中定义的 notification_options d,u,r // 指定什么情况下提醒 , 具体含义见之前 contacts.cfg 部分的介绍 } |
define hostgroup{ hostgroup_name sa-servers // 主机组名称 alias sa Servers // 别名 members nagios-server // 组的成员主机 , 多个主机以逗号相隔 , 必须是上面 hosts.cfg 中定义的 } |
#service definition define service{ host_name nagios-server // 被监控的主机 ,hosts.cfg 中定义的 service_description check-host-alive // 这个监控项目的描述 ( 也可以说是这个项目的名称 ), 可以空格 , 我们这里定义的是监控这个主机是不是存活 check_command check-host-alive // 所用的命令 , 是 commands.cfg 中定义的 max_check_attempts 5 normal_check_interval 3 retry_check_interval 2 check_period 24x7 // 监控的时间段 , 是 timeperiods.cfg 中定义的 notification_interval 10 notification_period 24x7 // 通知的时间段 , , 是 timeperiods.cfg 中定义的 notification_options w,u,c,r // 在监控的结果是 wucr 时通知联系人 , 具体含义看前文 . contact_groups sagroup // 联系人组 , 是 contactgroups.cfg 中定义的 } |
Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check |