热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ambari-Metrics数据表说明

1.总体Metrics表说明表名描述清理时间(默认)间隔(默认)METRIC_RECORD用于记录每

1.总体Metrics表说明

表名

描述

清理时间(默认)

间隔(默认)

METRIC_RECORD

用于记录每个机器上收集的每个 Metrics 属性

1 天

(1)主机Metric:60

(2)hadoop metric:60+1(sink间隔),默认为70s

METRIC_RECORD_MINUTE

聚合统计每个机器上的Metrics属性

1 周

120

METRIC_RECORD_HOURLY

聚合统计每个机器上的Metrics属性

30 天

3600

METRIC_RECORD_DAILY

聚合统计每个机器上的Metrics属性

1 年

86400

METRIC_AGGREGATE

聚合统计所有机器上的Metrics属性(集群)

1 周

30

METRIC_AGGREGATE_MINUTE

聚合统计所有机器上的Metrics属性(集群)

30 天

120

METRIC_AGGREGATE_HOURLY

聚合统计所有机器上的Metrics属性(集群)

1 年

3600

METRIC_AGGREGATE_DAILY

聚合统计所有机器上的Metrics属性(集群)

2年

86400

2.各表详细说明

2.1 主机级别的表

2.1.1  METRIC_RECORD

该表是所有表中唯一存储实际metrics数据的表,其它表都是在此表的基础之上进行时间段的相应统计。

(1)针对采集的hosts指标,即由monitor发送的指标值

采集的metric记录,由{时间戳1:值,时间戳2:值,....}这样的记录组成,其中数目表现在Metric_count上,对于monitor发送的metric。为12条,每条间隔5秒种,然后一分钟向timelineServer发送一次,存入表中。

(2)针对采集的hadoopsink指标

采集的metric记录,由{时间戳1:值,时间戳2:值,....}这样的记录组成,每条间隔10秒钟,每隔70秒发送一次,采集7条,所以metric_count为7,一分钟向timelineServer发送一次,存入表中。

字段名称

类型

详细说明

METRIC_NAME

VARCHAR

Metric名字

HOSTNAME

VARCHAR

采集该Metric的主机名字

SERVER_TIME

UNSIGNED_LONG

Metric入进来的服务器时间

APP_ID

VARCHAR

采集该Metric的服务,如果是mem_free这样的机器信息则为HOST(即由Monitor发送过来的metric,其都为HOST),如果是dfs.*类似的Metric则其为datanode,namenode,nodemananger等等

INSTANCE_ID

VARCHAR

此次采集meitric的实例id,一般为空

START_TIME

UNSIGNED_LONG

开始采集Metric的时间,通常比服务器早一分钟,这一分钟是Monitor发送时间间隔时间或者Hadoop Sink配置的发送间隔时间

UNITS

CHAR

一般为空,有的为Long

METRIC_SUM

DOUBLE

该条Metrics中,所有Metric的总和

METRIC_COUNT

UNSIGNED_INT

该条Metrics中,统计的Metric数量

METRIC_MAX

DOUBLE

该条Metrics中的最大值

METRIC_MIN

DOUBLE

该条Metrics中的最小值

METRICS

VARCHAR

(1)针对采集的hosts指标,即由monitor发送的指标值

采集的metric记录,由{时间戳1:值,时间戳2:值,....}这样的记录组成,其中数目表现在Metric_count上,对于monitor发送的metric

默认间隔为12条,每条间隔5秒种,然后一分钟向timelineServer发送一次,存入表中。

(2)针对采集的hadoop sink指标

采集的metric记录,由{时间戳1:值,时间戳2:值,....}这样的记录组成,每条间隔10秒钟,每隔70秒发送一次,采集7条,所以metric_count为7,一分钟向timelineServer发送一次,存入表中。

2.1.2  METRIC_RECORD_MINUTE

由monitor或者hadoop sink每隔5分钟向该表中存入一条记录,用于统计此5分钟内所有meitric的属性,该表实则是以Metric_Record作为统计的基准。假设5分钟统计一次,以mem_free为例,则本次统计是以主机为单位,假设在metric_record表中,shh2每隔一分钟发送一条mem_free的Record,其中有12条metric,则本次统计共有5条Record,而metric_count则为60条,同样的,这五分钟内的最大,最小和总和,只需要比对提取Metric_record中这五条的Record的最大,最小,以及5条总和即能统计出这5分钟内相应的属性。

类似于这样几条语句得以统计:

(1)selecthostname,max(metric_max) from metric_record where metric_name='mem_free' andserver_time>=1471503845324 and server_time<1471504146520 group byhostname;------统计5分钟内,每台主机上该metric的最大值。

