一,實驗環(huán)境,
成都網(wǎng)站建設、成都網(wǎng)站制作,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)公司已向成百上千家企業(yè)提供了,網(wǎng)站設計,網(wǎng)站制作,網(wǎng)絡營銷等服務!設計與技術結合,多年網(wǎng)站推廣經(jīng)驗,合理的價格為您打造企業(yè)品質網(wǎng)站。
1,監(jiān)控端:希望用網(wǎng)頁界面來顯示監(jiān)控結果,因此需要安裝apache和php,如果希望將數(shù)據(jù)存儲到數(shù)據(jù)庫中還需要安裝MySQL。centos 6.3 64,nrpe-2.13.tar.gz, nagios-3.4.1.tar.gz
nagios-plugins-1.4.16.tar.gz。
二,配置安裝監(jiān)控端:
1,安裝環(huán)境,
# yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql
由于我這是服務器是從數(shù)據(jù)庫。因此少安裝了mysql-server,mysql已經(jīng)編譯好了,如果你主機上沒有mysql則可以執(zhí)行下面這條命令
# yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql mysql mysql-devel mysql-server
# yum -y groupinstall 'Development tools'
2,添加nagios運行行需要用戶和組
# groupadd nagcmd 這個用戶組用于從web接口執(zhí)行外部命令
# useradd -G nagcmd nagios ,不能加-s /sbin/nologin,下面啟動nagios服務需要用到,如果加了
-s /sbin/nogloin啟動服務時會提示Starting nagios:This account is currently not available.
# passwd nagios
把apache加入到nagcmd組,以便于在通過web Interface操作nagios時能夠具有足夠的權限:
# usermod -a -G nagcmd apache
三,編譯nagios
# tar zxf nagios-3.4.1.tar.gz
# cd nagios
# ./configure --with-command-group=nagcmd --enable-event-broker
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# make install-webconf 在/etc/httpd/conf.d/生成了nagios.conf
# cd /usr/local/nagios
# ls
bin etc libexec sbin share var 如果有這個五個目錄則nagios安裝成功
#創(chuàng)建一個登錄nagios web程序的用戶,這個用戶帳號在以后通過web登錄nagios認證時所用:
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
四,編譯nagios-plugin
nagios的所有監(jiān)控工作都是通過插件完成的,因此,在啟動nagios之前還需要為其安裝官方提供的插件。
# tar zxf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install
如果出現(xiàn)下面錯誤則需要安裝 yum -y install openssl openssl-devel
check_http.c:312: error: ?.sl_version?.undeclared (first use in this function)
check_http.c:312: error: (Each undeclared identifier is reported only once
check_http.c:312: error: for each function it appears in.)
make[2]: *** [check_http.o] Error 1
make[2]: Leaving directory `/root/nagios-plugins-1.4.16/plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/nagios-plugins-1.4.16'
make: *** [all] Error 2
#make clean
#make && make install
五、配置并啟動Nagios
(1)把nagios添加為系統(tǒng)服務并將之加入到自動啟動服務隊列:
# chkconfig --add nagios
# chkconfig nagios on
(2)檢查其主配置文件的語法是否正確:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
(3)如果上面的語法檢查沒有問題,接下來就可以正式啟動nagios服務了:
# service nagios start
#啟動http服務 service httpd start
# /etc/init.d/iptables stop
(4)配置selinux
如果系統(tǒng)開啟了selinux服務,則默認為拒絕nagios web cgi程序的運行。
#setenforce 0 表示暫時關閉
如果想完全關閉selinux,可以通過編輯/etc/sysconfig/selinux文件,將其中的selinux后面的值“forceing”修改為“disabled”即可,但是需要重啟。
當然,也可以通過以下方式將nagios的CGI程序運行于SELinux/targeted模式而不用關閉selinux:
# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin
# chcon -R -t httpd_sys_content_t /usr/local/nagios/share
(5)通過web界面查看nagios:192.168.1.15是我監(jiān)控端的IP.
http://192.168.1.15/nagios
登錄時需要指定前面設定的web認證帳號和密碼。
打開網(wǎng)頁如果看到:HTTP WARNING: HTTP/1.1 403Forbidden
因為nagios監(jiān)控/var/www/html/下面的index.html文件,若沒有就會提示錯誤,創(chuàng)建一個文件即可!
echo "welcome" > /var/www/html/index.html
(6)Nagios的主配置文件
1,Nagios的主配置文件/usr/local/nagios/etc/nagios.cfg,其語法非常簡潔,通常#開頭的行為注釋行,而參數(shù)的設置格式為<parameter>=<value>;其中,有些參數(shù)是可以重復出現(xiàn)的。其中常用的參數(shù)說明如下:
log_file: 設定Nagios的日志文件;
cfg_file: Nagios對象定義的相關文件,此參數(shù)可重復使用多次以指定多個文件;
cfg_dir: 設定Nagios對象定義的相關文件所在的目錄,此目錄中的所有文件都會被作為對象定義的文件;此參數(shù)可重復使用多次以指定多個目錄;
resource_file: 設定Nagios附加的宏定義的相關文件;
status_file: 設定Nagios存儲所有主機和服務當前狀態(tài)信息的文件;
status_update_interval: 設定status_file指定的文件中狀態(tài)信息的更新頻率;
service_check_timeout: 設定服務檢測的超時時間,默認為60秒;
host_check_timeout: 設定主機檢測的超時時間,默認為30秒;
notification_timeout: 設定通知信息發(fā)送嘗試的超時時間,默認為30秒;
2、resource_file和宏定義
在主配置文件中,參數(shù)resource_file用于定義所有用戶變量(即“宏”)的存儲文件,它用于存儲對象定義中的可以訪問的額外信息,如訪問某服務的密碼等;因此,這些信息通常都是些敏感數(shù)據(jù),一般不允許通過Web接口來訪問。此文件中可以定義的宏可多達32個,它們分別為$USER1$,$USER2$...$USER32,這些宏一般在check命令中引用。通常情況下$USER1$用于引用Nagios插件所在目錄這個路徑信息,因此,一般不建議修改其值。
3,Nagios事先定義了許多宏,它們的值通常依賴于其上下文。如下:
HOSTNAME: 用于引用host_name指定所定義的主機的主機名;每個主機的主機名都是唯一的;
HOSTADDRESS: 用于引用host對象中的address指令的值,它通常可以為IP地址或主機名;
HOSTDISPLAYNAME: 用于引用host對象中alias指令的值,用以描述當前主機,即主機的顯示名稱;
HOSTSTATE:某主機的當前狀態(tài),為UP,DOWN,UNREACHABLE三者之一;
HOSTGROUPNAMES: 用于引用某主機所屬的所有主機組的簡名,主機組名稱之間以逗號分隔;
LASTHOSTCHECK:用于引用某主機上次檢測的時間和日期,Unix時間戳格式;
LISTHOSTSTATE:用于引用某主機前一次檢測時的狀態(tài),為UP,DOWN或UNREACHABLE三者之一;
SERVICEDESC: 用于引用對應service對象中的desccription指令的值;
SERVICESTATE: 用于引用某服務的當前狀態(tài),為OK,WARNING,UNKOWN或CRITICAL四者之一;
SERVICEGROUPNAMES: 用于引用某服務所屬的所有服務組的簡名,服務組名稱之間以逗號分隔;
CONTACTNAME: 用于引用某contact對象中contact_name指令的值;
CONTACTALIAS: 用于引用某contact對象中alias指令的值;
CONTACTEMAIL: 用于引用某contact對象中email指令的值;
CONTACTGROUPNAMES: 用于引用某contact所屬的所有contact組的簡名,contact組名稱之間以逗號分隔;
4,Nagios 3還支持自定義宏,只是它的定義和使用方式比較獨特。管理員可以在某類型對象的定義中使用額外的指令,并能夠在命令中使用特別格式的宏來引用此指令的值。其引用方式根據(jù)對象類型的不同也有所不同,具體如下:
$_HOST<variable>$ – 引用在主機對象中定義的指令的值;
$_SERVICE<variable>$ – 引用在服務對象中定義的指令的值;
$_CONTACT<variable>$ – 引用在聯(lián)系人對象中定義的指令的值;
六、基于NRPE監(jiān)控遠程Linux主機
1,Nagios監(jiān)控遠程主機的方法有多種,其方式包括SNMP、NRPE、SSH和NCSA等。這里介紹其通過NRPE監(jiān)控遠程Linux主機的方式。
2,NRPE(Nagios Remote Plugin Executor)是用于在遠端服務器上運行檢測命令的守護進程,它用于讓Nagios監(jiān)控端基于安裝的方式觸發(fā)遠端主機上的檢測命令,并將檢測結果輸出至監(jiān)控端。而其執(zhí)行的開銷遠低于基于SSH的檢測方式,而且檢測過程并不需要遠程主機上的系統(tǒng)帳號等信息,其安全性也高于SSH的檢測方式。
2、安裝配置被監(jiān)控端
1)先添加nagios用戶
# useradd -s /sbin/nologin nagios
2)NRPE依賴于nagios-plugins,因此,需要先安裝
# tar zxf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make all
# make instal
3)安裝NRPE
# tar -zxvf nrpe-2.13.tar.gz
# cd nrpe-2.13.tar.gz
# ./configure --with-nrpe-user=nagios \
--with-nrpe-group=nagios \
--with-nagios-user=nagios \
--with-nagios-group=nagios \
--enable-command-args \
--enable-ssl
# make all
# make install-plugin
# make install-daemon 安裝成守護進程
# make install-daemon-config 守護進程的配置文件
修改nrpe配置文件
#vim /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=192.168.1.15 監(jiān)控端的IP
4)啟動NRPE
# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
為了便于NRPE服務的啟動,可以將如下內(nèi)容定義為/etc/init.d/nrped腳本:
#!/bin/bash
# chkconfig: 2345 88 12
# description: NRPE DAEMON
NRPE=/usr/local/nagios/bin/nrpe
NRPECONF=/usr/local/nagios/etc/nrpe.cfg
case "$1" in
start)
echo -n "Starting NRPE daemon..."
$NRPE -c $NRPECONF -d
echo " done."
;;
stop)
echo -n "Stopping NRPE daemon..."
pkill -u nagios nrpe
echo " done."
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage: $0 start|stop|restart"
;;
esac
exit 0
七、在監(jiān)控端安裝NRPE
# tar -zxvf nrpe-2.13.tar.gz
# cd nrpe-2.13.tar.gz
# ./configure --with-nrpe-user=nagios \
--with-nrpe-group=nagios \
--with-nagios-user=nagios \
--with-nagios-group=nagios \
--enable-command-args \
--enable-ssl
# make all
# make install-plugin
八,使用nrpe監(jiān)控Linux主機
1)在監(jiān)控端,測試遠程主機(被監(jiān)控端)
#cd /usr/local/nagios/libexec/
# ./check_nrpe -H 192.168.1.12
NRPE v2.13
表示命令能夠正常監(jiān)控
2)定義如何監(jiān)控遠程主機及服務:
通過NRPE監(jiān)控遠程Linux主機要使用chech_nrpe插件進行,其語法格式如下:
check_nrpe -H <host> [-n] [-u] [-p <port>] [-t <timeout>] [-c <command>] [-a <arglist...>]
#cd /usr/local/nagios/etc/objects
#vim command.cfg
3)定義監(jiān)控遠程Linux主機的命令:
define command
{
command_name check_nrpe
command_line $USER1$/check_nrpe –H "$HOSTADDRESS$" -c $ARG1$
}
4)定義被監(jiān)控機的主機
#vim linuxhost.cfg
define host{
use linux-server
host_name linuxhost
alias My linux host
address 192.168.1.12
}
define service{
use generic-service
host_name linuxhost
service_description CHECK USERS
check_command check_nrpe!check_users
}
define service{
use generic-service
host_name linuxhost
service_description load
check_command check_nrpe!check_load
}
define service{
use generic-service
host_name linuxhost
service_description disk sda1
check_command check_nrpe!check_sda1
}
define service{
use generic-service
host_name linuxhost
service_description Zombile procs
check_command check_nrpe!check_zombie_procs
}
define service{
use generic-service
host_name linuxhost
service_description total procs
check_command check_nrpe!check_total_procs
}
check_nrpe!后面接的命令是在 /usr/local/nagios/etc/nrpe.cfg里寫定義好的命令,如下面只有五個,中括號內(nèi)的為命令名
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
5)啟用linuxhost.cfg文件
vim /usr/local/nagios/etc/nagios.cfg添加一行
cfg_file=/usr/local/nagios/etc/objects/linuxhost.cfg
檢查語法錯誤:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
沒有提示錯誤,則下一步
service nagios restart
打開http://192.168.1.15/nagios
九,使用check_nt監(jiān)控windows主機
在window主機上需要先安裝nsclient,根據(jù)自己的系統(tǒng)下載。
http://nsclient.org/nscp/downloads,在安裝過程選擇默認。安裝到這里需要填寫監(jiān)控端的ip,與監(jiān)控這臺主機的密碼。把下面都選中所支持的都選中。

安裝完之后在window命令行窗口查看沒有沒有啟動5666和12489端口,如果有表示正常。

十,在監(jiān)控端操作,用命令能否正常監(jiān)控被監(jiān)控端,192.168.1.5為被監(jiān)控端
#cd /usr/local/nagios/bin/
#./check_nt -h 查看幫助
#./check_nt -H 192.168.1.5 -v UPTIME
沒有指定端口,而默認的端口是1248
CRITICAL - Socket timeout after 10 seconds
# ./check_nt -H 192.168.1.5 -v UPTIME -p 12489
沒有指定密碼
NSClient - ERROR: Invalid password.
# ./check_nt -H 192.168.1.5 -v UPTIME -p 12489 -s admin
System Uptime - 0 day(s) 0 hour(s) 24 minute(s)
# ./check_nt -H 192.168.1.5 -p 12489 -v CPULOAD -w 80 -c 90 -l 5,80,90 -s admin
CPU Load 10% (5 min average) | '5 min avg Load'=10%;80;90;0;100
一般信息 | 資源的性能信息
他們之間輸出要用|隔開,如果自己開發(fā)插件必須使用這種格式,如果
只輸出一般信息一行就行。
-w 警告比例 -c 緊急比例 -l 表示過去5分鐘的平均值,80%為警告,90%為緊急
# ./check_nt -H 192.168.1.5 -p 12489 -v USEDDISKSPACE -w 80 -c 90 -l C -s admin
C:\ - total: 50.01 Gb - used: 18.94 Gb (38%) - free 31.07 Gb (62%) | 'C:\ Used Space'=18.94Gb;40.01;45.01;0.00;50.01
十一,在監(jiān)控端定義好被監(jiān)控端的主機,服務,命令
(1)定義命令
cd /usr/local/nagios/etc/objects
vim commands.cfg 在最后新增下列
define command{
command_name check_nt
\\定義命令的名字,可以跟插件的名字相同,
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s admin -v $ARG1$ $ARG2$
\\$..$表示系統(tǒng)內(nèi)置的宏,也就是所謂的變量
\\$USER1$表示插件所在的目錄
\\-H 指定主機地址
\\$HOSTADDRESS$ 應用到哪個主機,就用哪個主機的地址
\\$ARG1$傳遞的參數(shù)
\\-s指定密碼,如果有需要加,如上面安裝時設置了密碼為admin
}
(2)定義主機
#cd /usr/local/nagios/etc/objects
vim window.cfg 修改原來默認的,將主機組一段注釋。
define host{
use windows-server ; 使用模板,分號后面的表示注釋
host_name winhost ; 在nagios網(wǎng)頁顯示的主機名,修改成自己服務器的編號最好,方便記憶
alias My Windows host ; A longer name associated with the host
address 192.168.1.5 ; 被監(jiān)控機的IP
}
define service{
use generic-service
host_name winhost
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION //傳遞給-v 的參數(shù)第一個參數(shù)
}
define service{
use generic-service
host_name winhost
service_description Uptime
check_command check_nt!UPTIME
}
define service{
use generic-service
host_name winhost
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90 //傳遞兩過參數(shù)!CPULOAD 和-! -l 5,80,90
}
:.,$s@winserver@winhost@g 表示在當行到最后后,將所有的winserver替換成winhost
(3)啟用windows配置文件
#cd /usr/local/nagios/etc/
#vim nagios.cfg
# Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg
將此行的#刪除,啟用windows配置文件
由于剛才修改過文件,最好檢查配置文件語法有沒有錯誤
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Reading configuration data...
Read main config file okay...
Processing object config file '/usr/local/nagios/etc/objects/commands.cfg'...
Warning: Duplicate definition found for command 'check_nt' (config file '/usr/local/nagios/etc/objects/commands.cfg', starting on line 240)
表示重復定義了一個check_nt命令,在commands.cfg中有一個錯誤,240行
Error: Could not add object property in file '/usr/local/nagios/etc/objects/commands.cfg' on line 241.
Error processing object config files!
在command.cfg中本來已經(jīng)有一個check_nt,因此需要將其后面添加的命令注釋。在原來的check_nt的命令行添加
-s admin,因為在安裝時設置了密碼
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s admin
}
提示錯誤,因此按剛才的提示修正好錯誤
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg繼續(xù)檢查一次
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
提示ok
重新啟動nagios服務
#service nagios restart
#打開http://192.168.1.15/nagios可以看到剛才的監(jiān)控的winhost
十二,監(jiān)控mysql與http
# ./check_http -H 192.168.1.12 先測試192.168.1.12上面的web服務 #cd /usr/local/nagios/etc/objects
1)監(jiān)控http
定義命令
在commands.cfg已經(jīng)存在檢測命令,因此無需添加,只需要在linuxhost.cfg文件定義好主機
vim commands.cfg
# 'check_http' command definition
define command{
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
定義服務
vim linuxhost.cfg 在最后一行再添加一個服務
define service{
use generic-service
host_name linuxhost
service_description web service
check_command check_http
}
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# service nagios restart
2)檢測mysql
vim commands.cfg 添加如下行
define command {
command_name check_mysql
command_line $USER1$/check_mysql -H $HOSTAADDRESS$ -u $ARG1$ -p $ARG2$
}
vim linuxhost.cfg 添加如下行 由于此文件存儲了mysql的用戶名與密碼,需要額外小心
define service{
use generic-service
host_name linuxhost
service_description mysql server
check_command check_mysql -uroot -p123456
}
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# service nagios restart
十三,定義向管理員發(fā)起通知
#cd /usr/local/nagios/etc/objects
[root@test1 objects]#vim templates.cfg
define service{
name local-service
use generic-service 表示繼承了generic-service里的全部屬性,因此服務資源監(jiān)控的聯(lián)系人還是admins組
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
register 0
}
查看contacs.cfg里定義的
[root@test1 objects]# vim contacts.cfg
define contact{
contact_name nagiosadmin
use generic-contact 繼承generic-contact里的屬性,打開templates.cfg,generic-contact里定義什么時間接收郵件等一些屬性
alias Nagios Admin
email nagios@qq.com 會發(fā)送到這個郵箱,這個郵箱可以修改成互聯(lián)網(wǎng)的上的,但是本機需要有smtp客戶端,
查看是否有netstat -tan |grep 25 centos 6.0版本的系統(tǒng)已經(jīng)改用postfix
}define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
[root@test1 objects]#vim commands.cfg 查看generic-service里的notify-host-by-email與notify-service-by-email
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
# '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$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
十四,定義飛信改送通知。http://blog.51yip.com/server/1397.html這個大師寫得不借,我也按他的方式安裝的。飛信命令已經(jīng)上傳至附件中,還需要下載飛信的依賴的庫文件。如果不想下載,則到下載中心,下載,我已將飛信和飛信命令都上傳。解壓完后,再上傳到linux中,
wget http://www.it-adv.net/fetion/cenos54X64_20101113.rar
wget http://www.it-adv.net/fetion/linuxso_20101113.rar
如果到下載中心下載我上傳的飛信壓縮包,則按下面步驟安裝飛信
#在fetion目錄中應該有fetion程序和lib目錄
#mv fetion /usr/local/
# vim /etc/ld.so.conf.d/fetion添加一行
/usr/local/fetion/lib
# ldconfig /usr/local/fetion/lib/ 后面每次執(zhí)行一次都會下面的提示,不用管。
ldconfig: /usr/local/fetion/lib/libstdc++.so.6 is not a symbolic link
ldconfig: /usr/local/fetion/lib/libpamc.so.0 is not a symbolic link
ldconfig: /usr/local/fetion/lib/libpam_misc.so.0 is not a symbolic link
ldconfig: /usr/local/fetion/lib/libcap.so.1 is not a symbolic link
ldconfig: /usr/local/fetion/lib/libcom_err.so.2 is not a symbolic link
ldconfig: /usr/local/fetion/lib/libpcre.so.0 is not a symbolic link
ldconfig: /usr/local/fetion/lib/libpam.so.0 is not a symbolic link
ldconfig: /usr/local/fetion/lib/ld-linux.so.2 is not a symbolic link
#chown nagios:nagios /usr/local/fetion
# chmod +x /usr/local/fetion/fetion
# /usr/local/fetion/fetion
-bash: /usr/local/fetion/fetion: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
#yum -y install ld-linux.so.2
#ldconfig /usr/local/fetion/lib
# /usr/local/fetion/fetion
/usr/local/fetion/fetion: error while loading shared libraries: libACE-5.7.2.so: cannot open shared object file: No such file or directory
#yum -y install openssl-devel
#ldconfig /usr/local/fetion/lib
# /usr/local/fetion/fetion
/usr/local/fetion/fetion: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
#yum -y install libgcc_s.so.1
#ldconfig /usr/local/fetion/lib
# /usr/local/fetion/fetion
/usr/local/fetion/fetion: error while loading shared libraries: libgssapi_krb5.so.2: cannot open shared object file: No such file or directory
#yum -y install libgssapi_krb5.so.2
#ldconfig /usr/local/fetion/lib
# /usr/local/fetion/fetion
/usr/local/fetion/fetion: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
#yum -y install libz.so.1
#ldconfig /usr/local/fetion/lib
#/usr/local/fetion 顯示這個表示飛信能正常使用
Usage:
--mobile=[mobile]
--sid=[sid]
--pwd=[pwd]
--config=[config file] *format:index mobile password
--index=[index no in config file,refer to sample.conf]
--debug *debug mode on
--hide *login fetion in hidden state
--to=[mobile/sid]
1)飛信安裝好后,先測試能否發(fā)送,現(xiàn)在飛信可以用聯(lián)通號注冊,但是這個飛信程序只支持移動號碼,因此需要用移動號碼的飛信來測試。先送給自己試下,再給自己的飛信好友發(fā)送。
[root@test1 ~]# /usr/local/fetion/fetion --mobile=1361263XXXX--pwd=xxxxx--to=1361263xxxx--msg-utf8="test"
2)上面ok,則修改nagios
cd /usr/local/nagios/etc/objects/
1,定義命令 vim command.cfgs 添加下面內(nèi)容
define command {
command_name notify-host-by-fetion
command_line /usr/local/fetion/fetion --mobile=1361265xxxx--pwd=123456--msg-utf8="$NOTIFICATIONTYPE$ Host: $HOSTNAME$ State: $HOSTSTATE$ Address: $HOSTADDRESS$ Info: $HOSTOUTPUT$ Date/Time: $LONGDATETIME$"--to=$CONTACTPAGER$
}
define command {
command_name notify-service-by-fetion
command_line /usr/local/fetion/fetion --mobile=1361265xxxx--pwd=123456--msg-utf8=" $NOTIFICATIONTYPE$ Service: $SERVICEDESC$ Host: $HOSTALIAS$ Address: $HOSTADDRESS$ State: $SERVICESTATE$ Date/Time: $LONGDATETIME$ Additional Info: $SERVICEOUTPUT$"--to=$CONTACTPAGER$
}
注解:$CONTACTNAME$: 用于引用某contact對象中contact_name指令的值;也就是contacts.cfg定義的contact_name定義命令,當然也可將$CONTACTPAGER$直接修改成手機號碼
2,定義聯(lián)系人
vim contacts.cfg
define contact{
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email nagios@qq.com ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
pager 123478934
}
3,修改模板
vim templates.cfgs
在defind contacat中 下面兩行分別添加fetion通知
service_notification_commands notify-service-by-email,notify-service-by-fetion
host_notification_commands notify-host-by-email,notify-host-by-fetion
3,重啟nagios,service nagios restart 將一臺虛擬機掛起,并測試。
新聞標題:nagios3.4.1監(jiān)控window與linux,并實現(xiàn)飛信報警
當前URL:http://chinadenli.net/article0/goegoo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、域名注冊、網(wǎng)站收錄、網(wǎng)頁設計公司、定制網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)