本人亲测
改 check_external_commands=0 为 check_external_commands=1 .这行的作用是 允许在 web 界面下执行重启 nagios、停止主机/服务检查等操作。 把 command_check_interval 的值从默认的 1 改成 command_check_interval=10s (根据自己的情况定这个命令检查时间间隔,不要太长也不要太短)。 定义监控时间段,查看配置文件 timeperiods.cfg 默认已配好
定义联系人,创建配置文件 contacts.cfgdefine contact{ contact_name alias use generic-contact 监控时间段 service_notification_period host_notification_period service_notification_options host_notification_options service_notification_commands host_notification_commands email pager address1 address2 } 24x7 w,u,c,r d,u,r notify-by-email host-notify-by-email yahoon@ 1338757xxxx xxxxx.xyyy@ 555-555-5555 24x7 test //联系人的名称,这个地方不要有空格 sys admin generic-contact //使用 timeperiods.cfg 里的
创建了一个名为 test 的联系人,下面列出其中重要
的几个选项做说明service_notification_period 24x7 服务出了状况通知的时间段,这个时间段就是上面在 timeperiods.cfg 中定义的. host_notification_period 24x7
主机出了状况通知的时间段, 这个时间段就是上面在 timeperiods.cfg 中定义的 service_notification_options 四种情况下通知联系人. host_notification_options 联系人 service_notification_commands notify-by-email d,u,r w,u,c,r
当服务出现 w—报警(warning),u—未知(unkown),c—严重(critical),或者 r—从异常情况恢复正常,在这
当主机出现 d—当机(down),u—返回不可达(unreachable),r—从异常情况恢复正常,在这 3 种情况下通知
服务出问题通知采用的命令 notify-by-email,这个命令是在 commands.cfg 中定义的,作用是给联系人发邮 件.至于 commands.cfg 之后将专门介绍 host_notification_commands host-notify-by-email
同上,主机出问题时采用的也是发邮件的方式通知联系人 email 很明显,联系的人 email 地址 yahoon@
本人亲测
pager
1338757xxxx
联系人的手机,如果支持短信的通知的话,这个就很有用了. alias 是联系人别名,address 是地址 意义不大.
按照上面的方式简单的复制修改就可以创建多个联系人了. 面就可以将多个联系人组成一个联系人组,创建文件 contactgroups.cfg [root@localhost etc]# vi contactgroups.cfgdefine contactgroup{ contactgroup_name //联系人组的名称,同样不能空格 alias members } System test Administrators //别名 sagroup
//组的成员,来自于上面定义的 contacts.cfg,如果有多个联系人则以逗号相隔
定义被监控主机,创建文件 hosts.cfg [root@localhost etc]# vi hosts.cfgdefine host{ host_name alias //别名 address check_command check_interval //检查间隔分 Retry_interval //重试间隔分 max_check_attempts //检查失败后重试的次数 Normal_check_interval //进入硬态后检查间隔时间 check_period 24x7 sagroup 3 24x7 d,u,r //检查的时间段 24x7,同样来自于我们之前在 timeperiods.cfg 中定义的 contact_groups notification_interval //提醒的间隔,每隔 3 分钟提醒一次 notification_period notification_options //提醒的周期, 24x7,同样来自于我们之前在 timeperiods.cfg 中定义的 //联系人组,上面在 contactgroups.cfg 中定义的 sagroup 1 5 5 192.168.0.111 check-host-alive 5 //被监控主机的 IP 地址,我现在暂时先填本机的 IP //监控的命令 check-host-alive,这个命令来自 commands.cfg,用来监控主机是否存活 nagios-server nagios server //被监控主机的名称,最好别带空格
本人亲测
//指定什么情况下提醒,具体含义见之前 contacts.cfg 部分的介绍 }
通过简单的复制修改就可以定义多个主机了.我们在这加上另外两台机器: 与联系人可以组成联系人组一样,多个主机也可以组成主机组.创建文件 hostgrops.cfg [root@localhost etc]# vi hostgroups.cfgdefine hostgroup{ hostgroup_name al
ias members } sa-servers sa Servers //别名 nagios-server //主机组名称
//组的成员主机,多个主机以逗号相隔,必须是上面 hosts.cfg 中定义的
定义监控的项目,也叫服务,创建 services.cfg [root@localhost etc]# vi services.cfg#service definition define service{ host_name service_description 是不是存活 check_command max_check_attempts normal_check_interval retry_check_interval check_period notification_interval notification_period notification_options contact_groups } check-host-alive 5 3 2 24x7 10 24x7 w,u,c,r sagroup //所用的命令,是 commands.cfg 中定义的 nagios-server check-host-alive //被监控的主机,hosts.cfg 中定义的 //这个监控项目的描述(也可以说是这个项目的名称),可以空格,我们这里定义的是监控这个主机
//监控的时间段,是 timeperiods.cfg 中定义的
//通知的时间段, ,是 timeperiods.cfg 中定义的 //在监控的结果是 wucr 时通知联系人,具体含义看前文. //联系人组,是 contactgroups.cfg 中定义的
本人亲测
可以看到基本上所有的成员都是已经定义的.同样的将上面的内容复制修改,就可以加上另外两个监控项目:分别监控yahoon和dbpi是否存活
这样整个的配置过程就结束了.虽然功能很简单,但是已经为以后扩展打下了良好的基础.可以放心的告诉大家,以后的工作基本都是复制粘贴啦!!!
在运行nagios之前首先做测试
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 看到下面这些信息就说明没问题了
Total Warnings: 0 Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
如果有问题的话就可以按照输出信息来排查
开启认证 认证的用户必须是 cgi.cfg 配置文件里有的 默认是 nagiosadmin 如果你新建的其他用户 需要添加进去 多用户用逗号分开 authorized_for_system_information=nagiosadmin authorized_for_configuration_information=nagiosadmin authorized_for_system_commands=nagiosadmin authorized_for_all_services=nagiosadmin authorized_for_all_hosts=nagiosadmin
authorized_for_all_service_commands=nagiosadmin authorized_for_all_host_commands=nagiosadmin 如果不是 nagiosadmin 需要到后面添加
例子 authorized_for_system_information=nagiosadmin,admin
2).监控端口 Vi services.cfg