这里推荐这个博客 http://www.ttlsa.com/monitor/zabbix/

在这里学一遍都不用买书,直接就能玩转zabbix了

回归正题

zabbix相关包下载地址:http://www.zabbix.com/download.php

小小说明一下:

zabbix-release-2.4-1.el6.noarch.rpm 这个包是yum源,装上这个包就能直接yum安装zabbix的server和client,源里没有的再从上面的地址下载

zabbix_sender就是不通过zabbix client收集数据,直接向zabbix server发送数据

使用介绍还是参考这位仁兄的文章 http://www.ttlsa.com/zabbix/zabbix_sender-get-item/

我来个具体例子

监控storm TPS

数据收集脚本如下

#!/usr/bin/python

import sys
import string
import urllib
import urllib2
import json # tp_item = sys.argv[1] topology_summary_url = 'http://10.77.128.101:8080/api/v1/topology/summary'
supervisor_summary_url = 'http://10.77.128.101:8080/api/v1/supervisor/summary'
topology_detail_url = string.Template('http://10.77.128.101:8080/api/v1/topology/${topology_name}?sys=false') tp_names = json.loads(urllib.urlopen(topology_summary_url).read()).get('topologies') zabbix_sender_source = open('/tmp/zabbix_sender_source', 'w')
for tp in tp_names:
tp_detail = json.loads(urllib.urlopen(topology_detail_url.substitute(topology_name = tp.get('id'))).read())
zabbix_sender_source.write('%s %s %d\n' %('127.0.0.1', tp.get('id') + '-emitted', tp_detail['topologyStats'][0]['emitted']/600))
zabbix_sender_source.write('%s %s %d\n' %('127.0.0.1', tp.get('id') + '-transferred', tp_detail['topologyStats'][0]['transferred']/600)) zabbix_sender_source.close()

这里我使用的是用zabbix_sender读取文件的形式

上面的脚本把数据写入了/tmp/zabbix_sender_source

文件内容如下

127.0.0.1 webim_storm-1-0-2-10-1434103565-emitted 1388
127.0.0.1 webim_storm-1-0-2-10-1434103565-transferred 1344
127.0.0.1 nc-push-storm-11-1434106528-emitted 244
127.0.0.1 nc-push-storm-11-1434106528-transferred 205

格式 : host标示 key value

我用的定时任务推送数据给zabbix server

* * * * * /usr/bin/python /usr/home/quke/zabbix_check_storm.py && /usr/bin/zabbix_sender -z 127.0.0.1 -i /tmp/zabbix_sender_source

下面是zabbix web端配置

有几个key就要配置几个item,这里我配置了两个

然后就可以把模板应用到主机,配置graph

zabbix_sender自定义监控的更多相关文章

  1. Zabbix自定义监控8080端口的连接数

    Zabbix自定义监控8080端口的连接数 一 zabbix自定义监控实现思路 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是:1.写一个脚本用于获取待监控服务的一些状态信息2. ...

  2. 使用腾讯云“自定义监控”监控GPU使用率

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:李想 随着人工智能以及比特币的火热,GPU云服务的使用场景是越来越广,在很多场景下我们也需要获取GPU服务器的性能参数来优化程序的执行.目 ...

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

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

  4. zabbix实现自定义监控

    实现自定义监控项实例 .创建主机组 .创建主机 .创建监控项 .到需要监控的主机的agent中添加自定义的监控项目 cd /etc/zabbix/zabbix_agentd.d vi userpara ...

  5. zabbix监控实战<3> 之自定义监控实例

    第一章    自定义监控tcp状态 命令可以选择ss 或者 netstat    ss打印基于socket的统计信息,实际运行下来,ss的速度要比netstat要快得多 1.1  tcp的十一种状态 ...

  6. 分布式系统监视zabbix讲解六之自定义监控项--技术流ken

    宏 概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. ...

  7. zabbix自定义监控项

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

  8. zabbix自定义监控

    有的时候zabbix提供的监控项目,不能满足我们生产环境下的监控需求,此时我们就要按照zabbix的规范自定义监控项目,达到监控的目的 zabbix_get:模拟zabbix_server和agent ...

  9. zabbix 自定义监控文本内容

    需求:监控服务器硬盘使用率是否有超过80%的 需要监控的文本 root@zabbix zabbix]# cat /etc/zabbix/scripts/data/monitor_disk.txt &q ...

随机推荐

  1. Python 中的枚举类型~转

    Python 中的枚举类型 摘要: 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等. 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表 ...

  2. DataBinding examples

    Databinding in Windows Forms demo (CSWinFormDataBinding) /************************************* Modu ...

  3. easyui datagrid 编辑模式详解

       一,建立编辑器 从api得知,扩展一种新的编辑器类型,需要提供以上几个方法.项目中正好需要一个checkbox 类型编辑器,但在easyui中并没提供这样的编辑器,那我们可以通过扩展编辑器来解决 ...

  4. 史上最全的java随机数生成算法分享(转)

    这篇文章主要介绍了史上最全的java随机数生成算法,我分享一个最全的随机数的生成算法,最代码的找回密码的随机数就是用的这个方法 String password = RandomUtil.generat ...

  5. Xamarin.Android 应用程序配置

    * 在 Xamarin 中 Android 清单文件的内容一般不通过手动编辑,而是由编译器根据 项目属性设置 和 一系列 特性类 自动生成 1. 应用程序在android启动器中显示的名称设置: 主活 ...

  6. windows核心编程 - 线程基础

    一.基本概念: 一个进程至少需要一个线程. 组成:一个线程包括仅包括一个线程堆栈和一个线程内核对象 线程堆栈:用于维护线程在执行代码时需要的所有函数参数和局部变量 线程内核对象:操作系统用它来对线程实 ...

  7. Image模块

    1.创建一个新的图片 Image.new(mode,size) Image.new(mode,size,color) 2.层叠图片 层叠两个图片,img1和img2,alpha是一个介于[0,1]的浮 ...

  8. 使用Ajax异步加载页面时,怎样调试该页面的Js

    前言-本人不是干前端的,所以有的名词不专业 在前端中,有时候会遇到这样的框架,http://172.17.11.151:8060/frontend/backend.html#1.html (通过解析U ...

  9. Xcode清除缓存等

    Xcode出现一些错误的时候,有时候不是代码的问题,需要清理一下Xcode的缓存或者项目的Product等: 1. Product清理 1.1  Product-Clean 1.2  Product- ...

  10. CSS中定位和浮动对行内元素的宽高的影响

    行内元素的大小是由元素里面的内容撑开的宽高决定的,就算在css中对行内元素设置width,height.行内元素也会忽略宽高的设置. 但是当行内元素使用position:absolute或者posit ...