监控原理

ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'

LAST-ACK 5
ESTAB 348
FIN-WAIT-1 11
CLOSING 1
FIN-WAIT-2 41
TIME-WAIT 2447
LISTEN 8

状态值的解释

ESTABLISHED:  The socket has an established connection.

SYN_SENT:  The socket is actively attempting to establish a connection.

SYN_RECV:  A connection request has been received from the network.

FIN_WAIT1:  The socket is closed, and the connection is shutting down.

FIN_WAIT2:  Connection is closed, and the socket is waiting for a shutdown from the remote end.

TIME_WAIT:  The socket is waiting after close to handle packets still in the network.

CLOSED:  The socket is not being used.

CLOSE_WAIT:  The remote end has shut down, waiting for the socket to close.

LAST_ACK:  The remote end has shut down, and the socket is closed. Waiting for acknowledgement.

LISTEN:  The  socket  is listening for incoming connections.

CLOSING:  Both sockets are shut down but we still don’t have all our data sent.

监控脚本

  1. #!/bin/bash
  2. # // pdd
  3. # 未出现的状态值取0
  4.  
  5. status() {
  6. ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'
  7. }
  8.  
  9. case $ in
  10. LISTEN)
  11. listen=`status | grep "$1" | awk '{print $2}'`
  12. [ -z "$listen" ] && echo || echo "$listen"
  13. ;;
  14. SYN-SENT)
  15. syn_sent=`status | grep "$1" | awk '{print $2}'`
  16. [ -z "$syn_sent" ] && echo || echo "$syn_sent"
  17. ;;
  18. SYN-RCVD)
  19. syn_rcvd=`status | grep "$1" | awk '{print $2}'`
  20. [ -z "$syn_rcvd" ] && echo || echo "$syn_rcvd"
  21. ;;
  22. ESTAB)
  23. estab=`status | grep "$1" | awk '{print $2}'`
  24. [ -z "$estab" ] && echo || echo "$estab"
  25. ;;
  26. FIN-WAIT-)
  27. fin_wait_1=`status | grep "$1" | awk '{print $2}'`
  28. [ -z "$fin_wait_1" ] && echo || echo "$fin_wait_1"
  29. ;;
  30. CLOSE-WAIT)
  31. close_wait=`status | grep "$1" | awk '{print $2}'`
  32. [ -z "$close_wait" ] && echo || echo "$close_wait"
  33. ;;
  34. FIN-WAIT-)
  35. fin_wait_2=`status | grep "$1" | awk '{print $2}'`
  36. [ -z "$fin_wait_2" ] && echo || echo "$fin_wait_2"
  37. ;;
  38. LAST-ACK)
  39. last_ack=`status | grep "$1" | awk '{print $2}'`
  40. [ -z "$last_ack" ] && echo || echo "$last_ack"
  41. ;;
  42. TIME-WAIT)
  43. time_wait=`status | grep "$1" | awk '{print $2}'`
  44. [ -z "$time_wait" ] && echo || echo "$time_wait"
  45. ;;
  46. CLOSED)
  47. closed=`status | grep "$1" | awk '{print $2}'`
  48. [ -z "$closed" ] && echo || echo "$closed"
  49. ;;
  50. *)
  51. echo "Usage: LISTEN SYN-SENT SYN-RCVD ESTAB FIN-WAIT-1 CLOSE-WAIT FIN-WAIT-2 LAST-ACK TIME-WAIT CLOSED"
  52. ;;
  53. esac

添加配置文件

userparameter_tcp.conf  # 需要reload zabbix_agentd

  1. # TCP
  2. UserParameter=tcp.status[*],/usr/local/zabbix/scripts/tcp-status.sh $

添加监控模板

