Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1839681
  • 博文数量: 117
  • 博客积分: 2559
  • 博客等级: 少校
  • 技术积分: 4385
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-13 20:08
个人简介

作为初学者,要想取得进步,成为高手,首先应该了解自己的不足之处.

文章分类

全部博文(117)

文章存档

2014年(1)

2013年(25)

2012年(13)

2011年(77)

2010年(1)

分类: 系统运维

2011-05-12 18:28:59

1. 软件简介
 (移动用户必须开通飞信业务;如果发给谁,一定是此人的飞信好友!!飞信机器人)
 将飞信下载到nagios的目录下
 pwd
 /usr/local/nagios
 tar zxvf fetion20091117-linux.tar.gz
 cd fx
 测试:
 LD_LIBRARY_PATH=. ./fetion --mobile=源手机号 --pwd=源飞信密码 --to=目的手机号 --msg-utf8=test
 发送成功后可进行整合。发送不成功请关注网站的说明
2. 编辑命令文件
 cd /usr/local/nagios/etc/objects
 vim commands.cfg
 增加host-notify-by-fetion和service-notify-by-fetion命令的定义,根据实际情况修改中文部分。(直接copy到Linux中配置。)
 #############################################################################################
 # feixin #
 #############################################################################################
 define command{
 command_name host-notify-by-fetion
 command_line LD_LIBRARY_PATH=/usr/local/nagios/fx /usr/local/nagios/fx/fetion --mobile=源手机号 --pwd=源飞信密码 --to=目的手机号 --msg-utf8="Host $HOSTSTATE$ alert for $HOSTNAME$! on '$LONGDATETIME$'" $CONTACTPAGER$
 }?
 define command{
 command_name service-notify-by-fetion
 command_line LD_LIBRARY_PATH=/usr/local/nagios/fx /usr/local/nagios/fx/fetion --mobile=源手机号 --pwd=源飞信密码 --to=目的手机号 --msg-utf8="$HOSTADDRESS$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on $LONGDATETIME$" $CONTACTPAGER$
 }?
 另一例
 define command{
 command_name notify-host-by-sms
 command_line LD_LIBRARY_PATH=/usr/local/fx/ /usr/local/fx/fetion --mobile=源手机号 --pwd=密码 --to=$CONTACTPAGER$ --msg-utf8="$HOSTSTATE$!$NO
 TIFICATIONTYPE$ FROM $HOSTADDRESS$($HOSTNAME$)\nMore Detail:$HOSTOUTPUT$"
 }
 #注意这个函数,指定到联系人组
 define command{
 command_name notify-service-by-sms
 command_line LD_LIBRARY_PATH=/usr/local/fx/ /usr/local/fx/fetion --mobile= --pwd= --to=$CONTACTPAGER$ --msg-utf8="$SERVICESTATE$!
 $NOTIFICATIONTYPE$ FROM $SERVICEDESC$ in $HOSTADDRESS$($HOSTNAME$)\nMore Detail:$SERVICEOUTPUT$"
 }
3. 配置联系人
 编辑contact.cfg,添加短信通知
 vim contacts.cfg
 ######################feixinbaojing######################
 define contact{
 contact_name ninglianjie
 use generic-contact
 alias Nagios Admin
 email
 service_notification_commands notify-service-by-email,service-notify-by-fetion
 host_notification_commands notify-host-by-email,host-notify-by-fetion
 }
 再修改###CONTACT GROUPS###组的信息,添加新创建的联系人。
 define contactgroup{
 contactgroup_name admins
 alias Nagios Administrators
 members nagiosadmin,ninglianjie
 }
4. 主机监控
 如果监控主机意外down掉,则报警,如果是正常关闭,则不会报警。
 提醒任务首先要查看hosts.cfg,在这个文件中有如下几个参数关系到提醒,要注意这个参数可能在templates.cfg模板文件中已经配置。
 notifications_enabled
是否开启提醒功能。1为开启,0为禁用。
 contact_groups
定义接受提醒的联系人组,如果hosts.cfg文件中所有的条件都符合,那么提醒任务将会继续检查contacts.cfg文件,以及contactgroup(联系人组)的定义。
 notification_interval
重复发送提醒信息的最短间隔时间。默认间隔时间是60分钟。如果这个值设置为0,将不会发送重复提醒。
 notification_period
发送提醒的时间段。非常重要的主机(服务)定义为7×24。如果不在定义的时间段内,无论什么问题发生,都不会发送提醒。
 notification_options
定义了发送提醒包括的情况:d=状态为DOWN,u=状态为UNREACHABLE,r=状态恢复为OK,f=flapping,n=不发送提醒。
 配置顺序:
 如果要提醒信息顺利通过hosts.cfg文件,并且发出提醒的话,要满足:
1) notifications_enabled值为1(这个值可能在模板中已经定义)
2) contact_groups的组已经定义正确(contacts.cfg配置文件)
3) notification_period定义的时间段包括出问题的时间(查看模板中,use的时间段定义——timeperiods.cfg)
4) notification_options定义的包括需要提醒的状态改变
5. 服务监控
 注意:模板文件中的register
 register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
 意思是设定非注册。此项register为0值的时候Nagios会理解到该定义段是主机类而为实体主机的定义段。因此,在自定义主机类段的时候,记得也要加入这一个属性,用来向Nagios表明该段为主机类段。
 vim services.cfg(新编译的软件,没有这个;测试的话,可以在localhost.cfg中定义)
 利用模板local-service
 define service {
 use local-service
 host_name localhost
 service_description check_tcp 80
 check_command check_tcp!80
 }

阅读(3780) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~