快捷搜索:   nginx

Ubuntu Server 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

5.在default-server.conf中的末尾加上(在目录:/etc/apache2/)

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/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
</Directory>

Alias /nagios /usr/local/nagios/share
<Directory "/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
</Directory>

6.设置登陆nagios的用户和密码

cd /
/usr/sbin/htpasswd2 -c /usr/local/nagios/etc/htpasswd admin //admin是用户名请修改为自己的,之后会要求你输入两次密码
yourpasswd
yourpasswd

7.登陆网页管理页面

启动http,启动nagios(如果你已经执行了上面的全部安装步骤可以直接 service nagios start 启动)

输入你的用户和密码(此时除了系统本身的服务外是没有其他服务被监视的,并且这时会提示你权限不够,请按下面步骤继续修改)

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                                    //后台启动服务

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 获得帮助信息)

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                                ;邮件地址()
        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)将监视的一个服务关闭,在规定的符合动作之后将收到报警信息。

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论