【zabbix个性化监控之一】TCP连接数
一、在被監控端上設置
主要命令:
netstat?-an?|?awk?'/^tcp/?{++S[$NF]}?END?{for(a?in?S)?print?a,?S[a]}'| 1 | netstat?-an?|?awk?'/^tcp/?{++S[$NF]}?END?{for(a?in?S)?print?a,?S[a]}' |
輸出內容:
TIME_WAIT?100
CLOSE_WAIT?5
FIN_WAIT1?6
ESTABLISHED?161
SYN_RECV?1
LAST_ACK?1
LISTEN?11
下面以監控TIME_WAIT的數量為例子(先來準備下腳本)
mkdir?-pv?/usr/local/shell/zabbix?cd?/usr/local/shell/zabbixvim?tcp_connections.sh| 1 2 3 4 5 | mkdir?-pv?/usr/local/shell/zabbix? cd?/usr/local/shell/zabbix vim?tcp_connections.sh |
| 1 2 3 4 | #!/bin/bash netstat?-an?|?awk?'/^tcp/?{++S[$NF]}?END?{for(a?in?S)?print?a,?S[a]}'?|?grep?$1|?cut?-d’?‘?-f2 //腳本依賴上面的主要命令 |
在zabbix_server被監控的節點上編輯zabbix的配置文件
vim??/usr/local/zabbix/etc/zabbix_agentd.conf| 1 | vim??/usr/local/zabbix/etc/zabbix_agentd.conf |
#在256行添加下列內容
UnsafeUserParameters=1
#在265行添加以下內容
UserParameter=TIME_WAIT,/bin/bash?/usr/local/shell/zabbix/tcp_connections.sh?TIME_WAIT
重啟客戶端
service zabbix_agentd restart| 1 | servicezabbix_agentd restart |
二、zabbix_server 端設置
首先看是否能否取到值
cd /usr/local/zabbix/bin./zabbix_get -s 10.6.5.1 -k?TIME_WAIT| 1 2 3 | cd/usr/local/zabbix/bin ./zabbix_get-s10.6.5.1 -k?TIME_WAIT |
如果能獲取到數值,那么恭喜你成功了。
訪問zabbix ?web界面,創建模板
創
建圖形
將模板應用到對應的機器上,繪圖結果如下:
到此,zabbix自定義監控某主機的tcp連接數搞定。
#!/bin/bash
sed -i "s#\# UnsafeUserParameters=0#UnsafeUserParameters=1#g" /usr/local/etc/zabbix_agentd.conf
echo "Include=/usr/local/etc/zabbix_agentd.conf.d/" >>/usr/local/etc/zabbix_agentd.conf
mkdir -p /usr/local/shell/zabbix
cat << EOF >/usr/local/shell/zabbix/tcp_connections.sh
#!/bin/bash
netstat -an |awk '/^tcp/ {++S[\$NF]} END {for(a in S) print a, S[a]}'|grep \$1|cut -d' ' -f2
EOF
cat << EOF >/usr/local/shell/zabbix/zabbix_tcp.sh
#!/bin/bash
netstat -s|grep "connections established"|awk '{print\$1}'
EOF
chmod 755 /usr/local/shell/zabbix/zabbix_tcp.sh
mkdir -p /usr/local/etc/zabbix_agentd.conf.d
cat << EOF >/usr/local/etc/zabbix_agentd.conf.d/tcp
#!monitor tcp
UserParameter=TIME_WAIT,/bin/bash /usr/local/shell/zabbix/tcp_connections.sh TIME_WAIT
UserParameter=CLOSE_WAIT,/bin/bash /usr/local/shell/zabbix/tcp_connections.sh CLOSE_WAIT
UserParameter=ESTABLISHED,/bin/bash /usr/local/shell/zabbix/tcp_connections.sh ESTABLISHED
UserParameter=FIN_WAIT1,/bin/bash /usr/local/shell/zabbix/tcp_connections.sh FIN_WAIT1
UserParameter=LAST_ACK,/bin/bash /usr/local/shell/zabbix/tcp_connections.sh LAST_ACK
UserParameter=LISTEN,/bin/bash /usr/local/shell/zabbix/tcp_connections.sh LISTEN
UserParameter=SYN_RECV,/bin/bash /usr/local/shell/zabbix/tcp_connections.sh SYN_RECV
UserParameter=tcpconnect,/usr/local/shell/zabbix/zabbix_tcp.sh
EOF
service zabbix_agentd restart
幾個監控項的鍵值就是TIME_WAIT、CLOSE_WAIT、ESTABLISHED、FIN_WAIT1、LAST_ACK、LISTEN、SYN_RECV、tcpconnect
總結
以上是生活随笔為你收集整理的【zabbix个性化监控之一】TCP连接数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构计算机复试题,计算机考研数据结构
- 下一篇: 计算机设备安全检查表,信息安全检查表