nagios报警通过飞信的具体操作如下:
图-nagios
系统环境:suse 10.1
nagios:nagios-3.0.6.tar.gz 插件:nagios-plugins-1.4.13.tar.gz
飞信:fetion_linux_20080402.tar.tar 以及要用到的lib库文件
以上软件均能从网上下载
(飞信的软件已经更新,我这里使用的是旧版)
==================================================================================
1.下载软件包
2.创建用户和对应的文件夹
- groupadd nagios
- useradd nagios -g nagios
- cd /usr/local
- mkdir nagios
- chown nagios.nagios nagios
3.解压缩软件并编译
- tar -zxvf nagios-3.0.6.tar.gz
- cd nagios-3.0.6
- ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
- make all
- make install
- make install-init
- make install-commandmode
- make install-config
4.安装插件
- tar -zxvf nagios-plugins-1.4.13.tar.gz
- cd nagios-plugins
- ./configure --prefix=/usr/local/nagios/
- make
- make install
#p#
5.在default-server.conf中的末尾加上(在目录:/etc/apache2/)
- ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
- Options ExecCGI
- AllowOverride None
- Order allow,deny
- Allow from all
- AuthName "Nagios Access"
- AuthType Basic
- AuthUserFile /usr/local/nagios/etc/htpasswd
- Require valid-user
- Alias /nagios /usr/local/nagios/share
- Options None
- AllowOverride None
- Order allow,deny
- Allow from all
- AuthName "Nagios Access"
- AuthType Basic
- AuthUserFile /usr/local/nagios/etc/htpasswd
- Require valid-user
6.设置登陆nagios的用户和密码
- cd /
- /usr/sbin/htpasswd2 -c /usr/local/nagios/etc/htpasswd admin //admin是用户名请修改为自己的,之后会要求你输入两次密码
- yourpasswd
- yourpasswd
7.登陆网页管理页面
启动http服务,启动nagios(如果你已经执行了上面的全部安装步骤可以直接 service nagios start 启动服务)
http://yoursite/nagios/
输入你的用户和密码(此时除了系统本身的服务外是没有其他服务被监视的,并且这时会提示你权限不够,请按下面步骤继续修改)
8.修改/usr/local/nagios/etc/cgi.cfg的用户权限
- efault_user_name=admin
- authorized_for_system_information=nagiosadmin,admin
- authorized_for_configuration_information=nagiosadmin,admin
- authorized_for_system_commands=nagiosadmin,admin
- authorized_for_all_services=nagiosadmin,admin
- authorized_for_all_hosts=nagiosadmin,admin
- authorized_for_all_service_commands=nagiosadmin,admin
- authorized_for_all_host_commands=nagiosadmin,admin
9.启动服务
service nagios start
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg //测试配置文件是否正确
/usr/local/nagios/bin/nagios -d //后台启动服务
#p#
10.安装飞信机器人
软件: fetion_linux_20080402.tar.tar
库文件:library32(libACE.so.5.4.7 libACE_SSL.so.5.4.7 libcrypto.so.0.9.8 libssl.so.0.9.8
将四个库文件拷贝至/usr/lib 和 /lib下
1)tar -zxvf fetion_linux_20080402.tar.tar //解出得到一个文件:sms
2)cp sms /usr/local/nagios/libexec //将sms拷贝到/usr/local/nagios/libexec目录下
3)拷贝library32下的所有库文件到 /lib 以及/usr/lib
(注意:假如你是通过ssh登陆后执行这个步骤,拷贝过程中将自动中断ssh连接并且无法重新连接,恭喜你你要去机房重新启动ssh服务了)
4)测试飞信是否能发信息
cd /
/usr/local/nagios/libexec/sms -f 发信息的手机号码 -p 飞信的密码 -t 接受信息的手机号码 -m “信息内容”
(回车后如果发送成功会有提示显示的,自己不能给自己发信息只能发给好友)
(可以使用/usr/local/nagios/libexec/sms --help 获得帮助信息)
#p#
11.增加nagios飞信报警命令
1)修改/usr/local/nagios/etc/objects下的 commands.cfg文件
找到以下内容:
- # 'notify-service-by-email' command definition
- define command{
- command_name notify-service-by-email
- command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService:
- $SERVICEDESC$\
- nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional
- Info:\n\n$SERVICEOUTPUT
- $" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
- }
在后面增加:
#notify-host-by-sms
define command{
command_name notify-host-by-sms
command_line /usr/local/nagios/libexec/sms -f 发信息的手机号码 -p 飞信密码 -t $CONTACTPAGER$ -m "$HOSTNAME$
$SERVICEDESC$ is $SE
RVICESTATE$ on $TIME$ result is $SERVICEOUTPUT$" $CONTACTPAGER$
}
#notify-service-by-sms
define command{
command_name notify-service-by-sms
command_line /usr/local/nagios/libexec/sms -f 发信息的手机号码 -p 飞信密码 -t $CONTACTPAGER$ -m "$HOSTNAME$
$SERVICEDESC$ is $SE
RVICESTATE$ on $TIME$ result is $SERVICEOUTPUT$" $CONTACTPAGER$
}
保存退出
2)修改/usr/local/nagios/etc/objects下的 contacts.cfg文件(警报接受人)
按例子格式添加就可以了(给个示例)
define contact{
contact_name abc ; 警报接受人
use generic-contact ; 模板,如果不是特殊需要请不要修改
alias System-Admin ; 警报接受人头衔
email abc@163.com ;邮件地址()
pager 13800138000 ;警报接受人手机
}
然后在组中将他添加为成员
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members abc,def ;多个成员用逗号隔开
}
保存退出
3)修改/usr/local/nagios/etc/objects 下的 templates.cfg 报警模板
define contact{
name generic-contact ; The name of this contact template
service_notification_period 24x7 ; service notifications can be sent anytime
host_notification_period 24x7 ; host notifications can be sent anytime
service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events,
and sc
heduled downtime events
host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events,
and sched
uled downtime events
service_notification_commands notify-service-by-sms ; 服务报警,原来是发送邮件报警的,这里直接改成短信了
host_notification_commands notify-host-by-sms ; 主机报警,原来是发送邮件报警的,这里直接改成短信了
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT,
JUST A TEM
PLATE!
}
(如果要保留邮件报警可以使用逗号隔开写上命令)
保存退出
4)增加要监视的主机或服务 修改localhost.cfg (linux主机或服务) switch.cfg(交换机)windows.cfg(widows服务器)
(这里按例子来增加就可以了)默认的配置文件/usr/local/nagios/etc/nagios.cfg下是没有开switch.cfg和windows.cfg的,如果要用到请将
前面的#号删除。
5)将监视的一个服务关闭,在规定的符合动作之后将收到报警信息。
通过文章,我们学会了nagios的又一个技巧:如果nagios报警,可以通过飞信发短信给你的手机,简单方便。希望各位能学会!
【编辑推荐】
- nagios客户端程序的安装
- Nagios 功能与结构
- nagios 在 Debian 的部署结构
- 在Linux上运行 Nagios 系统
- Nagios功能之监控windows的本地信息
- Nagios 配置之验收工作