监控案例之监控TCP连接数

五、监控案例之监控TCP

1、 安装agent,过程略
(下面是apt安装,如果是编译安装,请注意路径)

2、监控脚本

cd /etc/zabbix/zabbix_agentd.conf.d/
vim check_tcp.sh
#!/bin/bash

tcp_conn_status(){
        TCP_STAT=$1
        ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/tcp_conn.txt
        TCP_STAT_VALUE=$(grep "$TCP_STAT" /tmp/tcp_conn.txt | cut -d ' ' -f2)
        if [ -z $TCP_STAT_VALUE ];then
                TCP_STAT_VALUE=0
        fi
        echo $TCP_STAT_VALUE
}

main(){
	case $1 in
	    tcp_status)
		tcp_conn_status $2;	
		;;
		*)
		echo "$0 + tcp_status + STATUS"
	esac
}

main $1 $2

3、授予权限

chmod a+x check_tcp.sh
chown zabbix.zabbix check_tcp.sh
chown zabbix.zabbix /tmp/tcp_conn.txt

4、创建conf文件引用脚本

cd /etc/zabbix/zabbix_agentd.conf.d/
chown zabbix.zabbix check.conf
vim check.conf
UserParameter=check_tcp[*],/etc/zabbix/zabbix_agentd.conf.d/check_tcp.sh "$1" "$2"

5、 如果是编译安装,还需要配置agent 配置文件导入自定义配置那文件

vim /etc/zabbix/zabbix_agentd.conf
263 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

6、 重启agent服务

systemctl restart zabbix-agent

7、 在被监控服务器为zabbix 用户授权:

vim /etc/sudoers
21 zabbix ALL =(ALL) NOPASSWD: ALL

8、server端测试获取数据

zabbix_get -s 192.168.7.105 -p 10050 -k "check_tcp["tcp_status","LISTEN"]"

添加模版

导入监控项

添加监控项

配置监控项

添加图形

创建图形

配置图形

创建触发器

配置触发器

添加表达式

配置完成

添加主机,如果有可以以现有的主机更改

模板选择我们刚刚创建的模板

查看图形

想要其它的TCP状态,需要修改check_tcp["tcp_status","LISTEN"]LISTEN这个值
如想要监控TIME-WAIT的值,修改成check_tcp["tcp_status","TIME-WAIT"]
原文地址:https://www.cnblogs.com/pansn/p/12667121.html