nagios里面有好多的函数,但是有些是软件事前自带的,也有很多是后期运维人员自由设定的。


比如打开/usr/local/nagios/etc/objects文件夹里就会看到很多的文件,打开timeperiods.cfg就会看到这样的内容:

wKioL1dNoNWhLcxQAACnFvtAB70743.png-wh_50

period就是“日期”、“一段时间”的意思。这里定义了一个叫timeperiod的模块,模块的名字是7X24,然后具体的7X24就是每天的0点到24点。

wKioL1dNoWDBu3ARAABpTnIGlks492.png-wh_50

这个timeperiod模块的名字就是workhours,顾名思义工作日。里面也有别名和详细内容。


退出这个文件,回来看一下contact.cfg:

wKioL1dNol3SHRONAAC9Du_8Ef4663.png-wh_50

看到系统默认设定了一个Nagiosadmin的用户,而且我们之前在apache里对nagios用户的密码设置也是nagiosadmin,这个用户的资料比较简单,只有名称、别名和伊妹儿。


那么再来一个比较复杂的contact模块:

define contact {         
    contact_name         james    //不要有空格,这个联系人叫james         
    alias                lebron james         
    service_notification_period    24x7         
    host_notification_period       24x7         
    service_notification_options   w,u,c,r         
    host_notification_options       d,u,r         
    service_notification_commands  service-notify-by-sms,service- notify-by-email  //这个命令读配置文件miscommands.cfg         
    host_notification_commands     host-notify-by-email,host-noti fy-by-sms      //这个命令读配置文件miscommands.cfg         
    email                          sery@163.com         
    pager                          13333333333 //手机号,收报警短信         
        }     //不要把这个符号写掉了

上面联系人模块里的wucr都是什么意思呢?

w=waring

u=unreachable

c=critical

d=down

r=recovery


再来看组的概念,软件默认的组是这样的:

wKiom1dNpb7Ao0soAAA1YZPt-iA522.png-wh_50

当我们在具体的监控项目里设定联系人是这个叫admins的组的时候所有的组员都会收到报警信息。如果组里有多个成员,那么就在members里加入成员名,用逗号相隔开,比如members  james.wade,bosh,这代表这个admins的组员有三个,分别是james,wade,bosh。