(2)selecthostname,min(metric_min) from metric_record where metric_name='mem_free' andserver_time>=1471503845324 and server_time<1471504146520 group byhostname; ------统计5分钟内,每台主机上该metric的最小值。

(3)selecthostname,sum(metric_sum) from metric_record where metric_name='mem_free' andserver_time>=1471503845324 and server_time<1471504146520 group byhostname; ------统计5分钟内,每台主机上该metric值总和。

(4)selecthostname,sum(metric_count) from metric_record where metric_name='mem_free' andserver_time>=1471503845324 and server_time<1471504146520 group byhostname; ------统计5分钟内,每台主机上统计的该metric数量和。

字段名称

类型

详细说明

METRIC_NAME

VARCHAR

统计的Metric名字

HOSTNAME

VARCHAR

聚集统计的该Metric的主机名字

SERVER_TIME

UNSIGNED_LONG

统计的服务器时间

APP_ID

VARCHAR

该Metric的服务,如果是mem_free这样的机器信息则为HOST(即由Monitor发送过来的metric,其都为HOST),如果是dfs.*类似的Metric则其为datanode,namenode,nodemananger等等

INSTANCE_ID

VARCHAR

此次统计实例id,一般为空

UNITS

CHAR

一般为空,有的为Long

METRIC_SUM

DOUBLE

本次时段内统计的所有metric的总和

METRIC_COUNT

UNSIGNED_INT

本次聚集统计的metric数量,如果是monitor则是统计12*5=60条记录,metric_count就为60(也有可能是48条左右,实际中具有不确定因素),若是hadoop sink则是统计的7*5=35条记录(也有可能是28条,record表里最后一分钟还没入进去,这边就进行统计了)

,统计这些记录的汇总值,最大最小值。

METRIC_MAX

DOUBLE

本次时段内统计的所有metric的最大值

METRIC_MIN

DOUBLE

本次时段内统计的所有metric的最小值

2.1.3  METRIC_RECORD_HOURLY

其表参照METRIC_RECORD_MINUTE表,其余没有不同,是在METRIC_RECORD_MINUTE的基础上进行小时级的统计,一小时统计一次,所以说如果是mem_free这样的Monitor指标,则minute表5分钟统计60,则其一小时统计12*60=720条左右的记录。

2.1.4  METRIC_RECORD_DAILY

其表参照METRIC_RECORD_HOURLY表,其余没有不同,是在METRIC_RECORD_HOURLY的基础上进行day级的统计,一天统计一次,所以说如果是mem_free这样的Monitor指标,则hourly表一小时统计720,则其一天统计24*720=17280条左右的记录。

2.2 集群级别的表

         集群级别的聚集表都是以Metric为单位进行聚集的,所以忽略了HOST的概念,以metric_name为单位进行整体统计,一个metric可能来自N台主机,对此metric进行聚集。

2.2.1 METRIC_AGGREGATE

         以Metric_Name为主要指标,由于是集群级别的统计,所以不再有HOSTNAME相关字段的说明,在此表中增加了HOSTS_COUNT的字段,即聚集的Metric来自主机的数量,而在其后hourly,daily又去除了HOSTS_COUNT的字段,变成了metric_count字段。     

         该表为30秒统计一次,是在表METRIC_AGGREGATE_MINUTE的基础之上进行分片统计的,由于timeline.metrics.cluster.aggregator.minute.timeslice.interval的值设为30秒,所以其实是METRIC_AGGREGATE_MINUTE表聚合统计的结果之上,再对其结果按时间进行分片,然后存入该表中。

字段名称

类型

详细说明

METRIC_NAME

VARCHAR

统计的Metric名字

SERVER_TIME

UNSIGNED_LONG

聚集统计的服务器时间

APP_ID

VARCHAR

该Metric的服务,如果是mem_free这样的机器信息则为HOST(即由Monitor发送过来的metric,其都为HOST),如果是dfs.*类似的Metric则其为datanode,namenode,nodemananger等等

INSTANCE_ID

VARCHAR

此次实例id,一般为空

UNITS

CHAR

一般为空,有的为Long

METRIC_SUM

DOUBLE

本次统计的metric的总和

HOSTS_COUNT

UNSIGNED_INT

聚集的Metric来自主机的数量

METRIC_MAX

DOUBLE

本次统计的所有metric的最大值

METRIC_MIN

DOUBLE

本次统计的所有metric的最小值

