zabbix使用ifstat工具来自定义获取网卡流量

1、获取ifstat

wget http://distfiles.macports.org/ifstat/ifstat-1.1.tar.gz
tar xf ifstat-1.1.tar.gz
cd ifstat-1.1
./configure
make && make install
ln -s /usr/local/bin/ifstat /sbin/

2、自定义监控脚本

vim networkflow.sh

#!/bin/bash
case $1 in
        inflow)
                ifstat -i eth0  1 1 | sed -n ‘3p‘ | awk ‘{print $(NF-1)}‘
        ;;
        outflow)
                ifstat -i eth0  1 1 | sed -n ‘3p‘ | awk ‘{print $(NF)}‘
        ;;
esac

我这里是在脚本里面指定网卡eth0的,大家做的话可以稍微改善一下这个脚本,然后自动化获取需要监控的网卡名称。 inflow代表网卡的入口速率,outflow代表出口速率。

chmod a+x networkflow.sh
cp networkflow.sh /usr/local/zabbix_agentd/defineScripts/

这里说一下,/usr/local/zabbix_agentd/defineScripts这个目录是我服务器上面放置自定义脚本的目录。

3、自定义zabbix的key

vim /usr/local/zabbix_agentd/etc/zabbix_agentd.userparams.conf

底部添加一段:

#check network flow
UserParameter=network_flow[*],/usr/local/zabbix_agentd/defineScripts/networkflow.sh $1

/usr/local/zabbix_agentd/etc/zabbix_agentd.userparams.conf 这个文件是我在/usr/local/zabbix_agentd/etc/zabbix_agentd.conf中Include进去的,单独作为一个存放自定义key的地方。

然后重启zabbix_agentd,这个自定义的key就生效了。

4、zabbix server UI使用此key

这个可以添加到已有的模板里面,或者新建一个模板都可以的。

建立item

建立trigger

建立graphs

我这边只是已入口流量为例

5、应用到hosts上面

上面就是效果图

搞定!

时间: 2024-09-30 04:41:54

zabbix使用ifstat工具来自定义获取网卡流量的相关文章

psutil模块获取网卡流量

使用python监控系统时,获取网卡流量是比较难搞的,网上找了一个比较好的脚本,分享一下! psutil模块是一个跨平台的获取进程和系统应用情况(CPU,内存,磁盘,网络,传感器)的库.该模块用于系统监控.限制进程资源和运行进程的管理等方面 安装模块psutil pip install psutil 亲测Linux和Windows使用正常 net_traffic.py #!/usr/bin/env python # -*- coding: utf-8 -*- try:     import ps

zabbix3.0.4客户端安装及网卡流量监控配置

本文主要介绍zabbix在linux及windows下客户端的安装,网卡流量监控配置. 一.linux客户端安装 1.编译软件 # useradd zabbix -s /sbin/nologin -M # ./configure --prefix=/usr/local/zabbix-agent --enable-agent # make && make install 2.修改agetn配置 Server=127.0.0.1,192.168.115.31    #本机即是agent和ser

zabbix自定义网卡流量监控脚本and解决图形字体方块问题

1.  在客户端修改配置文件  /etc/zabbix/zabbix_agentd.conf需要改动两个地方:(1)  UnsafeUserParameters=1(2) UserParameter=my.net.if[*],/usr/local/sbin/zabbix/net.sh $1 $2   //其中UserParameter用来自定义键值,(类似于net.if.in),自己写的脚本往往会有参数,所以需要加[*],这是固定写法,如果脚本压根就没有什么参数,那么这个[*]就省了.逗号后面就

shell编程之【zabbix自定义监控网卡流量脚本】

之前写了一篇文章主要介绍zabbix的搭建使用http://msiyuetian.blog.51cto.com/8637744/1705396 下面这篇文章主要介绍zabbix自定义监控网卡流量的脚本实现 前期准备 1.说明 server ip :192.168.0.115 client ip :192.168.0.114 2.开启服务 因为之前搭建过zabbix环境,这里就不重复了,直接开启服务端的所需服务: [[email protected] ~]# /etc/init.d/httpd s

监控开发之用munin来自定义插件监控redis和mongodb

求监控组的大哥大妹子们干点事,真不容易 ! 要问他们是谁?  他们是神 .轻易别找他们,因为找了也是白找. 上次因为python和redis长时间brpop的时候,会有线程休眠挂起的情况,所有通知报警平台被下线了.这次算是完美解决了.再把他给上线.这两公司的告警已经开始往我这边的接口开始仍了. 这边正在改zabbix cmdb的控制,所以暂时不能登录.等搞好了后,让他们搞下redis和mogodb的监控,居然还让我发邮件和提供脚本及思路啥的...   一寻思,又要去zabbix,又要写脚本,还不

ABI与编译器:ABI是由内核和工具链定义和实现的

http://book.51cto.com/art/201412/460857.htm <Linux系统编程(第2版)>第1章入门和基本概念,这一章着眼于Linux系统编程的基础概念并从程序员视角探索Linux系统.本节为大家介绍ABI. 1.2.2  ABI API定义了源码接口,而ABI定义了两个软件模块在特定体系结构上的二进制接口.它定义了应用内部如何交互,应用如何与内核交互,以及如何和库交互.API保证了源码兼容,而ABI保证了"二进制兼容(binary compatibil

获取网卡MAC、硬盘序列号、CPU_ID、BIOS编号

抄来的 获取网卡MAC.硬盘序列号.CPU ID.BIOS编号 本文中所有原理及思想均取自网络,有修改.其中获取硬盘序列号.获取CPU编号.获取BIOS编号的原始代码的著作权归各自作者所有. 以下代码可以取得系统特征码(网卡MAC.硬盘序列号.CPU ID.BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码 UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度 // 网卡 MAC

Atitit.变量的定义&#160;获取&#160;储存&#160;物理结构&#160;基本类型简化&#160;隐式转换&#160;类型推导&#160;与底层原理&#160;attilaxDSL

Atitit.变量的定义 获取 储存 物理结构 基本类型简化 隐式转换 类型推导 与底层原理 attilaxDSL 1.1. $ 美元字符, php 黑头1 1.2. 默认变量的范围和声明:1 1.3. 变量的存储,储存在变量池里Map(varName,varVal)1 1.3.1. 复合变量1 1.4. 变量类型简化: 字符串 数字,  bool1 1.5. 变量自动隐式转换2 1.6. 类型推导2 2. 参考 复合变量2 1.1. $ 美元字符, php 黑头 1.2. 默认变量的范围和声明

利用ansible modules模块来自定义集群管理

前沿: 在一些个特定环境下,用ansible做集群管理还是很棒的,这两天看了他的模块,官方提供了很多,就算不够,你也可以自定义定制. 话说我挺喜欢他的modules模块的,够直接 !!! 我这里就说些常见的ansible的modules吧. 下面的ansible service一看大家就懂了,就是服务状态的管理模块 [[email protected] ~ ]$ ansible web -m service -a "name=nginx state=started" 10.150.14