zabbix 自定义脚本监控配置之网卡

注:要添加自定义脚本监控,必须升级zabbix agent版本至2.0.0以上,

一:配置步骤

1. 完成自定义监控脚本的编写(windows或linux脚本)

脚本要求:

(1)既然是监控,那必然要有输出结果值(字符串,数字皆可)

(2)必须要求zabbix用户有执行权限,当然可以直接设置所有用户都有执行权限(chmod 777 脚本文件)

(3)若脚本需要传入参数,按照参数传入的顺序,在脚本中可用$1-$9来引用传入的参数

2 找到zabbix agent的配置文件zabbix_agentd.conf,修改如下两个参数

UnsafeUserParameters=0 => UnsafeUserParameters=1并去掉前面的注释符

UserParameter= => UserParameter=aaa.bbb[*],

/usr/local/script/monitor.sh $1 $2 ...

说明:aaa.bbb[*]                    ---zabbix服务器添加监控信息时需要用到的key值,

格式:aaa.bbb[*]                   (例:system.file.size[*])

/usr/local/script/monitor.sh        ----监控脚本绝对路径

为了便于灵活监控,有时脚本需要传入参数,此参数可从zabbix服务器端传入,所有参数按顺序分别从$1-$9表示

注意 :

(1)若无需传入参数,则红色部分可省略

(2)该自定义脚本可由zabbix服务器控制收集数据的频率(如:每30s运行一次),无需再添加计划任务

(3)以上参数请根据实际情况填写,并注意去除参数前注释符(#)

(4)注意在key值和后面的脚本之间有个逗号隔开

至此,自定义监控脚本zabbix agent端配置结束

3. 测试

测试命令: /usr/local/bin/zabbix_agentd  -t  key[参数]

示例:/usr/local/bin/zabbix_agentd  -t  system.file.size

[/etc/a.txt,abc,...]

该文章转自 http://www.linuxidc.com/Linux/2013-11/92476.htm

二:实例:

来计算平均实时网卡流量,分为进和出。如果这个脚本每隔1分钟执行一次,那么算出来的流量值就

是1分钟的平均值。

1.在客户端修改配置文件  /etc/zabbix/zabbix_agentd.conf

需要改动两个地方:

(1)UnsafeUserParameters=1

(2)UserParameter=my.net.if[*],/usr/local/sbin/zabbix/net.sh $1 $2

2. 编写脚本

vi   /usr/local/sbin/zabbix/net.sh   //内容如下

#!/bin/bash

eth=$1

io=$2

net_file="/proc/net/dev"

if [ $2 == "in" ]

then

n_new=`grep "$eth" $net_file|awk ‘{print $2}‘`

n_old=`tail -1 /tmp/neti.log`

n=`echo "$n_new-$n_old"|bc`

d_new=`date +%s`

d_old=`tail -2 /tmp/neti.log|head -1`

d=`echo "$d_new-$d_old"|bc`

if_net=`echo "$n/$d"|bc`

echo $if_net

date +%s>>/tmp/neti.log

grep "$eth" $net_file|awk ‘{print $2}‘>>/tmp/neti.log

elif [ $2 == "out" ]

then

n_new=`grep "$eth" $net_file|awk ‘{print $10}‘`

n_old=`tail -1 /tmp/neto.log`

n=`echo "$n_new-$n_old"|bc`

d_new=`date +%s`

d_old=`tail -2 /tmp/neto.log|head -1`

d=`echo "$d_new-$d_old"|bc`

if_net=`echo "$n/$d"|bc`

echo $if_net

date +%s>>/tmp/neto.log

grep "$eth" $net_file|awk ‘{print $10}‘>>/tmp/neto.log

else

echo 0

fi

}

3.  在脚本执行前,需要先做一个操作

touch   /tmp/net[io].log

date   +%s  >> /tmp/neti.log

grep  eth0 /proc/net/dev |awk ‘{print $2}‘ >>/tmp/neti.log

date +%s >>/tmp/neto.log

grep eth0 /proc/net/dev |awk ‘{print $10}‘ >>/tmp/neto.log

chown zabbix  /tmp/net[io].log

4. 检查脚本是否可用

在服务端执行

zabbix_get -s 192.168.31.166 -p10050 -k "my.net.if[eth0,out]"

5. 如果可以返回数值说明没问题了,接着在浏览器里面配置

组态 --> 主机 --> 项目  --> 创建监控项

名称 “网卡流量出”

类型默认“zabbix代理”

键值  "my.net.if[eth0,out]"

数据更新间隔  60

存档

该文章转自 http://www.apelearn.com/bbs/thread-8091-1-1.html

时间: 2024-12-24 07:56:54

zabbix 自定义脚本监控配置之网卡的相关文章

zabbix自定义脚本监控pps(Packets per Second,包转发率)

