首页 > 代码库 > zabbix3.0 使用SS代替netstat无需脚本,1分钟搞定TCP状态监控
zabbix3.0 使用SS代替netstat无需脚本,1分钟搞定TCP状态监控
这段时间一直忙,没时间好好理下监控,趁着假期有时间,理了一下。
对于zabbix监控TCP状态,在网上查了很多资料,大多数都是使用netstat命令来实现。
如果服务器的压力小,链接少,不会有问题,但随着服务器压力和链接数的增加,用netstat就会造成执行速度慢,server端无法接收到执行结果,造成监控异常。
平时一直用SS,所以试着用SS代替netstat,速度快了不少。
个人较喜欢偷懒,看到网上很多少写了非常长的脚本,又是函数,又是写临时文件的。其实完全没必要,不用写啥脚本,临时文件,很简单的就搞定了。
下面是具体实现方式:
1、在web端创建模板,具体版本如下面这些图。
2、通过下面ss的源码我们可以知道SS能识别的TCP状态的关键字。
static const char *sstate_name[] = { "UNKNOWN", [TCP_ESTABLISHED] = "ESTAB", [TCP_SYN_SENT] = "SYN-SENT", [TCP_SYN_RECV] = "SYN-RECV", [TCP_FIN_WAIT1] = "FIN-WAIT-1", [TCP_FIN_WAIT2] = "FIN-WAIT-2", [TCP_TIME_WAIT] = "TIME-WAIT", [TCP_CLOSE] = "UNCONN", [TCP_CLOSE_WAIT] = "CLOSE-WAIT", [TCP_LAST_ACK] = "LAST-ACK", [TCP_LISTEN] = "LISTEN", [TCP_CLOSING] = "CLOSING", };
我们用这些关键字替换上面Item中的KEY来实现所有状态的获取。
3、配置zabbix agent配置文件。
cat tcp_status.sh UserParameter=tcp.status[*], /usr/sbin/ss -ant|grep -c $1
4、最后重启zabbix agent后,关联模板即可。
写的比较简单,大家自己尝试先,有问题再聊。
本文出自 “woshiyu001” 博客,请务必保留此出处http://woshiyu001.blog.51cto.com/672735/1920819
zabbix3.0 使用SS代替netstat无需脚本,1分钟搞定TCP状态监控
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。