1、在 agent 端建立脚本,并赋予 zabbix 执行权限

#!/bin/bash

# Script to fetch Netstat statuses for tribily monitoring systems

# Author: hanxiao2100@qq.com

# License: GPLv2

# Set Variables

# Functions to return tcp stats

function tcp {

netstat -n | grep tcp | wc -l

}

function udp {

netstat -n | grep udp | wc -l

}

function icmp {

netstat -n | grep icmp | wc -l

}

function syn {

netstat -n | grep SYN | wc -l

}

function timewait {

netstat -n | grep TIME_WAIT | wc -l

}

function established {

netstat -n | grep ESTABLISHED | wc -l

}

function close {

netstat -n | grep CLOSE | wc -l

}

# Run the requested function

$1

2、添加zabbix_agent用户参数

# Monitor Network status

UserParameter=network.tcp,/usr/local/zabbix_agent/etc/scripts/networkStatus tcp

UserParameter=network.udp,/usr/local/zabbix_agent/etc/scripts/networkStatus udp

UserParameter=network.icmp,/usr/local/zabbix_agent/etc/scripts/networkStatus icmp

UserParameter=network.tcp.syn,/usr/local/zabbix_agent/etc/scripts/networkStatus syn

UserParameter=network.tcp.timewait,/usr/local/zabbix_agent/etc/scripts/networkStatus timewait

UserParameter=network.tcp.established,/usr/local/zabbix_agent/etc/scripts/networkStatus established

UserParameter=network.tcp.close,/usr/local/zabbix_agent/etc/scripts/networkStatus close

到服务端来采集,测试下是不是正常

3、在zabbix 服务端创建模板

创建 Applications 应用

创建监控项目

创建图表

4、查看监控数据

http://www.linuxidc.com/Linux/2012-06/62870.htm

onitoring network connection states with Zabbix (+ iptables + iptstate)

This is a little howto about displaying some small n’ nice graphs regarding to network connections of your machine. In the way of “Nothing is silly if it involves getting graphs”, the goal of this article is to get a realtime graph showing numbers of current server connections according to protocols,

本文内容英文原文由以下博客作者提供!我做中文说明. 呵呵

http://blog.portwd.com/sysadmin/monitoring-iptables-with-zabbix/

1. iptables, iptstate, zabbix server/agent

2. iptables Zabbix template

3. monitoring scripts

We need to get the template from point 2. and import it to Zabbix sever. Then we will rename it’s application from “Network” to e.g. Network_iptables, due to namespace conflict with default Linux template. Now when we have a possibility to display TCP states and type of connections, let’s fill it with data.

/etc/zabbix_agentd.conf:

UserParameter=iptstate.tcp,/etc/zabbix/scripts/net-tcp

UserParameter=iptstate.tcp.syn,/etc/zabbix/scripts/net-syn

UserParameter=iptstate.tcp.timewait,/etc/zabbix/scripts/net-time-wait

UserParameter=iptstate.tcp.established,/etc/zabbix/scripts/net-established

UserParameter=iptstate.tcp.close,/etc/zabbix/scripts/net-close

UserParameter=iptstate.udp,/etc/zabbix/scripts/net-udp

UserParameter=iptstate.icmp,/etc/zabbix/scripts/net-icmp

Bold font are the names of keys in our newly imported iptables/iptstate zabbix template. Then you need to authorize zabbix user to run iptstate command (potentially without password) and you do it in /etc/sudoers file. Since zabbix agent doesn’t allow to callsudo command directly from it’s config ( you will end up with error log “you must have a tty to run sudo” ), it is also required to turn off “Defaults requiretty” by commenting it out. The scripts which are called in the example above are located in point 3.

#!/bin/bash

est=`sudo iptstate -s | grep ESTABLISHED | wc -l`

echo $est

Output of this simple script is a number of connections which are in ESTABLISHED TCP state. These checks are periodical, so after restarting zabbix-agentd, you’ll get graphs like from beggining of this article. Good part is that you don’t need to be stuck with defaults, you can define some more like this:

iptstate -s -t | head -2 |tail -1 | sed 's/^.*OTHER: //'

上一张我的图吧,还是热呼呼的,呵呵!

第一步,导入zabbix的关于tcp的模版和脚本文件.见附件!

第二步编辑/etc/zabbix_agentd.conf:

UserParameter=iptstate.tcp,/etc/zabbix/scripts/net-tcp

UserParameter=iptstate.tcp.syn,/etc/zabbix/scripts/net-syn

UserParameter=iptstate.tcp.timewait,/etc/zabbix/scripts/net-time-wait

UserParameter=iptstate.tcp.established,/etc/zabbix/scripts/net-established

UserParameter=iptstate.tcp.close,/etc/zabbix/scripts/net-close

UserParameter=iptstate.udp,/etc/zabbix/scripts/net-udp

UserParameter=iptstate.icmp,/etc/zabbix/scripts/net-icmp

建立脚本文件到/etc/zabbix/scripts这个目录里。

请到这儿下载 http://data.portwd.com/code/zabbix-iptables/

第三步:替换掉/etc/sudoers里的选项

sed -i -e 's/^Defaults.*requiretty/# &/' /etc/sudoers

第三步不做的后果是:

