Tcp的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB;或者是syn_recv值,假如这个值比较大的话我们可以认为是不是受到了攻击(例如SYN攻击),或是是time_wait值比较高的话,我们要考虑看我们内核是否需要调优,太高的time_wait值的话会占用太多端口,要是端口少的话后果不堪设想

环境

主机 ip zabbix版本 关系
centos7.5 192.168.181.135 zabbix4.2 服务端
centos7.5 192.168.181.136 zabbix4.2 客户端

客户端配置

编写采集规则

编写一个获取tcp状态的脚本文件,参考

vim /etc/zabbix/scripts/tcp_status.sh

#!/bin/bash

#########################################################################
# File Name: tcp_status.sh
# file_path:
# Author: 浪子尘心
# Mail: 536418286@qq.com
# Created Time: 2019-03-18 14:01:34
# Last Changed: 2019-03-18 14:02:18
# Description: TCP状态采集
# Version:
######################################################################### #!/bin/bash
[ $# -ne 1 ] && echo "Usage:CLOSE-WAIT|CLOSED|CLOSING|ESTAB|FIN-WAIT-1|FIN-WAIT-2|LAST-ACK|LISTEN|SYN-RECV SYN-SENT|TIME-WAIT" && exit 1
ss_file=/tmp/ss.txt
tcp_status_fun(){
[ $1 == "ESTABLISHED" ] && TCP_STAT="ESTAB" || TCP_STAT=$1 #可能大家习惯了看ESTABLISHED,所以我做了个小小的转换。
ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > $ss_file
TCP_STAT_VALUE=$(grep ${TCP_STAT} $ss_file|awk {'print $NF'})
if [ -z "$TCP_STAT_VALUE" ];then
TCP_STAT_VALUE=0
fi
echo $TCP_STAT_VALUE
}
tcp_status_fun $1

给脚本加执行权限

chmod +x /etc/zabbix/scripts/tcp_status.sh

编写自定义key

vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf

UserParameter=tcp_status[*],/etc/zabbix/scripts/tcp_status.sh $1

重启客户端

systemctl restart zabbix-agent

服务端测试获取数据

zabbix_get -s 192.168.181.136 -p 10050 -k tcp_status[LISTEN]

导入监控TCP模板

配置-模板-导入

模板地址

导入完成后选择客户端主机,添加模板即可,点击主机群组 myApplications 查看



点击tcp模板的监控项查看



查看图形

zabbix4.2学习笔记--TCP状态监控的更多相关文章

  1. zabbix4.2学习笔记系列

    写在前面:对zabbix的接触始于对监控的了解,网上比较多zabbix相关博客,比较多基于3系列甚至2系列,最新开发版zabbix4.2版本已经出来,本博客基于4.2版本学习,参考官网4.2版本和网上 ...

  2. Zabbix学习之路(六)TCP状态监控

    TCP状态监控 Tcp的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB:或者是syn_recv值,假如这个值比较大的话我们可以认为是不是受到了***,或是是time_wait值比 ...

  3. zabbix学习笔记:zabbix监控之短信报警

    zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...

  4. tcp/ip学习笔记-TCP

    tcp/ip学习笔记-TCP 彭会锋 报文发送采用的是tcp_output函数,

  5. zabbix-2.4.8-1添加tcp状态监控

    1.安装zabbix-agentyum -y install zabbix-2.4.8-1.el6.x86_64.rpm zabbix-agent-2.4.8-1.el6.x86_64.rpm2.编辑 ...

  6. zabbix对tcp状态监控

    1.先编写一个获取tcp状态的脚本文件,脚本放在/usr/lib/zabbix/alertscripts/vim /usr/lib/zabbix/alertscripts/tcp_status.sh ...

  7. zabbix4.2学习笔记--监控tomcat

    zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架 环境 主机 ...

  8. zabbix4.2学习笔记--监控nginx

    图解一个客户端连接开源版本的Nginx情况 Accepts(接受).Handled(已处理).Requests(请求数)是一直在增加的计数器.Active(活跃).Waiting(等待).Readin ...

  9. zabbix4.2学习笔记--安装percona插件监控MySQL

    percona-monitoring-plugins是percona专门为MySQL监控的工具,支持Nagios,cacti,zabibx,本文主要介绍percona-monitoring-plugi ...

随机推荐

  1. 【bug】uc浏览器qq浏览器广告过滤

  2. Violet蒲公英

    传送门 题目要求求出给定区间内编号最小的众数,强制在线. 虽然说这是个黑题……不过我们可以用暴力分块解决它.首先先对所有数离散化,这个不影响众数.我们先预处理出每个数在前i个块内出现了多少次,再预处理 ...

  3. linux上部署javaWeb项目

    将web项目打成war包,上传到Linux操作系统tomcat安装目录下的webapps下即可!

  4. EF include 预先加载

    在asp.net mvc 中,常在控制器中预先加载导航属性,以便在视图中能够显示起关联的数据. 如果不预先加载,View中就会无法呈现外键的 关联数据. 会提示EF 错误发生. 一. 模型: publ ...

  5. [笔记]如何将已存在的JAVA添加到当前ECLIPSE JAVA工程中

    找到路径.ctrl C .ctrl V F5就行了

  6. Ubuntu 12.04 设置终端字体为文泉驿(转载)

    转自:http://my.oschina.net/uniquejava/blog/98480 0.说明      在gnome-terminal终端中看习惯了文泉驿微米黑字体,没想到从11.10升级到 ...

  7. PCB Genesis SET拼板(圆形板拼板) 实现效果(二)

    越来发现Genesis采用Surface多边形数据结构的重要性了,当撑握了多边形缩放,交集, 差集,并集等算法, 想实现PCB拼板简直轻而易举了;当然借助多边形算法可以开发出更多的PCB实用的工具出来 ...

  8. 【翻译】- EffectiveAkka-第一章

    第一章 Actor应用程序类型 在会议上发言时,我遇到的最多问题之一是“基于Actor的应用程序的用例是什么?”这取决于您要完成的任务,但是如果您想构建具有可管理的并发性.跨节点向外扩展性.并具有容错 ...

  9. Luogu P1004/P1006 方格取数/传纸条 【棋盘Dp】 By cellur925

    我明明记得写过这篇啊qwq为什么会搞丢 两题几乎一样. 如果再拓展到k条路,就要用网络流跑了,本蒟现在还不会. 我们容易想到四维dp,但是有一种更好的方法. 首先,先从左上到右下.再从右下到左上可以近 ...

  10. oracle数据库当前用户下所有表名和表名的注释

    select a.TABLE_NAME,b.COMMENTSfrom user_tables a,user_tab_comments bWHERE a.TABLE_NAME=b.TABLE_NAMEo ...