通過Zabbix監(jiān)控服務(wù)器tcp連接數(shù)
zabbix([`z?biks])是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案探赫。Zabbix可以監(jiān)控網(wǎng)絡(luò)和服務(wù)的監(jiān)控狀況. Zabbix利用靈活的告警機(jī)制撬呢,允許用戶對事件發(fā)送基于Email的告警. 這樣可以保證快速的對問題作出相應(yīng). Zabbix可以利用存儲數(shù)據(jù)提供杰出的報告及圖形化方式毛仪。這一特性將幫助用戶完成容量規(guī)劃箱靴。
以上簡介來源于網(wǎng)絡(luò),關(guān)于zabbix的更詳細(xì)介紹可自行搜索抛杨,下面開始步入正題怖现,如何利用zabbix監(jiān)控服務(wù)器tcp連接數(shù)。
?原理:zabbix自定義監(jiān)控的原理就是通過腳本獲取你想監(jiān)控的數(shù)據(jù)恢共,zabbix幫你定時取數(shù)據(jù)讨韭,達(dá)到告警閾值觸發(fā)條件透硝,將告警發(fā)送出來濒生,就是這么簡單罪治。
下面說下具體配置步驟:
1. 監(jiān)控腳本配置
將腳本放到主機(jī)上的zabbix腳本目錄中
cd /etc/zabbix/scripts/
vi netsat_ps.sh
#!/bin/bash
#------服務(wù)器IP-----------
ip="$1"
#------服務(wù)名-----------
pname="$2"
cnt=0
pid_infos=`netstat -anop | grep $ip | grep ESTABLISHED | awk '{print $7}'`
pids=`ps -ef | grep $pname | grep -v grep | awk '{print $2}'`
arr_pid=($pids)
arr_pid_info=($pid_infos)
for pid in ${arr_pid[*]}
do
??????? for pid_info in ${pid_infos[*]}
??????? do
??????????????? if [[ $pid_info ==*"$pid"* ]]; then
??????????????????????? ((cnt++))
??????????????? fi
??????? done
done
echo $cnt
2. 配置zabbix-agent
cd/etc/zabbix/zabbix_agentd.d
聲明監(jiān)控項key和腳本路徑
vi userparameter_netstat_ps.conf
UserParameter=netstat_ps[*],/etc/zabbix/script/netstat_ps.sh $1 $2
3. 重啟zabbix-agent服務(wù)
service zabbix-agentrestart
4. Zabbix監(jiān)控項配置
名稱你按照自己的習(xí)慣命名
鍵值要和步驟2的UserParameter保持一致。
最后點(diǎn)添加即可霉撵。
5. 配置觸發(fā)器
名稱還是按照自己的習(xí)慣命名徒坡,作用是收到告警一眼就能看出來是什么
表達(dá)式選擇監(jiān)控項最新的T值小于多少閾值,我這里演示隨便寫的100.這個閾值根據(jù)業(yè)務(wù)實際情況而定何暮。
選擇告警級別:警告還是一般嚴(yán)重。富腊。。民假。羊异。
最后點(diǎn)添加