a、zabbix-agentd.log会在你查看关于tcp的图形时,狂报以下信息:

sudo: sorry, you must have a tty to run sudo

第四步重启zabbix-agent

备注1: 在测试中有发现部分机器使用iptstate 没有任何的输出。此时,我们需要加载一个模块。

# modprobe ip_conntrack

关于tcp的脚本,建议先在客户端执行,确认有数字输出,如果本地都没有输出,在zabbix server端也不会有输出。

备注2:在客户端使用zabbix用户执行net-tcp时,出现iptstate  找不到命令。请使用完全路径,我也是在某台vps发现这个问题,我的附件里没有修改。太懒了,原作者的也没有修改。关于iptstate,请使用绝对路径

[root@s10315190 scripts]# cat net-icmp

#!/bin/bash

est=`sudo /usr/sbin/iptstate -s | grep icmp | wc -l`

echo $est

使用zabbix 不超过3天,收获真是不少!官方详尽的文档,不少网站和博客上大量的模版,让我收益良多!

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2012年资料/6月/14日/Zabbix 如何监控TCP的SYN,establised?/

转载于:https://blog.51cto.com/tianshili/1638595

Zabbix 监控TCP的SYN,establised相关推荐

  1. zabbix 如何监控tcp的SYN,establised?

    Monitoring network connection states with Zabbix (+ iptables + iptstate) This is a little howto abou ...

  2. linux tcp 监控,Zabbix 监控tcp连接的状态

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

  3. zabbix监控TCP连接状态

    一 .zabbix监控TCP连接状态 1.取到TCP连接状态的值 [root@web01 ~]# netstat -antp | awk 'NR>2{print $6}' | grep &quo ...

  4. zabbix 监控TCP状态连接数

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

  5. zabbix监控TCP连接数

    模板可以将多个监控项 触发器 图形都配置在模板中,方便多个监控的主机进行重复调用,提升了很多的工作效率 模板的简单配置 1.配置-----模板---------创建模板 配置合适的模板名称再点击添加 ...

  6. zabbix Server 4.0 监控TCP的12种状态

      zabbix Server 4.0 监控TCP的12种状态 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家对TCP三次握手比较熟悉了,都知道当发生DOSS攻击时,客户端发送 ...

  7. zabbix 监控Linux TCP/UDP端口流量

    zabbix-agent客户端在Linux服务器安装之后,服务器端配置上Template OS Linux这个模板 ,就会自动搜索该服务器上的所有网卡,然后实时记录income流量和outcome流量 ...

  8. Zabbix自定义监控tcp的ESTABLISHED状态的数量

    一.自定义监控项,监控tcp的ESTABLISHED状态的数量 环境:两台虚拟机 10.0.0.201 和10.0.0.71 1.首先在10.0.0.201客户端虚拟机上配置agent文件 vim / ...

  9. zabbix监控iptables防火墙状态之是否有丢弃的包(攻-击)

    概述 之前有介绍通过saltstack统一管理线上防火墙规则,并且是在默认规则为DROP策略下,即意味着,如果没有明确允许开放或允许出去访问,则防火墙会拒绝请求;特别是在线上防火墙改造时,可能由于历史 ...

最新文章

  1. 工作流调度系统介绍,常见工作流调度系统对比,azkaban与Oozie对比,Azkaban介绍与特性(来自学习笔记)
  2. java box unboxing
  3. c# 审批流引擎_小熊OA:流程引擎才能真正起到管理价值!
  4. go语音protobuf_总结一下protobuf安装-Go语言中文社区
  5. 效率低下的原因--开发者说
  6. java获取当前日期和时间的二种方法分享
  7. 实战 | F1060路由模式典型组网配置案例(静态路由)
  8. HBase的java操作,最新API。(查询指定行、列、插入数据等)
  9. python自定义标识符_《Python 3程序开发指南(第2版•修订版)》——第2章 数据类型 2.1 标识符与关键字...
  10. Html设置图片大小代码
  11. 利用分析仪测量二极管的伏安特性
  12. 水晶报表 php,VS2015环境下Crystal Reports(水晶报表)的安装使用
  13. 腾达ap设置说明_腾达(Tenda)F6无线信号放大模式(Client+AP)设置教程 | 192路由网
  14. 三线制接近开关原理及接线图
  15. python代码完成Fisher判别
  16. 循环赛日程表非递归Java_王晓东《算法设计与分析》课件.ppt
  17. u3m8缓存文件.ts合成mp4
  18. centos通过nmcli设置静态ip及设置开机自动连接
  19. 【技术邻】CAE工程师崩溃的10个瞬间
  20. [AV1] Motion Vector Prediction

热门文章

  1. HFSS15.0安装步骤
  2. 线程函数的设计以及MsgWaitForMultipleObjects函数的使用要点
  3. python的基本语法和语言_Python基本语法
  4. python序列_什么是Python的序列协议?
  5. avro和java原生序列化的区别,java原生序列化和Kryo序列化性能比较
  6. makefile问题
  7. sptk安装,编译流程
  8. pd 生成mysql 脚本_PowerDesigner 如何生成数据库更新脚本
  9. 香帅的北大金融学课笔记19 -- 科技金融
  10. 数据结构与算法(C++)– 堆排(Heap Sort)