1、获取TCP连接状态?
ss、netstat都可以获取到连接状态
2.shell脚本中获取连接数
vim /etc/zabbix/shell/monitor_tcp.sh
#!/bin/bash #被动打开 LISTEN() { ss -an | grep '^tcp' | grep 'LISTEN' | wc -l } #服务器接收到了客户端的请求 SYN_RECV () { ss -an | grep '^tcp' | grep 'SYN-RECV' | wc -l } #客户端第二次访问服务器的状态 ESTABLISHED() { ss -an | grep '^tcp' | grep 'ESTAB' | wc -l } #完成三次握手四次挥手的后的状态 TIME_WAIT() { ss -an | grep '^tcp' | grep 'TIME-WAIT' | wc -l } #SYN_SENT与SYN_RECV遥想呼应,当客户端socket执行CONNECT连接时,发送报文之后 #进入SYS_SENT状态,并等到服务器端发送三次握手的第二个报文 SYN_SENT() { ss -an | grep '^tcp' | grep 'SYN_SENT' | wc -l } #传参进,选择调用哪个函数 $1
3.添加agent模板
vim userparameter_my.conf
UserParameter=monitor_tcp[*],/bin/bash /etc/zabbix/shell/monitor_tcp.sh "$1"参数解释:
monitor_tcp[*]:是自定义key,*是传参 是从server端自定义键值的时候传参传下来的
*在web端得键值就是monitor_tcp[LISTEN],调用agent端得函数方法
4.准备更新一个关于zabbix监控的专题,欢迎加入我们的Linux技术交流群:642921645,zabbix监控交流群:832462735 ,我们不定期去更新很多关于系统运维的资料在群里,期待你的加入!
5.文章也会推送到微信公众号
原文地址:http://blog.51cto.com/12217124/2155977
时间: 2024-09-29 10:06:10