Nagios被動檢測
Nagios被動檢測
對某些環境下,被動檢測比主動檢測好。例如,資料備份是否成功的監控。資料備份後將備份結果寫入到檔案,
nagios客戶端檢測該檔案的資訊來確定成功與否,這就存在一個問題,就是在備份週期內,nagios檢測到備份
不成功,不停地的傳送告警通知,不勝其煩。對於這種情況,可以使用nagios被動檢測 + 新鮮度來實現。
下面來看看被動監控的配置:
1. 開啟被動監控
# vi /usr/local/nagios/etc/nagios.cfg
# accept_passive_service_checks = 1
2. 定義被動監控指令
centreon上配置
3. 定義要被動監控的主機
centreon上配置
check_dummy指令實際上不檢查任何東西,指定兩個引數,一個是狀態,一個是輸出,始終返回這兩個引數。
[root@sznagios libexec]# ./check_dummy 0
OK
[root@sznagios libexec]# ./check_dummy 1
WARNING
[root@sznagios libexec]# ./check_dummy 2
CRITICAL
[root@sznagios libexec]# ./check_dummy 3
UNKNOWN
如果在freshness_threshold時間內,被動檢測還沒提交資料,check_command將執行,即使主動檢測被禁用。
4. 外部應用程式如何提交主機檢查結果
外部應用程式可以透過編寫一個PROCESS_HOST_CHECK_RESULT外部命令外部命令檔案提交主機檢查結果給Nagios 。命令的格式如下:
[] PROCESS_HOST_CHECK_RESULT;;;
timestamp:unix時間戳
host_name:監控的主機地址
host_status:主機的狀態( 0 = OK,1 = WARNING,2 =CRITICAL,3 = UNKNOWN)
plugin_output:主機檢查的文字輸出
如:
# CHECK="[`date +%s`] PROCESS_SERVICE_CHECK_RESULT;10.0.0.166;BACKUP;0;Nightly backups were successful"
# echo $CHECK >>/usr/local/nagios/var/rw/nagios.cmd
5. 被動檢測客戶端
如果是在同一臺nagios伺服器上,可以直接透過上面的外部指令提交被動檢測結果。那如果是在遠端主機上呢,應用程式沒法做到,
為了讓遠端主機能夠傳送被動檢查結果給nagios,可以使用NSCA外掛。該外掛包含了對nagios主機和從遠端主機上執行的客戶端執行的守護程式。
該守護程式將監聽來自遠端客戶端的連線,在提交的結果進行一些基本的驗證,然後直接寫檢查結果到外部命令。
需要在nagios服務端和客戶端都安裝NSCA
服務端:
# wget http:
//downloads.sourceforge.net/project/nagios/nsca-2.x/nsca-2.7.2/nsca-2.7.2.tar.gz
# tar -xzf nsca-2.7.2.tar.gz
# cd nsca-2.7.2
# ./configure
# make
# cp src/nsca /usr/local/nagios/bin
# cp sample-config/nsca.cfg /usr/local/nagios/etc
# vi /usr/local/nagios/etc/nsca.cfg
password=
# /usr/local/nagios/bin/nsca -c /usr/local/nagios/etc/nsca.cfg --single
客戶端:
# wget
# tar -xzf nsca-2.7.2.tar.gz
# cd nsca-2.7.2
# ./configure
# make
# mkdir -p /usr/local/bin /usr/local/etc
# cp src/send_nsca /usr/local/bin
# cp sample-config/send_nsca.cfg /usr/local/etc
# vi /usr/local/etc/send_nsca.cfg
password=
# CHECK="10.0.0.166\tBACKUP\t0\tBackup was successful, this check submitted by NSCA\n"
# echo -en $CHECK | send_nsca -c /usr/local/etc/send_nsca.cfg -H 10.0.100.125
1 data packet(s) sent to host successfully.
10.0.0.166 被監控伺服器;10.0.100.125監控伺服器。
安裝在監控伺服器上的NSCA守護程式監聽客戶端send_nsca提交的服務資訊,驗證密碼是否正確的,資料格式是否符合標準。資料格式如下:
\t\t\t\n
check_result:檢測狀態 0 = OK,1 = WARNING,2 =CRITICAL,3 = UNKNOWN
一旦收到提交的資料,就會被翻譯並寫入到外部命令檔案/usr/local/nagios/var/rw/nagios.cmd,並作為一個本地提交的被動檢查。
對某些環境下,被動檢測比主動檢測好。例如,資料備份是否成功的監控。資料備份後將備份結果寫入到檔案,
nagios客戶端檢測該檔案的資訊來確定成功與否,這就存在一個問題,就是在備份週期內,nagios檢測到備份
不成功,不停地的傳送告警通知,不勝其煩。對於這種情況,可以使用nagios被動檢測 + 新鮮度來實現。
下面來看看被動監控的配置:
1. 開啟被動監控
# vi /usr/local/nagios/etc/nagios.cfg
# accept_passive_service_checks = 1
2. 定義被動監控指令
centreon上配置
3. 定義要被動監控的主機
centreon上配置
check_dummy指令實際上不檢查任何東西,指定兩個引數,一個是狀態,一個是輸出,始終返回這兩個引數。
[root@sznagios libexec]# ./check_dummy 0
OK
[root@sznagios libexec]# ./check_dummy 1
WARNING
[root@sznagios libexec]# ./check_dummy 2
CRITICAL
[root@sznagios libexec]# ./check_dummy 3
UNKNOWN
如果在freshness_threshold時間內,被動檢測還沒提交資料,check_command將執行,即使主動檢測被禁用。
4. 外部應用程式如何提交主機檢查結果
外部應用程式可以透過編寫一個PROCESS_HOST_CHECK_RESULT外部命令外部命令檔案提交主機檢查結果給Nagios 。命令的格式如下:
[
timestamp:unix時間戳
host_name:監控的主機地址
host_status:主機的狀態( 0 = OK,1 = WARNING,2 =CRITICAL,3 = UNKNOWN)
plugin_output:主機檢查的文字輸出
如:
# CHECK="[`date +%s`] PROCESS_SERVICE_CHECK_RESULT;10.0.0.166;BACKUP;0;Nightly backups were successful"
# echo $CHECK >>/usr/local/nagios/var/rw/nagios.cmd
5. 被動檢測客戶端
如果是在同一臺nagios伺服器上,可以直接透過上面的外部指令提交被動檢測結果。那如果是在遠端主機上呢,應用程式沒法做到,
為了讓遠端主機能夠傳送被動檢查結果給nagios,可以使用NSCA外掛。該外掛包含了對nagios主機和從遠端主機上執行的客戶端執行的守護程式。
該守護程式將監聽來自遠端客戶端的連線,在提交的結果進行一些基本的驗證,然後直接寫檢查結果到外部命令。
需要在nagios服務端和客戶端都安裝NSCA
服務端:
# wget http:
//downloads.sourceforge.net/project/nagios/nsca-2.x/nsca-2.7.2/nsca-2.7.2.tar.gz
# tar -xzf nsca-2.7.2.tar.gz
# cd nsca-2.7.2
# ./configure
# make
# cp src/nsca /usr/local/nagios/bin
# cp sample-config/nsca.cfg /usr/local/nagios/etc
# vi /usr/local/nagios/etc/nsca.cfg
password=
# /usr/local/nagios/bin/nsca -c /usr/local/nagios/etc/nsca.cfg --single
客戶端:
# wget
# tar -xzf nsca-2.7.2.tar.gz
# cd nsca-2.7.2
# ./configure
# make
# mkdir -p /usr/local/bin /usr/local/etc
# cp src/send_nsca /usr/local/bin
# cp sample-config/send_nsca.cfg /usr/local/etc
# vi /usr/local/etc/send_nsca.cfg
password=
# CHECK="10.0.0.166\tBACKUP\t0\tBackup was successful, this check submitted by NSCA\n"
# echo -en $CHECK | send_nsca -c /usr/local/etc/send_nsca.cfg -H 10.0.100.125
1 data packet(s) sent to host successfully.
10.0.0.166 被監控伺服器;10.0.100.125監控伺服器。
安裝在監控伺服器上的NSCA守護程式監聽客戶端send_nsca提交的服務資訊,驗證密碼是否正確的,資料格式是否符合標準。資料格式如下:
check_result:檢測狀態 0 = OK,1 = WARNING,2 =CRITICAL,3 = UNKNOWN
一旦收到提交的資料,就會被翻譯並寫入到外部命令檔案/usr/local/nagios/var/rw/nagios.cmd,並作為一個本地提交的被動檢查。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1326870/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java檢測埠是否被佔用Java
- 微信域名檢測原理 批次檢測域名是否被微信攔截
- linux檢測系統是否被入侵(上)Linux
- 影像篡改被動檢測技術一覽:基於特徵提取和卷積神經網路的篡改檢測特徵卷積神經網路
- 怎麼檢測伺服器是否被入侵伺服器
- Android 應用檢測裝置是否被rootAndroid
- Linux中如何檢測系統是否被入侵Linux
- 微信域名攔截檢測介面 檢測域名是否被微信停止訪問
- 網站 DNS劫持 檢測,網站被DNS劫持該怎麼檢測出來網站DNS
- nagios mail告警通知iOSAI
- 怎麼檢視網站是否被谷歌收錄,檢視網站是否被谷歌收錄的快速檢測方法網站谷歌
- 如何避免在網頁抓取時被檢測到?網頁
- Nagios安裝步驟iOS
- 檢測php網站是否已經被攻破的方法PHP網站
- 檢測代理IP是否被佔用的三種方法
- 你的爬蟲為什麼會被檢測到?爬蟲
- OPCV 移動物體檢測
- Nagios+PNP安裝部署iOS
- 第三方檢測中—人工測試無法被取代的理由
- 基於Keras的動物檢測Keras
- openCV檢測物體是否運動OpenCV
- win10驅動檢測操作方法_win10怎麼檢測驅動是否正常Win10
- JavaScript檢測window.open()彈出視窗是否被攔截JavaScript
- selenium-java被檢測導致滑塊驗證失敗Java
- 按鍵的檢測與去抖動
- 電動車頭盔穿戴檢測方案
- 使用Ajax技術檢測使用者名稱是否被佔用
- 微信域名攔截查詢-網址被遮蔽檢測api介面API
- 事實論述微信域名檢測的重要性,實時批次檢測域名被微信攔截圖蔽
- 錄製回放效果差異檢測 | 自動化測試
- sqlmap支援自動偽靜態批次檢測SQL
- 【譯】.NET 的新的動態檢測分析
- Halcon表面缺陷檢測-劃痕檢測
- 文章相似度檢測,相似度檢測工具,原創度檢測工具
- 網站漏洞檢測 滲透測試檢測手法網站
- 詳談推廣中h5頁面微信域名檢測的重要性,檢測域名是否被微信攔截H5
- Nagios+Centreon監控系統簡介iOS
- Cacti+Nagios監控平臺完美整合iOS
- CentOS原始碼安裝、配置Nagios(core)+PluginsCentOS原始碼iOSPlugin