nagios中文:http://nagios-cn.sourceforge.net/
nagiso官方网站:http://www.nagios.org/
Ununtu下Nagios信息发送方式:
1.mail
如果要接收Nagios的EMail警报,需要安装(Postfix)包
sudo apt-get install mailx
需要编辑Nagios里的EMail通知送出命令,它位于/usr/local/nagios/etc/commands.cfg文件中,将里面的'/bin/mail'全部替换为'/usr/bin/mail'。一旦设置好需要重启动Nagios以使配置生效。
sudo /etc/init.d/nagios restart
2.MSN
用php来发送MSN信息。
wget http://downloads.fanatic.net.nz/dev/php/sendMsg.zip
unzip sendMsg.zip
mv sendMsg /path/to/web/dir/msn
可以先打开 http://server/msn/index.php 测试一下能否发送。如果没有问题,可以写一个脚本来执行 MSN 信息发送命令:
/usr/local/nagios/libexec/msn_send.sh:
#!/bin/sh
wget -O - -q --post-data="sender=nagios@live.cn&password=password&
recipient=$1&message=$2" http://server/msn/index.php > /dev/null
chmod +x /usr/local/nagios/libexec/msn_send.sh
/usr/local/nagios/etc/objects/commands.cfg:
define command{
command_name notify-host-by-msn
command_line /usr/local/nagios/libexec/msn_send.sh $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"`"
}
define command{
command_name notify-service-by-msn
command_line /usr/local/nagios/libexec/msn_send.sh $CONTACTEMAIL$ "`/usr/bin/printf "%b" "***** Monitor *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"`"
}
/usr/local/nagios/etcobjects/contacts.cfg :
define contact{
contact_name nagios
alias Nagios Msn
use generic-contact
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-service-by-msn
host_notification_commands notify-host-by-msn
}
参考于:http://blog.bluedata.org/nagios-notification-type/
3.飞信通知
飞信官方网站:http://www.it-adv.net/
下载:fetion20080910048-linux.tar.gz 和 library32.rar(版本不断更新)
tar xvfz fetion_linux_20080402.tar.gz
cd install
sudo cp fetion /usr/bin
fetion -h
如果出现如下错误:
error while loading shared libraries: libACE.so.5.4.7: cannot open shared object
file:
No such file or directory
说明缺少运行的库文件。
解决方法:
a.sudo apt-get install libACE.so.5.4.7 libACE_SSL.so.5.4.7
(可能你的ubuntu已经不提供安装这两个库文件,采用下面的方案)
b.unrar e library32.rar
cd library32
sudo cp *.* /lib/
sudo cp *.* /usr/lib/
重新执行 fetion -h.应该能看到所要的结果。
如果你有飞信号,可以执行一下。
fetion -u 飞信号 -p pwd 来登录。
/usr/local/nagios/etc/objects/commands.cfg:
# 'notify-service-by-fetion' command definition
define command{
command_name notify-service-by-fetion
command_line /usr/bin/feiton -u 13888888888 -p 123456 -t $CONTACTPAGER$ -m "$HOSTNAME$ $SERVICEDESC$ is $SERVICESTATE$ on $TIME$ result is $SERVICEOUTPUT$" $CONTACTPAGER$
}
/usr/local/nagios/etcobjects/contacts.cfg :
define contact{
contact_name fetion
alias nagios admin
host_notification_period 24x7
service_notification_period 24x7
host_notification_options d,r,
service_notification_options c,w,r
service_notification_commands notify-service-by-email,notify-service-by-fetion
# service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
pager 158010775111
}
最后将定义的contact添加到contactgroup中:
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin,nagios,fetion
}
当你定义一个主机的时候:
/usr/local/nagios/etc/objects/templates:
# Linux host definition template - This is NOT a real host, just a template!
define host{
name linux-server ; The name of this host template
use generic-host ; This template inherits other values from the generic-host template
check_period 24x7 ; By default, Linux hosts are checked round the clock
check_interval 5 ; Actively check the host every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 10 ; Check each Linux host 10 times (max)
check_command check-host-alive ; Default command to check Linux hosts
notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day
; Note that the notification_period variable is being overridden from
; the value that is inherited from the generic-host template!
notification_interval 120 ; Resend notifications every 2 hours
notification_options d,u,r ; Only send notifications for specific host states
contact_groups admins ;使用的联系组为admins
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
此处参考:http://yang2001.blog.51cto.com/25307/73164
posted on 2009-05-28 22:01
Blog of JoJo 阅读(371)
评论(0) 编辑 收藏 所属分类:
每日一记