1、工作原理:
相比與主動模式中服務(wù)器主動去被監(jiān)控機上輪詢獲取監(jiān)控數(shù)據(jù)的方式,被動模式則是在被監(jiān)控機上面通過插件或腳本獲取監(jiān)控數(shù)據(jù),然后將數(shù)據(jù)通過send_nsca發(fā)往監(jiān)控機,最后監(jiān)控機通過Nsca接收并解析數(shù)據(jù),并傳遞給Nagios。這樣做的一個很大的優(yōu)勢就是將除去處理數(shù)據(jù)的其他工作都放在了被監(jiān)控機上面(包括了數(shù)據(jù)的傳輸),這樣就避免了被監(jiān)控機數(shù)量大時,一次輪詢時間過長而導致監(jiān)控反應(yīng)延遲,這也是被動模式能承擔更大監(jiān)控量的關(guān)鍵。
在MonitorClient上面,使用nagios-plugins提供的插件,得出監(jiān)控數(shù)據(jù),然后將數(shù)據(jù)存為一個文件,利用輸入重定向,通過send_nsca將數(shù)據(jù)發(fā)往MonitorServer。MonitorServer上面運行一個nsca的daemon(默認開啟5667端口),用來接收這些數(shù)據(jù),然后做一個簡單的處理(會和nagios的service文件進行對應(yīng),將多余的監(jiān)控數(shù)據(jù)排除),然后將數(shù)據(jù)進行格式的轉(zhuǎn)換,發(fā)給nagios的“外部命令文件”(默認配置為“/usr/local/nagios/var/rw/nagios.cmd”在nagios.cfg中定義的)。該文件是一個管道文件,也是nagios主程序的一個接口(用來接收監(jiān)控數(shù)據(jù)),使用cat查看該文件時候,會出來經(jīng)nsca處理后的數(shù)據(jù)格式。然后nagios主程序?qū)?shù)據(jù)進行處理(前臺展示,警報)。
2、組成:
Nsca (安裝在MonitorServer上,用來接收并解析MonitorClient發(fā)來的監(jiān)控數(shù)據(jù),傳遞給nagios)
Send_nsca(安裝在MonitorClient上,用來發(fā)送監(jiān)控數(shù)據(jù)。)
3、實現(xiàn)過程:
1)、修改nagios配置文件
vim /usr/local/nagios/etc/nagios.cfg
check_external_commands = 1 (enable commands file)
command_check_interval = -1 (check the external command file as often as possible )
2)、添加模板
vim /usr/local/nagios/etc/objects/template.cfg
define service{
name passive_service
use generic-service
max_check_attempts 3
active_checks_enabled 0
passive_checks_enabled 1
normal_check_interval 5
retry_check_interval 1
notifications_enabled 1
notification_interval 5
notification_period 24x7
contact_groups admins
register 0
}
3)、定義一個command
vim /usr/local/nagios/etc/objects/command.cfg
define command{
command_name check_dummy
command_line /usr/local/nagios/libexec/check_dummy $ARG1$
}
4)、定義一臺主機需要被監(jiān)控的服務(wù)
vim /usr/local/nagios/etc/objects/XH_DemoTrade.cfg
define service{
use passive_service
host_name XH_DemoTrade
service_description load
check_command check_dummy
contact_groups admins
}
define service{
use passive_service
host_name XH_DemoTrade
service_description disk
check_command check_dummy
contact_groups admins
}
define service{
use passive_service
host_name XH_DemoTrade
service_description logonService_aufront_common
check_command check_dummy
contact_groups admins
}
define service{
use passive_service
host_name XH_DemoTrade
service_description http
check_command check_dummy
contact_groups admins
}
5)、下載安裝nsca
wget http://nchc.dl.sourceforge.net/project/nagios/nsca-2.x/nsca-2.9.1/nsca-2.9.1.tar.gz
tar zxvf nsca-2.9.1.tar.gz
./configure
make all
cp ./src/nsca /usr/local/nagios/bin/
cp ./sample-config/nsca.cfg /usr/local/nagios/etc
chown nagios.nagios /usr/local/nagios/bin/nsca
chown nagios.nagios /usr/local/nagios/etc/nsca.cfg
cp init-script /etc/init.d/nsca
chmod a+x /etc/init.d/nsca
chkconfig --add nsca
6)、編輯nsca配置文件
vim /usr/local/nagios/etc/nsca.cfg
server_address=10.0.100.32 (這里務(wù)必使用對外表現(xiàn)的IP)
debug=1 (debug選項即log選項,寫入message)
aggregate_writes=1 (能夠支持更大的監(jiān)控量,建議開啟)
max_packet_age=60 (數(shù)據(jù)包過期時間,默認30s,但是考慮到網(wǎng)絡(luò)因素建議設(shè)為60s)
password=xxxxxxx (密碼,最基礎(chǔ)的加密方式,也可以不設(shè)置)
service nagios start
service nsca start
7)、在nagios client端安裝nsca服務(wù)(其實只需要send_nsca和send_nsca.cfg兩個文件,所以可以從nagios server端直接分發(fā)到nagios client)
wget http://nchc.dl.sourceforge.net/project/nagios/nsca-2.x/nsca-2.9.1/nsca-2.9.1.tar.gz
tar zxvf nsca-2.9.1.tar.gz
./configure
make all
cp ./src/send_nsca /usr/local/nagios/bin/
cp ./sample-config/send_nsca.cfg /usr/local/nagios/etc
chown nagios.nagios /usr/local/nagios/bin/nsca
chown nagios.nagios /usr/local/nagios/etc/nsca.cfg
8)、在nagios client設(shè)置監(jiān)控腳本,調(diào)用libexec中nagios-plugins提供的插件,內(nèi)容如下,其中JYS_check_proce是自定義的服務(wù)
vim /usr/local/nagios/nsca.sh
#!/bin/sh
host_name=$1
svc_name=$2
load_ARG="-w 5 -c 10"
http_ARG="-H 172.18.11.30 -u http://172.18.11.30/index.html"
disk_ARG="-w 20% -c 10% -p /dev/sda"
#echo "$host_name\t$svc_name\n"
case "$2" in
check_load)
output=`/usr/local/nagios/libexec/$2 $load_ARG`
status=`echo $?`
echo "$host_name;load;$status;$output">/tmp/nsca_load.out
cat /tmp/nsca_load.out | /usr/local/nagios/bin/send_nsca -H 10.0.100.32 -d ";" -c /usr/local/nagios/etc/send_nsca.cfg
;;
check_http)
output=`/usr/local/nagios/libexec/$2 $http_ARG`
status=`echo $?`
echo $status
echo "$host_name;http;$status;$output">/tmp/nsca_http.out
cat /tmp/nsca_http.out | /usr/local/nagios/bin/send_nsca -H 10.0.100.32 -d ";" -c /usr/local/nagios/etc/send_nsca.cfg
;;
check_disk)
output=`/usr/local/nagios/libexec/$2 $disk_ARG`
status=`echo $?`
echo "$host_name;disk;$status;$output">/tmp/nsca_disk.out
cat /tmp/nsca_disk.out | /usr/local/nagios/bin/send_nsca -H 10.0.100.32 -d ";" -c /usr/local/nagios/etc/send_nsca.cfg
;;
JYS_check_proce)
output=`/usr/local/nagios/libexec/$2 $3`
status=`echo $?`
echo "$host_name;$3;$status;$output">/tmp/nsca_JYS.out
cat /tmp/nsca_JYS.out | /usr/local/nagios/bin/send_nsca -H 10.0.100.32 -d ";" -c /usr/local/nagios/etc/send_nsca.cfg
;;
esac
9)、在crontab中添加任務(wù)
crontab -e
*/5 * * * * /bin/sh /usr/local/nagios/nsca.sh XH_DemoTrade JYS_check_proce logonService_aufront_common
*/5 * * * * /bin/sh /usr/local/nagios/nsca.sh XH_DemoTrade check_http -H 127.0.0.1
*/5 * * * * /bin/sh /usr/local/nagios/nsca.sh XH_DemoTrade check_disk
*/5 * * * * /bin/sh /usr/local/nagios/nsca.sh XH_DemoTrade check_load
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當前標題:nagios被動監(jiān)控模式-創(chuàng)新互聯(lián)
新聞來源:http://chinadenli.net/article36/dggpsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)站排名、網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)