概述
今天主要是导师说要用zabbix监控下TCP连接情况,所以顺便整理了这篇文章,下面一起来看看吧!
一、获取监控数据
netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}'
![acd4406cc2204b9b3764398fe1cac43f.png](https://i-blog.csdnimg.cn/blog_migrate/1964f1e9d257cba8bfdcef3b7fb23d01.jpeg)
TCP各监控状态描述
![31f127d0e78c4476bb9f67959a1f7155.png](https://i-blog.csdnimg.cn/blog_migrate/68caa9954694fa9e7808ea2c01b3a111.jpeg)
![1e1db6eb7bbfe47763df446bf80edb05.png](https://i-blog.csdnimg.cn/blog_migrate/b4dbb68cc53abaf67b13a000ba0d31cb.jpeg)
二、zabbix客户端配置监控脚本
1、编写脚本
# cat /etc/zabbix/zabbix_agentd.d/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================================================================================================
2、添加自定义参数
# cat /etc/zabbix/zabbix_agentd.d/tcp.conf================================================================================================UserParameter=tcp.status[*],/etc/zabbix/zabbix_agentd.d/tcp_conn_status.sh $1================================================================================================
3、授权
chown -R zabbix:zabbix /etc/zabbixchmod -R 755 /etc/zabbix
![5b395edd99f982dceb2e2a0af7bed7ad.png](https://i-blog.csdnimg.cn/blog_migrate/5de580c754e950c00c755a3848668d01.jpeg)
4、重启客户端
systemctl restart zabbix-agent
5、在zabbix服务端测试
bbix_get -s 172.26.150.134 -p 10050 -k tcp.status[listen]
![62016407e35b01364a7eb3d4a3c54a8e.png](https://i-blog.csdnimg.cn/blog_migrate/983dd090d07ccdda3d661a2f9cd08839.jpeg)
三、导入zabbix模板文件
1、下载模板
模板名为:tcp_export_templates.xml,内容如下:
![90fe7728e571bf974781f11a42795095.png](https://i-blog.csdnimg.cn/blog_migrate/a37c5640b0c854f2a55f602706baf687.jpeg)
2、导入模板
配置-模板-导入
![62c0e316baa778af8828b7449ee61da9.png](https://i-blog.csdnimg.cn/blog_migrate/c238e2099fad03694a81e7cf968b5d32.jpeg)
3、模板/主机链接模板
![4c3ecc86a86d8529621660fd47ed3d11.png](https://i-blog.csdnimg.cn/blog_migrate/ea9e312c91ded85c18298a44a2783dee.jpeg)
四、查看图形
监测-图形
![6b9f0433ea6b09463d75299573c3195b.png](https://i-blog.csdnimg.cn/blog_migrate/fdc099ea59ba6d8526353c4079da5d7f.jpeg)
模板领取方式
这份TCP模板怎么领取呢?
1.请在评论区评论+点赞+转发
2.点击关注,关注本头条号
3.进入头条号主页面,右上角有私信功能,私信小编:tcp模板
同时希望大家多多转发分享给更多的朋友哦!
![ea57242fbd8261cd93720cc29f36b433.gif](https://i-blog.csdnimg.cn/blog_migrate/ba8394947d5c5f350e04bee1f72d5e97.gif)