多语言展示
当前在线:368今日阅读:84今日分享:32

zabbix监控TCP连接数方法

可以通过zabbix来对TCP连接明细来进行监控,例如一些CLOSE_WAIT、TIME_WAIT等参数
方法/步骤
1

zabbix server的版本为3.4.9

2

自定义监控项tcp.status

3

cat /etc/zabbix/scripts/tcp_conn_status.sh#!/bin/bash#this script is used to get tcp and udp connetion status#tcp statusmetric=$1tmp_file=/tmp/tcp_status.txt/bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' > $tmp_file case $metric in   closed)          output=$(awk '/CLOSED/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi        ;;   listen)          output=$(awk '/LISTEN/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi        ;;   synrecv)          output=$(awk '/SYN_RECV/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi        ;;   synsent)          output=$(awk '/SYN_SENT/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi        ;;   established)          output=$(awk '/ESTABLISHED/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi        ;;   timewait)          output=$(awk '/TIME_WAIT/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi        ;;   closing)          output=$(awk '/CLOSING/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi        ;;   closewait)          output=$(awk '/CLOSE_WAIT/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi        ;;   lastack)          output=$(awk '/LAST_ACK/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi         ;;   finwait1)          output=$(awk '/FIN_WAIT1/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi         ;;   finwait2)          output=$(awk '/FIN_WAIT2/{print $2}' $tmp_file)          if [ '$output' == '' ];then             echo 0          else             echo $output          fi         ;;         *)          echo -e '\e[033mUsage: sh  $0 [closed|closing|closewait|synrecv|synsent|finwait1|finwait2|listen|established|lastack|timewait]\e[0m'   esac

4

zabbix web页面创建监控项

6

点图形可以看到趋势

7

还可以创建触发器

推荐信息