當前位置:首頁 » 編程軟體 » nagios監控腳本

nagios監控腳本

發布時間: 2024-01-06 06:27:59

⑴ 監控常用的應用軟體有什麼

常用的有:
1.cactio

實際上cacti不是監控工具,而是個依賴於SNMP的數據採集和數據呈現的工具。但是很多人喜歡用來當監控(因為其功能可以很好的完成這個工作)

功能:數據採集、 保存數據[SQL, txt].
數據展示(rrdtool 繪圖)。
數據分析和報警(很一般)。

2. nagios。

功能:數據報警(報警功能是Nagios的特色功能) [ 故障觸發,故障恢復都可以。
依賴分析報警(能自動的識別到關鍵設備的故障,關聯設備不會報警)。

數據採集(採集的數據是弱項,他只關心警戒位,只關心正常與否的狀態,狀態轉換時可以實現報警,所以它採集的數據不需要保存),當然也有插件彌補這個不足,如PNP4Nagios。

3. zabbix (php)(推薦)

Nagiostcacti整合互相彌補不足!I

nagios和 cacti不適合超大規模的監控、由於大規模的帶寬和網路限制,會導致監控的延遲等問題,所以有很多是 nagios+ cacti整合,但是依然不適合在大規模的環境中,不適合分布式部署, Nagios在大規模中就會出現延遲,失
去 Nagios本事的特色。
那麼 zabbix同時整合了 cacti和 Nagios特點的工具,而且還具有了前兩者不具有的工具,支持分布式等等。

4. 補充工具:

netdata:託管在github上的一款類型zabbix的開源監控工具https:/
/github. com/firehol/netdata
open- falcon:小米公司開源的企業級監控工具(python)(推薦)
Ganglia類似於 zabbix,大型分布式監控系統

開源監控工具對比http://www.oschina.net/news/67525/monitoring-tools

5. 監控軟體數據採集的方式

SNMP 協議。
agent 代理的方式去採集數據。
shell 腳本api 介面

6. 數據展示方式

php html app

7. 數據告警

mail,msm,微信,電話,釘釘機器人

⑵ zabbix怎樣通過snmp監控網路設備埠

基本知識准備:
1、SNMP(簡單網路管理協議)
2、一些腳本知識,可以編寫任意一種腳本。
3、知道Nagios怎麼用。

好啦,現在開始:
1、編寫一個可以輸出本機Nginx並發連接數的腳本,輸出結果為連接數。我這里腳本比較簡單,只是看看已經鏈接80埠的。當然也可以自己編寫更精確的腳本。
[root@webserver2 scripts]# cat showhttp.sh
#!/bin/bash
echo `netstat -nat | grep -i "80" | wc -l`

2、配置snmp,如何安裝我就不說的,自己去弄唄。
yum install net-snmp* 我是這么安裝的。
看下我的snmp配置文件:
[root@webserver2 ~]# grep -v '^#' /etc/snmp/snmpd.conf | grep -v '^$'
com2sec notConfigUser default public
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
view systemview included .1.3.6.1.4.1.2021
access notConfigGroup "" any noauth exact systemview none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
exec .1.3.6.1.4.1.2021.51 showhttp /bin/bash /root/scripts/showhttp.sh
然後重載下snmp的配置文件。
/etc/init.d/snmpd reload
使用snmpwalk測試下,能不能通過snmp來獲取數據。
[root@webserver2 ~]# snmpwalk -v 1 -c public 192.168.137.102 .1.3.6.1.4.1.2021.51
UCD-SNMP-MIB::ucdavis.51.1.1 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.51.2.1 = STRING: "showhttp"
UCD-SNMP-MIB::ucdavis.51.3.1 = STRING: "/bin/bash /root/scripts/showhttp.sh"
UCD-SNMP-MIB::ucdavis.51.100.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.51.101.1 = STRING: "7"
UCD-SNMP-MIB::ucdavis.51.102.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.51.103.1 = ""
[root@webserver2 ~]# snmpwalk -v 1 -c public 192.168.137.102 showhttp
showhttp: Unknown Object Identifier (Sub-id not found: (top) -> showhttp)
[root@webserver2 ~]# snmpwalk -v 1 -c public 192.168.137.102 .1.3.6.1.4.1.2021.51.101.1
UCD-SNMP-MIB::ucdavis.51.101.1 = STRING: "5"
至此位置,snmp就配置好了。至於原理,google、一大堆。限於自己的表述能力和打字速度就不在此復述了。

下面我登錄nagios的監控機,來監控這台機器的http連接數量。
2、首先安裝nagios,這里跳過。
3、先寫個如下腳本,獲取被監控的設備的snmp值。
[root@webserver2 libexec]# cat show_http
#!/bin/bash

OID='.1.3.6.1.4.1.2021.51.101.1'
IPADDRESS=$2
COMMUNITY=$1

if [[ -z $IPADDRESS ]] || [[ -z $COMMUNITY ]]; then
echo "Mabe ... ...Usage: show_http <COMMUNITY> <IPADDRESS>"
exit 4
fi
counts=`snmpwalk -v 1 -c $COMMUNITY $IPADDRESS $OID 2>/dev/null | awk -F'"' '{print $2}'`

if [ -z $counts ]; then
echo "Mabe snmpd is down OR ipaddress error OR community fault."
exit 4
fi

if [ $counts -ge 200 ]; then
echo "Cirtical - connection - $counts"
exit 2
elif [ $counts -ge 100 ]; then
echo "Warning - connection - $counts"
exit 1
else
echo "OK - connection - $counts"
exit 0
fi

3、最nagios進行一些配置:
define command{
command_name check-host-alive
command_line $USER1$/show_http nagios $HOSTADDRESS$ #添加一條命令,參數是團體名和主機地址,團體名,我直接用了nagios。為了可擴展性的考慮,大家也可以使用resources文件來定義。這里不再復述。
}

熱點內容
電腦上面顯示配置怎麼看 發布:2024-11-17 00:20:17 瀏覽:587
括弧計演算法 發布:2024-11-17 00:06:18 瀏覽:870
筆記本ghost配置是什麼 發布:2024-11-17 00:04:12 瀏覽:335
androidappwidget 發布:2024-11-16 23:27:18 瀏覽:676
圖片加密上傳 發布:2024-11-16 23:24:54 瀏覽:71
騙軟體演算法 發布:2024-11-16 23:21:50 瀏覽:646
20人團隊解壓拓展怎麼玩 發布:2024-11-16 23:03:34 瀏覽:159
rsa解密演算法c 發布:2024-11-16 22:41:43 瀏覽:27
python3log 發布:2024-11-16 22:41:34 瀏覽:659
手機如何熱點密碼是多少 發布:2024-11-16 22:41:31 瀏覽:351