前言:由于Zabbix提供的项目和模板有限,有时我们需要自定义监控项,下面以监控磁盘I/O使用率为例,创建自动发现规则,并配置图形。

(1)Zabbix_agentd端自动发现脚本,zabbix要求返回的数据为json格式。

自动发现磁盘,这里有sd和md开头的,根据需求修改脚本去过滤出磁盘:

运行:/usr/local/etc/disk_io_check.sh disk_count

脚本摘自网络,可自行修改,或用其他语言编写也可以。

# vim /usr/local/etc/disk_io_check.sh
#!/bin/sh
#disk_io monitor
disk=$2
function disk_count {
diskarray=(`cat /proc/diskstats | grep -E "\b[s|m]d[a-z|0]\b| \
\bxvd[a-z]\b|cciss/c[0-9]d[0-9]\b" | grep -i "\b$1\b" \
|awk '{print $3}' | sort|uniq 2>/dev/null`)
length=${#diskarray[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++));do
printf '\n\t\t{'
printf "\"{#DISK_NAME}\":\"${diskarray[$i]}\"}"
if [ $i -lt $[$length-1] ];then
printf ','
fi
done
printf "\n\t]\n"
printf "}\n"
}
function qps {
qps=$(iostat $disk -x 1 2 | grep -E "^sd|^cciss|md" | awk '{if(NR==2)print $NF}')
echo $qps
}
$1 exit 0

(2)采集数据脚本:

也是上面的脚本/usr/local/etc/disk_io_check.sh qps

(3)配置zabbix_agentd.conf

# cat /etc/zabbix/zabbix_agentd.d/disk_io.conf

UserParameter=iostat.count,/usr/local/etc/disk_io_check.sh disk_count

UserParameter=iostat.util[*],/usr/local/etc/disk_io_check.sh qps $1

(4)重启zabbix_agentd

killall zabbix_agentd;./zabbix_agentd

(5)Zabbix_server端测试:返回预知的数据,则脚本和配置OK

# /usr/local/zabbix-2.2.2/bin/zabbix_get -s XXX.XXX.XXX.XXX -p 10050 -k 'iostat.count'

{

       "data":[

              {"{#DISK_NAME}":"md0"},

              {"{#DISK_NAME}":"sda"},

              {"{#DISK_NAME}":"sdb"},

              {"{#DISK_NAME}":"sdc"},

              {"{#DISK_NAME}":"sdd"}

       ]

}

# /usr/local/zabbix-2.2.2/bin/zabbix_get -s xxx.xxx.xxx.xxx -p 10050 -k 'iostat.util[sdc]'

2.50

(6)在模板中配置自动发现:

配置项目原型:

(7)在主机或模板中配置图形:

下面是数据采集一段时间后的图形:

至此,自动发现配置完毕。

注意点:(1)键值要对应起来(2)自动发现返回的数据为json格式

Zabbix添加自定义监控项(一)的更多相关文章

  1. zabbix添加自定义监控项

    zabbix添加自定义监控项 author:headsen  chen   2017-10-16  17:23:17 个人原创,转载请注明作者,出处,否则依法追究法律责任 主机端配置: 首先安装好za ...

  2. mysql小白系列_08 zabbix添加自定义监控项items和触发器

    监控mysql存活 1.配置agent自定义参数 vi /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/z ...

  3. zabbix自定义监控项一

    1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...

  4. zabbix日常监控项java(四)

    yum install net-tools netstat命令 yum -y install bash-completion 命令自动补全包 https://github.com/qiueer/zab ...

  5. zabbix自定义监控项数据类型错误

    问题描述 监控cpu使用率,脚本获取的值是浮点型  zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...

  6. Linux下Zabbix5.0 LTS添加自定义监控项

    自定义监控项 zabbix本身提供了很多可选的监控项,可以满足绝大部分的监控需求.有时候由于业务需求,需要自定义监控项. 下面以创建mysql自定义监控项为例,分享如何创建zabbix自定义监控项. ...

  7. zabbix自定义监控项、添加图形、设置触发器、远程执行命令

    监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...

  8. zabbix添加自定义监控项目

    在zabbix里添加一个自定义监控项目,简单做个笔记,怕忘了 首先需要定义 zabbix_agentd.conf  中的 UnsafeUserParameters 修改为 UnsafeUserPara ...

  9. zabbix自定义监控项

    原因:zabbix监控系统自带的监控规则有限,如果需要更加灵活的定义监控项,可以通过修改配置文件实现 vim xxx/zabbix_agentd.conf UnsafeUserParameters=1 ...

随机推荐

  1. MariaDB与MySQL并存

    以下是MariaDB官方文档说明,MariaDB如何安装在已经存在MySQL实例的主机上: https://mariadb.com/kb/en/library/installing-mariadb-a ...

  2. Flash actionscript3.0 多个setTimeout之间会顺序执行 单线程执行 无法中止

    做了一个试验,测试能否在另外的setTimeout中中断其他代码的执行.结果表明,是不可能的,Actionscript会按顺序,逐个逐个的执行. private var index:int; priv ...

  3. 【实践】源代码分析工具Doxygen+Graphviz

    拿到一个新项目或者一个开源框架,看源代码的方式不是先进行单步调试!最好的方式是先画出整个项目或者开源框架的类.协作.已经方法调用图,能够帮助你更快的理解框架或者项目的设计. 打包下载地址:http:/ ...

  4. tomcat7.0.27的bio,nio.apr高级运行模式(转)

    一 前言 tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务 ...

  5. CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户

    CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户 一.安装ftp服务 1.检查是否已经安装 # rpm -qa | grep ftp ftp-0.17-54.el6.x86_64 vs ...

  6. [手把手教程][JavaWeb]优雅的SpringMvc+Mybatis整合之路

    来源于:http://www.jianshu.com/p/5124eef40bf0 [手把手教程][JavaWeb]优雅的SpringMvc+Mybatis整合之路 手把手教你整合最优雅SSM框架:S ...

  7. EasyUI 条件设置行背景颜色

    数据网格(datagrid)的 rowStyler 函数的设计目的是允许您自定义行样式. rowStyler 函数需要两个参数: rowIndex:行的索引,从 0 开始. rowData:该行相应的 ...

  8. Fork me on GitHub

    <a href="https://github.com/yadongliang"><img style="position: absolute; top ...

  9. 工作总结 Mapper.Map 映射 AutoMapper

    对象映射工具 //1.创建映射规则  ,第一个参数为源实体(Model),第二个为目标实体(DTO) Mapper.CreateMap<studentSource, studentPurpost ...

  10. mvc中Action前HttpPost的作用

    本文导读:在ASP.NET MVC框架中,为了限制某个action只接受HttpPost的请求,对于HttpGet的请求则提示404找不到页面,可以在action的方法前面加上[HttpPost]属性 ...