Zabbix企业级监控之监控TCP连接数

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.文章也会推送到微信公众号

qrcode_for_gh_8d29f7983a6d_430.jpg

猜你喜欢

转载自blog.51cto.com/12217124/2155977