共计 1699 个字符,预计需要花费 5 分钟才能阅读完成。
对于 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 后,关联模板即可。
写的比较简单,大家自己尝试先,有问题再聊。
一些 Zabbix 相关教程集合:
Ubuntu 14.04 下 Zabbix2.4.5 源码编译安装 http://www.linuxidc.com/Linux/2015-05/117657.htm
CentOS 7 LNMP 环境搭建 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140134.htm
Ubuntu 16.04 安装部署监控系统 Zabbix2.4 http://www.linuxidc.com/Linux/2017-03/141436.htm
CentOS 6.6 搭建 Zabbix 3.0.3 过程 http://www.linuxidc.com/Linux/2017-04/142839.htm
Zabbix 监控安装部署及警报配置 http://www.linuxidc.com/Linux/2017-03/141611.htm
Ubuntu 16.04 下安装部署 Zabbix3.0 http://www.linuxidc.com/Linux/2017-02/140395.htm
CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 7 下 Zabbix 3.0 安装详解 http://www.linuxidc.com/Linux/2017-03/141716.htm
64 位 CentOS 6.2 下安装 Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
CentOS 7.2 下搭建 Zabbix 3.2 实践图解教程 http://www.linuxidc.com/Linux/2017-03/142077.htm
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143296.htm