首页 > 代码库 > zabbix自动发现使用中端口并图形展示各个端口连接数

zabbix自动发现使用中端口并图形展示各个端口连接数

zabbix自动发现当前服务器使用中的端口并图形展示各个端口连接数

1.修改配置文件

vi /data/server/zabbix_agent/conf/zabbix_agentd.conf

UserParameter=tcp.port.discovery,/data/server/zabbix/bin/discover_tcp_port_count tcp_port_discovery

UserParameter=tcp.port.count[*],/data/server/zabbix/bin/discover_tcp_port_count tcp_port_count $1


2.自动发现脚本

vi discover_tcp_port_count

#!/bin/bash

 

source/etc/bashrc >/dev/null 2>&1

source/etc/profile >/dev/null 2>&1

tcp_port_discovery(){

tcp_port=(`netstat-tnlp|egrep -i "$1"|awk {‘print $4‘}|awk -F‘:‘ ‘{if ($NF~/^[0-9]*$/)print $NF}‘|sort |uniq   2>/dev/null`)

printf‘{\n‘

printf‘\t"data":[\n‘

for((i=0;i<${#tcp_port[@]};++i))

{

num=$(echo$((${#tcp_port[@]}-1)))

if ["$i" != ${num} ]; then

printf"\t\t{ \n"

printf"\t\t\t\"{#PORTNUM}\":\"${tcp_port[$i]}\"},\n"

else

printf"\t\t{ \n"

printf"\t\t\t\"{#PORTNUM}\":\"${tcp_port[$num]}\"}]}\n"

fi

}

}

tcp_port_count(){

#/usr/bin/curl-o /dev/null -s -w %{http_code} http://$1

netstat-atnl |grep $1 |wc -l

}

case"$1" in

tcp_port_discovery)

tcp_port_discovery

;;

tcp_port_count)

tcp_port_count$2

;;

*)

echo"Usage:$0 {tcp_port_discovery|tcp_port_count [port]}"

;;

esac

3.重启agentd

4.验证

./zabbix_get -s192.168.0.7 -p 10050 -k "tcp.port.discovery"

./zabbix_get -s192.168.0.7 -p 10050 -k "tcp.port.count[8080]"


5.serverweb页面配置(配置模版或单个主机)

 1)创建应用集

wKioL1SGo--AiCSRAAImCk_QaxU408.jpg

 

 2)创建探索规则

wKiom1SGo2nCHfcUAAMJdespwwQ370.jpg


 3)创建项目监控原型

wKiom1SGo3bwTWQ4AAMBlzMzNIU707.jpg


 4)添加图形原型

wKioL1SGpBTxxdvbAAMNkTmtGrE495.jpg

本文出自 “XFICC” 博客,请务必保留此出处http://xficc.blog.51cto.com/1189288/1587948

zabbix自动发现使用中端口并图形展示各个端口连接数