nagios報警通過飛信
nagios報警通過飛信的具體操作如下:
圖-nagios
系統(tǒng)環(huán)境:suse 10.1
nagios:nagios-3.0.6.tar.gz 插件:nagios-plugins-1.4.13.tar.gz
飛信:fetion_linux_20080402.tar.tar 以及要用到的lib庫文件
以上軟件均能從網(wǎng)上下載
(飛信的軟件已經(jīng)更新,我這里使用的是舊版)
==================================================================================
1.下載軟件包
2.創(chuàng)建用戶和對應(yīng)的文件夾
- 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.設(shè)置登陸nagios的用戶和密碼
- cd /
- /usr/sbin/htpasswd2 -c /usr/local/nagios/etc/htpasswd admin //admin是用戶名請修改為自己的,之后會要求你輸入兩次密碼
- yourpasswd
- yourpasswd
7.登陸網(wǎng)頁管理頁面
啟動http服務(wù),啟動nagios(如果你已經(jīng)執(zhí)行了上面的全部安裝步驟可以直接 service nagios start 啟動服務(wù))
http://yoursite/nagios/
輸入你的用戶和密碼(此時除了系統(tǒng)本身的服務(wù)外是沒有其他服務(wù)被監(jiān)視的,并且這時會提示你權(quán)限不夠,請按下面步驟繼續(xù)修改)
8.修改/usr/local/nagios/etc/cgi.cfg的用戶權(quán)限
- 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.啟動服務(wù)
service nagios start
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg //測試配置文件是否正確
/usr/local/nagios/bin/nagios -d //后臺啟動服務(wù)
#p#
10.安裝飛信機(jī)器人
軟件: 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登陸后執(zhí)行這個步驟,拷貝過程中將自動中斷ssh連接并且無法重新連接,恭喜你你要去機(jī)房重新啟動ssh服務(wù)了)
4)測試飛信是否能發(fā)信息
cd /
/usr/local/nagios/libexec/sms -f 發(fā)信息的手機(jī)號碼 -p 飛信的密碼 -t 接受信息的手機(jī)號碼 -m “信息內(nèi)容”
(回車后如果發(fā)送成功會有提示顯示的,自己不能給自己發(fā)信息只能發(fā)給好友)
(可以使用/usr/local/nagios/libexec/sms --help 獲得幫助信息)
#p#
11.增加nagios飛信報警命令
1)修改/usr/local/nagios/etc/objects下的 commands.cfg文件
找到以下內(nèi)容:
- # '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 發(fā)信息的手機(jī)號碼 -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 發(fā)信息的手機(jī)號碼 -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 ;警報接受人手機(jī)
}
然后在組中將他添加為成員
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 ; 服務(wù)報警,原來是發(fā)送郵件報警的,這里直接改成短信了
host_notification_commands notify-host-by-sms ; 主機(jī)報警,原來是發(fā)送郵件報警的,這里直接改成短信了
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT,
JUST A TEM
PLATE!
}
(如果要保留郵件報警可以使用逗號隔開寫上命令)
保存退出
4)增加要監(jiān)視的主機(jī)或服務(wù) 修改localhost.cfg (linux主機(jī)或服務(wù)) switch.cfg(交換機(jī))windows.cfg(widows服務(wù)器)
(這里按例子來增加就可以了)默認(rèn)的配置文件/usr/local/nagios/etc/nagios.cfg下是沒有開switch.cfg和windows.cfg的,如果要用到請將
前面的#號刪除。
5)將監(jiān)視的一個服務(wù)關(guān)閉,在規(guī)定的符合動作之后將收到報警信息。
通過文章,我們學(xué)會了nagios的又一個技巧:如果nagios報警,可以通過飛信發(fā)短信給你的手機(jī),簡單方便。希望各位能學(xué)會!
【編輯推薦】
- nagios客戶端程序的安裝
- Nagios 功能與結(jié)構(gòu)
- nagios 在 Debian 的部署結(jié)構(gòu)
- 在Linux上運(yùn)行 Nagios 系統(tǒng)
- Nagios功能之監(jiān)控windows的本地信息
- Nagios 配置之驗(yàn)收工作