zabbix (11) 监控TCP连接数
对TCP的监控可以采用ss、netstat、/proc/net/tcp这三个不同的方案来实现。其中ss是最快的
(1)ss命令
[root@manager1 script_py ::]#time ss state all|awk '{++S[$2]} END{for( i in S) {printf "%-11s %s\n",i,S[i]} }'
LISTEN
ESTAB
State
TIME-WAIT
UNCONN real 0m0.036s
user 0m0.024s
sys 0m0.011s
(2)netstat命令
[root@manager1 script_py ::]#time netstat -an |awk '/^tcp/{++S[$NF]}END{for(i in S){printf "%-11s %s\n",i,S[i]}}'
LISTEN
ESTABLISHED
TIME_WAIT real 0m0.007s
user 0m0.005s
sys 0m0.002s
(3)读取/proc/net/tcp 文件,其中第四列为TCP连接的各个状态,如:
[root@manager1 script_py ::]#cat /proc/net/tcp|awk '{++S[$4]} END{for( i in S) {printf "%-11s %s\n",i,S[i]} }' 0A
st
第四列各个状态的意思如下:
00 "ERROR_STATYS",
01 "TCP_ESTABLISHED"
02 "TCP_SYN_SENT"
03 "TCP_SYN_RECV"
04 "TCP_FIN_WAIT1"
05 "TCP_FIN_WAIT2"
06 "TCP_TIME_WAIT"
07 "TCP_CLOSE"
08 "TCP_CLOSE_WAIT"
0A "TCP_LISTEN"
0B "TCP_CLOSING"
添加自定义键:
[root@manager1 script_py ::]#cat /etc/zabbix/zabbix_agentd.d/tcp_connection.conf
UserParameter=tcp_connection.errorstatus,awk '($4=="00"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.established,awk '($4=="01"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.synsent,awk '($4=="02"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.synrecv,awk '($4=="03"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.finwait1,awk '($4=="04"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.finwait2,awk '($4=="05"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.timewait,awk '($4=="06"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.close,awk '($4=="07"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.close_wait,awk '($4=="08"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.last_ack,awk '($4=="09"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.listen,awk '($4=="0A"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
UserParameter=tcp_connection.closing,awk '($4=="0B"){print $4}' /proc/net/tcp|awk '{++S[$1]}END {for(i in S){print S[i]}}'
zabbix (11) 监控TCP连接数的更多相关文章
- zabbix自定义监控tcp连接数
首先在客户端修改配置文件 # vim /usr/local/zabbix/etc/zabbix_agentd.conf UnsafeUserParameters=1 UserParameter=tcp ...
- zabbix 监控 tcp 连接数
一.zabbix-agent 服务器配置 1.编辑zabbix_agent配置文件,添加以下内容 vim /etc/zabbix/zabbix_agentd.conf ##添加此行 UserParam ...
- zabbix监控tcp连接数的脚本!!
#!/bin/bash #this script is used to get tcp and udp connetion status #tcp status metric=$ tmp_file=/ ...
- zabbix之监控Nginx连接数
#;下载Nginx (编译的时候必须加上此选项 --with-http_stub_status_module) 官网地址:http://nginx.org/en/docs/http/ngx_http_ ...
- zabbix 监控数据库 及 tcp连接数
参考网站: 监控sqlserver http://blog.51cto.com/13272050/2050601 http://blog.51cto.com/ultrasql/1927672 ...
- zabbix监控tcp连接并发数
第一步,想在zabbix的web监控tcp连接数,那么要看zabbix-server的版本和zabbix-agent版本是否一致,不然TCP-status图没有数据 也会报错.下图就是版本不符合报错的 ...
- zabbix自定义监控项二
为zabbix增加支持传参的自定义监控项 例如使用zabbix来监控tcp的12种状态 tcp的12种状态可以通过man netstat来找到,即 LISTEN:等待从任何远端TCP 和端口的连接请求 ...
- zabbix 监控linux tcp连接数
zabbix 监控linux tcp连接数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.TCP的状态概述 1>.端口状态转换 2>.TCP 三次握手 3>. ...
- zabbix系列(七)zabbix3.0添加对tcp连接数及状态的监控
原理: netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' TIME_WAIT 79 ESTABLISHED 6 LISTE ...
随机推荐
- Matlab匿名函数,子函数,私有函数,重载函数,eval和feval函数
匿名函数,子函数,私有函数等函数类型 匿名函数: 匿名函数没有函数名,也不是.m文件,只包含一个表达式和输入输出参数. Fxy=@(x,y)x.^y+3*x*y x,y为输入输入参数,Fxy为函数名 ...
- MySQL 乱码问题解决
修改 配置文件 只需留下 my.ini文件,然后修改其编码配置. 配置如下 # Example MySQL config file for large systems. # # This is for ...
- 查询并批量插入数据的Sql命令
INSERT INTO student(id,xuesheng,yuwen,shuxue,yingyu) SELECT id,xuesheng,yuwen,shuxue,yingyu FROM stu ...
- CocoaPods - 发布自己的模块(公有库、私有库)
CocoaPods发布框架到远程公有库 1.编写代码~上传远程仓库 git init git add . git commit -m '提交到本地分支' //关联远程仓库 git remote add ...
- iOS - FMDB数据库的使用
下面不废话了直接上代码
- 原生js实现ajax封装
一.什么是ajax? 定义:Ajax(Asynchronous Java and XML的缩写)是一种异步请求数据的web开发技术,在不需要重新刷新页面的情况下,Ajax 通过异步请求加载后台数据,并 ...
- X5内核浏览器video自动全屏解决办法-canvas
最近在做手机端上面播放视频的项目,但是在安卓上面,video的播放是脱离页面,置于最顶层的,所以带来了很多问题,为了解决这个问题,查看了多方资料,写了下面简单的demo,方便以后使用. 下面就是运用c ...
- 采集代理ip 地址【西刺,快代理】
# 嗯,...因为经常需要使用代理去抓一点东西,就有了下面一段代码,第一版不是很好,后面用到了再来优化 import re,pymysql,time,redis from urllib.request ...
- outlook配置其他邮箱登录如qq邮箱或登录无邮件信息记录
今天加班想想自己outlook还没登登录过,于是想着登录一下outlook方便管理邮箱信息,才发现原来登录邮箱都要配置,感觉真是醉了.下面开始正式的配置流程. 选择添加账户 首先,点击文件选择账户设置 ...
- MySQL主从复制(Centos6.3&MySQL5.6)
环境: Master:Centos 6.3 192.168.1.4 Slave:Centos 6.3 192.168.1.5 MySQL: MySQL-5.6.2 ...