Zabbix监控TCP status的更多相关文章

  1. Zabbix监控nginx-rtmp status(json版)

    与前面的文章 zabbix监控nginx-rtmp status(html版)区别只在于取值的页面不一样 http://127.0.0.1:81/control/get/all_streams sta ...

  2. zabbix监控tcp状态

    Tcp的连接状态对于我们web服务器来说是至关重要的,从TCP的连接状态中可以看出网络的连接情况,服务器的压力情况,对服务器的并发有很好的直观反映:尤其是并发量ESTAB:或者是syn_recv值,假 ...

  3. zabbix监控tcp连接数的脚本!!

    #!/bin/bash #this script is used to get tcp and udp connetion status #tcp status metric=$ tmp_file=/ ...

  4. zabbix监控tcp连接并发数

    第一步,想在zabbix的web监控tcp连接数,那么要看zabbix-server的版本和zabbix-agent版本是否一致,不然TCP-status图没有数据 也会报错.下图就是版本不符合报错的 ...

  5. ZABBIX监控TCP连接状态

    一.获取监控数据 # /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' LISTEN ESTABLISHED T ...

  6. zabbix 监控TCP状态连接数

    1.zabbix客户端,监控TCP状态脚本,并保存到的定路径.(/usr/local/zabbix-agent/shells) # cat zabbix_linux_plugin.sh #!/bin/ ...

  7. Zabbix监控redis status

    概述 zabbix采用Trapper方式监控redis status 原理 redis-cli info命令得到redis服务器的统计信息,脚本对信息分两部分处理: (1)# Keyspace部分为Z ...

  8. Zabbix监控php-fpm status

    开启php-fpm status php-fpm.conf pm.status_path = /statusx45 nginx.conf location ~ /(statusx45)$ { incl ...

  9. Zabbix监控nginx status

    nginx开启status ./configure --with-http_stub_status_module nginx.conflocation /statusx35 { stub_status ...

随机推荐

  1. 远程终端登录软件MobaXterm

    提到SSH.Telnet等远程终端登录,我相信很多人想到的都是PuTTY[注A]. PuTTY足够成熟.小巧.专注核心任务,并且对编码等常见坑的处理并不缺乏,这其实都是优点.但PuTTY在额外功能上就 ...

  2. OA项目_环境搭建

    OA项目现在要做成微服务,用的框架是springboot,所用的编程工具是idea,maven,做为一个程序员最关心的就是我需要在那个架包中编写代码,我们只需关注domain,repository,s ...

  3. Python 开发工具和框架安装

    引言: 其实之前对于 Python,只是知道有这门语言而已.大部分还是使用 .net 开发的,之前也学了 MVC+EF 开发,但是由于工作上完全用不到,也就没有在博客记录学习的东西了. 最近又接触到了 ...

  4. 《大话设计模式》ruby版代码:外观模式

    需求: 股民买卖股票 初步代码: # -*- encoding: utf-8 -*- #股票1 class Stock1 def buy puts '股票1买入' end def sell puts ...

  5. python一段代码 感受一下

    class T():    def aa(self):        write = 1        print '123' class B():            def hehe(self) ...

  6. RESTful源码笔记之RESTful Framework的APIview, Viewset总结分析

    0x00  引言 官方文档:http://www.django-rest-framework.org/drf为我们提供强大的通用view的功能,本博客对这些view进行简要的总结分析.首先,我们看一下 ...

  7. SQL学习笔记四(补充-1-1)之MySQL单表查询补充部分:SQL逻辑查询语句执行顺序

    阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SELECT语句关键字的定义顺序 SELE ...

  8. 使用awk分割字符串并且获取分割后的最后一个字符串

    示例:从字符串"you-me-he"中获取he echo "you-me-he" |awk -F '[-]' '{print $NF}'

  9. Asynchronous Programming Model (APM)异步编程模型

    https://msdn.microsoft.com/zh-cn/library/ms228963(v=vs.110).aspx 一.概念 An asynchronous operation that ...

  10. Redis之Python 使用 Redis

    Python 使用 Redis 参考文档: http://redis.cn/clients.html#python https://github.com/andymccurdy/redis-py 安装 ...