一:介绍 网络的性能通常用吞吐率(throughput)这个指标来衡量.常用的网络吞吐率的单位有:PPS(即每秒发送多少个分组数据包).BPS(Bytes Per Second;即每秒发送多少字节).bPS (bits Per Second;即每秒发送多少比特).TPS(TransactionsPer Second;即每秒完成多少次发送过程). pps:(包每秒)包转发率标志了交换机转发数据包能力的大小.一般交换机的包转发率在几十Kpps到几百Mpps.包转发速率是指交换机每秒可以转发多少百万个

zabbix自定义脚本监控pps(Packets per Second,包转发率)_下

接上篇,Linux的做完了,再搞windows的. 首先查了下windows的在哪里获取,在windows的性能计数器中可以获取,叫做Packets Received/sec(获取出来的值就可以直接使用,不像Linux还得需要求差) 那如何获取呢: 1,新建个ITEM,使用这个KEY,perf_counter[]来实现,这个key直接获取性能计数器的数值. 那么只需要找到需要监控的网卡的包转发率的名称 2,获取windows性能计数器上的值 方法一:在win 的 命令cmd窗口下,运行  typ

zabbix专题:第十一章 zabbix proxy分布式监控配置

zabbix专题:第十一章 zabbix proxy分布式监控配置             对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.co zabbix proxy分布式监控配置 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式.分

Zabbix 3.0入门到企业实战三(zabbix监控主机-基础监控配置)(

一:Zabbix监控主机-基础监控配置 1.1配置监控主机 创建主机(先找到配置在找到主机,在创建主机)    点击-->>配置-->>主机 主机配置如下: 注意勾选以启用 1.2 给主机添加自带的监控内置 模板 1.3添加完成,将会又两条监控主机信息 1.4查看监控的内容 检测中--->最新数据   (在最新数据中需要筛选) 图形化监控查看cpu状态 原文地址:https://www.cnblogs.com/egrep/p/8783467.html

zabbix自定义脚本做监控及自制模板初探

一.说明 zabbix监控支持自定义脚本以及自制模板来扩展监控,换句话说就是对业务自定义监控;因此通过撰写脚本完成自定义监控十分有必要;这里的脚本既可以用shell也可以用python等语言;另外自定义了脚本主要目的是获取业务相关的监控数据;还需要结合zabbix web GUI上的模板才能生效;本文的目的就是基于之前的zabbix相关部署操作之后的补充! 任务:通过撰写脚本获取tcp 的各种状态,添加tcp状态模板,添加触发器;添加图形:完整实现脚本自定义监控的整个步聚流程! 二.agent端

L15.3 zabbix自定义脚本执行与报警配置(辅助5.4)

zabbix脚本报警配置 注:此文是5.4配置的一些关键配置说明,非完整步骤 zabbix-agent要配置为支持执行远程命令: vim /etc/zabbix/zabbix_agentd.conf EnableRemoteCommands=1 #Defaults    requiretty 注意 (1) 如果用到以其它用户身份执行命令的话,那么命令本身要以sudo方式运行: sudo /etc/rc.d/init.d/httpd restart (2) 在各agent上的sudoers文件:

zabbix3.4上使用自定义脚本监控公网tcp端口时延情况

我们搭建了***,主要是利用公网地址上tcp端口映射进行连接,从而达到访问的目的.但是有时候,网络不稳定,或者是公网地址震荡异常,导致***连接异常,所以我们很有必要监控tcp端口的连接的时延情况,当时延大于1000ms时,会严重的影响到使用体验,这时就要排查网络原因了. 如果能利用zabbix监控tcp端口的情况,并统计,当达到一定阈值的时候就告警,方便及时排查. 一.思路     1.linux上,可以使用nmap程序扫描端口之外,还可以统计大致的扫描结果,可以利用每次扫描端口的耗时来衡量网

Zabbix自定义参数监控和awk命令

awk 命令 awk是一种处理文本文件的语言,是一个强大的文本分析公具.awk处理文本和数据的方式:逐行读入文本,寻找匹配特定模式的行,然后进行操作. 输出文件匹配行的特定字段 功能很强大,所以有很多用处.这里我主要关注下面这样的场景:逐行读入文本,按规则匹配特定的行,以空格为默认分隔符将每行切片,输出其中特定的某个切片(切开的部分可以进行各种分析处理,这里就是要输出其中以段): $ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain

zabbix自定义脚本实现短信报警提醒

一 简介 通常,在zabbix的web界面配置好之后为了能够及时收到zabbix的报警信息,我们需要配置"报警媒介"来通知我们.其中常用的两种报警媒介分别是:Email和SMS,即:发邮件通知和发短信通知 关于邮件通知的配置很简单,只需要设置SMTP即可,因此这里不多说.但是zabbix默认的短信通知可就有点坑了,"SMS"这种报警媒介要想发送短信是需要硬件支持的.与此同时,现在开发中为了方便一般都是将短信发送的操作封装成接口的形式的,当需要发短信时只需要调用该接口