2.2.2 METRIC_AGGREGATE_MINUTE

         在现版本中该表不存在,但是在经过源码验证后发现此表对应的就是METRIC_AGGREGATE表,其配置项timeline.metrics.cluster.aggregator.minute.timeslice.interval对应着METRIC_AGGREGAT的间隔时间。

         METRIC_AGGREGATE_MINUTE默认每隔120秒启动聚合线程,而其中是直接基于Metric_Record进行聚合分组查询,而其结果又由另外一个线程,根据其timeslice.interval时间片,分片对其120秒中的结果进行分片聚合,聚合的结果存入表METRIC_AGGREGATE中。

 

2.2.3 METRIC_AGGREGATE_HOURLY

字段名称

类型

详细说明

METRIC_NAME

VARCHAR

统计的Metric名字

SERVER_TIME

UNSIGNED_LONG

聚集统计的服务器时间

APP_ID

VARCHAR

该Metric的服务,如果是mem_free这样的机器信息则为HOST(即由Monitor发送过来的metric,其都为HOST),如果是dfs.*类似的Metric则其为datanode,namenode,nodemananger等等

INSTANCE_ID

VARCHAR

此次统计实例id,一般为空

UNITS

CHAR

一般为空,有的为Long

METRIC_SUM

DOUBLE

本次时段内统计的所有metric的总和

METRIC _COUNT

UNSIGNED_INT

本次统计的metric数量

METRIC_MAX

DOUBLE

本次时段内统计的所有metric的最大值

METRIC_MIN

DOUBLE

本次时段内统计的所有metric的最小值

         正如host级别的聚集一样,此表也是在表METRIC_AGGREGATE的基础之上进行统计聚集的,将其相关的时间段拉长进行统计,即可得到相应的指标。

2.2.4 METRIC_AGGREGATE_DAILY

字段名称

类型

详细说明

METRIC_NAME

VARCHAR

统计的Metric名字

SERVER_TIME

UNSIGNED_LONG

聚集统计的服务器时间

APP_ID

VARCHAR

该Metric的服务,如果是mem_free这样的机器信息则为HOST(即由Monitor发送过来的metric,其都为HOST),如果是dfs.*类似的Metric则其为datanode,namenode,nodemananger等等

INSTANCE_ID

VARCHAR

此次统计实例id,一般为空

UNITS

CHAR

一般为空,有的为Long

METRIC_SUM

DOUBLE

本次时段内统计的所有metric的总和

METRIC _COUNT

UNSIGNED_INT

本次统计的metric数量

METRIC_MAX

DOUBLE

本次时段内统计的所有metric的最大值

METRIC_MIN

DOUBLE

本次时段内统计的所有metric的最小值

         正如host级别的聚集一样,此表也是在表METRIC_AGGREGATE_HOURLY的基础之上进行统计聚集的,将其相关的时间段拉长进行统计,即可得到相应的指标。


推荐阅读
  • 2018-02-1420:07:13,610ERROR[main]regionserver.HRegionServerCommandLine:Regionserverexiting ... [详细]
  • Oozie任务调度框架详解及使用简介(一)
    摘要:个人最近一段时间一直在使用oozie,从刚开始的各种别扭到现在越来越觉得有意思的情况下,想整理一下关于oozie的认知,整理出来一个oozie系列,本来市面上关于oozie的 ... [详细]
  • 本文介绍了基于c语言的mcs51单片机定时器计数器的应用教程,包括定时器的设置和计数方法,以及中断函数的使用。同时介绍了定时器应用的举例,包括定时器中断函数的编写和频率值的计算方法。主函数中设置了T0模式和T1计数的初值,并开启了T0和T1的中断,最后启动了CPU中断。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • ZooKeeper 学习
    前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人面试官让你给他讲讲ZooKeeper是个什么东西, ... [详细]
  • 本文整理了Java中org.apache.hadoop.hbase.client.TableDescriptorBuilder.removeColumnFamily() ... [详细]
  • OneToOneEntityA和EntityB是一对一的关联关系。这在实际中较少使用到。如果某个Entity具有上百个属性,我们可能会将某些属性分别放入子entit ... [详细]
  • 经过多年的发展,Hadoop生态系统不断完善和成熟,目前已经包括了多个子项目,除了核心的HDFS和MapReduce以外,Hadoop生态系统还包括要ZoopKer、HBase、H ... [详细]
  • 大数据技术原理与应用:大数据处理架构Hadoop生态圈
    Hadoop生态圈概述Hadoop简介什么是Apachehadoop?ApacheHadoop项目是以可靠、可扩展和分布式计算为目的而发展而来的开源软件ApacheHadoop软件 ... [详细]
  • Ambari实战1:Ambari使用场景及介绍
    本篇文章主要讲解Ambari的一些基础知识,让大家对Ambari有一个潜意识的认识。什么是Ambari?ApacheAmbari是一种基于We ... [详细]
author-avatar
无欲似水_803
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有