监控操作步骤:
1、编写脚本
2、上传脚本到指定位置
3、修改zabbix_agent配置文件
4、zabbix_server的WEB界面导入模版
5、主机关联
1)编辑zabbix_agent配置文件,添加以下内容
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
UserParameter=tcp.state[*],/data/scripts/auto_detection_tcp_state.sh $1
#保存退出
2)重启zabbix_agentd服务
[root@localhost ~]# service zabbix_agentd restart
3)下载脚本文件(获取监控值)
[root@localhost ~]# cd /data/scripts
[root@localhost scripts]# wget https://mirrors.yangxingzhen.com/shell/auto_detection_tcp_state.sh
[root@localhost scripts]# cat auto_detection_tcp_state.sh
#!/bin/bash
#Date:2019-8-18 21:05:46
#by author Yangxz
#TCP连接数及状态
if [ $# -ne 1 ];then
echo -e "\033[32mUsage: sh $0 {ESTABLISHED|LISTEN|TIME_WAIT|CLOSED|CLOSE_WAIT|CLOSING|FIN_WAIT1|FIN_WAIT2|LAST_ACK|SYN_RECV|SYN_SENT}\033[0m"
exit 1
fi
case $1 in
#socket已经建立连接
ESTABLISHED)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "ESTABLISHED")
echo $result
;;
#监听状态
LISTEN)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "LISTEN")
echo $result
;;
#表示收到了对方的FIN报文,并发送出了ACK报文,等待2MSL后就可回到CLOSED状态
TIME_WAIT)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "TIME_WAIT")
echo $result
;;
#socket没有被使用,无连接
CLOSED)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "CLOSED")
echo $result
;;
#等待关闭连接
CLOSE_WAIT)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "CLOSE_WAIT")
echo $result
;;
#服务器端和客户端都同时关闭连接
CLOSING)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "CLOSING")
echo $result
;;
#套接字已关闭,连接正在关闭
FIN_WAIT1)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "FIN_WAIT1")
echo $result
;;
#连接已关闭,套接字正在等待从远程端关闭
FIN_WAIT2)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "FIN_WAIT2")
echo $result
;;
#远端关闭,当前socket被动关闭后发送FIN报文,等待对方ACK报文
LAST_ACK)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "LAST_ACK")
echo $result
;;
#接收到SYN报文
SYN_RECV)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "SYN_RECV")
echo $result
;;
#已经发送SYN报文
SYN_SENT)
result=$(netstat -an | awk '/^tcp/ {print $0}'|grep -wc "SYN_SENT")
echo $result
;;
*)
echo -e "\033[32mUsage: sh $0 {ESTABLISHED|LISTEN|TIME_WAIT|CLOSED|CLOSE_WAIT|CLOSING|FIN_WAIT1|FIN_WAIT2|LAST_ACK|SYN_RECV|SYN_SENT}\033[0m"
esac
4)脚本授权
[root@localhost scripts]# chmod +x auto_detection_tcp_state.sh
5)验证server端验证是否能获取agent端的key值
#使用zabbix_get命令获取key值
Zabbix监控平台配置
1、下载监控模板文件
模板附件下载:
2、导入TCP状态监控模板
进入后台->配置->模板->导入(右上角)->选择下载的模板文件->最后点击导入 。
至此TCP状态监控模板已经导入到Zabbix中。
3、关联模板
需要把TCP状态监控模板链接到你的监控主机上,进入后台->配置->点击你的主机->模板->选择刚才导入模板,点击添加,最后点击更新即可。
4、效果图展示
至此,Zabbix监控TCP状态就完成了。。
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!
上海市 电信 15F
向大佬学习
广东省深圳市 电信 14F
写的真好,棒
广东省深圳市 电信 13F
写的真好,棒
广东省深圳市 电信 12F
写的真好
浙江省杭州市 电信 11F
很棒
浙江省杭州市 电信 10F
谢谢,这内容很棒
天津市 电信IDC机房 9F
666666666666666666666666,谢谢
北京市 联通 8F
6666666666可以
湖南省 铁通 7F
向大佬学习技术
广东省深圳市 电信 6F
技术在与分享
广东省深圳市 电信 B1
@ 小小如同 回复后,刷新即可查看模板
广东省深圳市 电信 5F
我想看模板,求大佬分享
广东省广州市天河区 电信 4F
Hello 我要获取tcp_status的模板文件,thanks
广东省广州市 电信 B1
@ chuabgjianguo 回复即可
江苏省南京市 电信 B2
@ 小柒博客 分享一下模板把
广东省深圳市 电信 B3
@ kinking 回复内容即可下载模板哦,关注公众号回复5963即可查看到模板哦
上海市 移动 3F
向大佬 学习技术
上海市 移动 2F
好 试试看
四川省成都市 电信 1F
向大佬学习技术。