使用zabbix做聚合监控

简介:

 zabbix做为越来越受大家欢迎的监控工具,其相对于nagios,cacti之流,最大的一个特点就是数据是存放在关系型数据库中的,这样就可以极大的方便后续的数据查询,处理等,比如我们想知道一台机器全天ioutil 超过80的时间比例,在zabbix的数据库中,一个sql就可以搞定了,而在cacti中就不这么方便了,而且也不用担心数据随着时间的边长而被稀释掉。

  在做zabbix的数据分析时,用到的比较多的表一般有hosts,items,interface,hisory*,trend*相关表,比如,通过zabbix监控整个hadoop集群的mapred的使用情况,只需要把每台机器的lastvalue进行聚合就好了。。

可以简单通过下面这种方式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/python
#edit by ericni
#to get hadoop totaol statistics
# -*- coding: utf8 -*-
import  MySQLdb
import  sys
import  os
def  get_total_value(sql):
     db  =  MySQLdb.connect(host = 'xxx' ,user = 'xxxx' ,passwd = 'xxx' ,db = 'xxx' )
     cursor  =  db.cursor()
     cursor.execute(sql)
     try :
         result  =  cursor.fetchone()[ 0 ]
     except :
         result  =  0
     cursor.close()
     db.close()
     return  result
if  __name__  = =  '__main__' :
     sql  =  ''
     if  sys.argv[ 1 = =  "all_mapTaskSlots" :
         sql  =  "select sum(lastvalue) from  hosts a, items b   where key_ = 'hadoop_metrics[mrmetrics.log,mapred.tasktracker,mapTaskSlots]' and lower(host) like '%-hadoop-datanode%'  and a.hostid = b.hostid"
     elif  sys.argv[ 1 = =  "all_maps_running" :
         sql  =  "select sum(lastvalue) from  hosts a, items b   where key_ = 'hadoop_metrics[mrmetrics.log,mapred.tasktracker,maps_running]' and lower(host) like '%-hadoop-datanode%'  and a.hostid = b.hostid"
     elif  sys.argv[ 1 = =  "all_reduceTaskSlots" :
         sql  =  "select sum(lastvalue) from  hosts a, items b   where key_ = 'hadoop_metrics[mrmetrics.log,mapred.tasktracker,reduceTaskSlots]' and lower(host) like '%-hadoop-datanode%'  and a.hostid = b.hostid"
     elif  sys.argv[ 1 = =  "all_reduces_running" :
         sql  =  "select sum(lastvalue) from  hosts a, items b   where key_ = 'hadoop_metrics[mrmetrics.log,mapred.tasktracker,reduces_running]' and lower(host) like '%-hadoop-datanode%'  and a.hostid = b.hostid"
     elif  sys.argv[ 1 = =  "all_ThreadsBlocked" :
         sql  =  "select sum(lastvalue) from  hosts a, items b   where key_ =  'hadoop_stats[datanode,ThreadsBlocked]' and lower(host) like '%-hadoop-datanode%'  and a.hostid = b.hostid"
     elif  sys.argv[ 1 = =  "all_ThreadsRunnable" :
         sql  =  "select sum(lastvalue) from  hosts a, items b   where key_ = 'hadoop_stats[datanode,ThreadsRunnable]' and lower(host) like '%-hadoop-datanode%'  and a.hostid = b.hostid"
     elif  sys.argv[ 1 = =  "all_ThreadsWaiting" :
         sql  =  "select sum(lastvalue) from  hosts a, items b   where key_ =  'hadoop_stats[datanode,ThreadsWaiting]' and lower(host) like '%-hadoop-datanode%'  and a.hostid = b.hostid"
     else :
         sys.exit( 0 )
     value  =  get_total_value(sql)
     print  value


然后把可用的total map和total running map画在一个graph里面就可以知道map的使用率情况了。。

wKiom1MZYITRmN5JAAH7stE0rr4179.jpg


当然,zabbix也有自己的前端聚合的功能,不过相对来说,这样灵活性会高一些。。


本文转自菜菜光 51CTO博客,原文链接:http://blog.51cto.com/caiguangguang/1369808,如需转载请自行联系原作者

相关文章
|
2月前
|
监控 应用服务中间件 nginx
基于Zabbix的SLA监控体系构建与实践
本文由Zabbix社区专家褚凤彬分享,详解SLA在Zabbix中的应用。通过Trigger与Service联动,构建Web应用的多层级监控体系,并介绍SLA计算规则、维护期处理及升级注意事项,助力企业精准掌控服务可用性。
333 36
|
8月前
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
381 8
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
10月前
|
存储 缓存 监控
|
11月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
163 23
|
11月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
250 25
|
11月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
303 22
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
220 9
|
12月前
|
监控 数据可视化 Java
zabbix全面的监控能力
zabbix全面的监控能力
433 7
|
监控 Java Shell
监控堆外第三方监控工具Zabbix
监控堆外第三方监控工具Zabbix
306 5

热门文章

最新文章

推荐镜像

更多