Ambari-Metrics配置指南
1.常规配置项
属性 | 默认值 | 说明 |
timeline.metrics.service.operation.mode (timelineServer里面存储实际Metric数据hbase的模式,默认为embedded,即hbase数据存储在本地文件系统中) | embedded | 改成distributed则为分布模式,同时要修改ams-hbase-site中的hbase.cluster.distributed=true配置项 |
phoenix.spool.directory (该目录存储发送失败或者重启后未存储到hbase的metric数据) | /tmp | 程序会监控该文件夹。当出现新文件时会读取该文件并获取数据. |
phoenix.query.maxGlobalMemoryPercentage | 25 | 通过phoenix进行表查询时所能使用的总体内存占比。 |
timeline.metrics.hbase.compression.scheme | SNAPPY | metric存入到hbase中的压缩方式,默认为SNAPPY该项只能在建表之前改变,即一开始进行配置 |
timeline.metrics.hbase.data.block.encoding:blockEncoding | FASTDIFF | 将重复的row/family/qualifier/进行压缩的方式,减少block的空间占用 |
timeline.metrics.service.cluster.aggregator.appIds (那些具有聚集主机级别的metric的应用程序列表,用“,”分隔,比如mem_free的app_id一般都为HOST,但是设置了此项之后,比如增加了datanode,那么则会在集群级别的统计中,统计app_id=datanode的mem_free. | 例:datanode,nodemanager,hbase | 例如统计datanode所消耗的bytes_read,mem_free |
timeline.metrics.service.default.result.limit (默认是限制取一天的metrics) | 5760 | metrics结果集最大返回行数,这个是这样计算的,假设每分钟4个metric,一个小时就是240,一天就是5760条。 |
timeline.metrics.service.resultset.fetchSize | 2000 | 通过jdbc进行聚集查询的结果集本地大小 |
timeline.metrics.service.checkpointDelay | 60 | 第一次进行checkpoint或者当checkpoint太旧的时候,推迟进行checkpoint的时间 |
timeline.metrics.host.aggregate.splitpoints | ……. | 主机级别聚集表的预分区的分隔点设置 |
timeline.metrics.cluster.aggregate.splitpoints | …… | 集群级别聚集表的预分区的分隔点设置 |
timeline.metrics.sink.report.interval (monitor向timeline发送metric的间隔时间) | 60 | 在hadoop-metrics2.property里面表现为:*.sink.timeline.sendInterval=60000,在monitor的配置目录中体现为:send_interval = 60 |
timeline.metrics.sink.collection.period hadoop-sink采集hadoop的metric的间隔时间,即同一个hadoop-metric采集的时间间隔 | 60 | 在hadoop-metrics2.property里面表现为:*.sink.timeline.period=60以及*.period=60,修改此值后两个项同步修改 |
2. 主机级别的聚集统计(以host为单位)相关配置
2.1 实际存储Metrics——表: METRIC_RECORD
此表是实际存储Metrics数据的表,其配置不具备Interval的相关配置项,因为其接收Monitor和HadoopSink发送过来的实际数据,其时间间隔依据Monitor和Hadoop Sink的采集发送Metrics的间隔时间,在配置项中仅有其清理时间。
timeline.metrics.host.aggregator.ttl (metric_record表是存储实际metrics数据的表) | 86400 | metric_record表的清理时间,默认为1天 |
2.2 分钟级对应——表:METRIC_RECORD_MINUTE
属性 | 默认值 | 说明 |
timeline.metrics.host.aggregator.minute.disabled | False | 是否不开启此聚集统计 |
timeline.metrics.host.aggregator.minute.interval | 120 | 聚集统计时间 |
timeline.metrics.host.aggregator.minute.ttl | 604800 | 表数据清理时间 |
timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) | 2 | 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。 |
timeline.metrics.aggregator.checkpoint.dir | /var/lib/ | 存储聚集checkpoint的目录 |
2.3 小时级对应——表:METRIC_RECORD_HOURLY
属性 | 默认值 | 说明 |
timeline.metrics.host.aggregator.hourly.disabled | False | 是否不开启此聚集统计 |
timeline.metrics.host.aggregator. hourly .interval | 3600 | 聚集统计时间 |
timeline.metrics.host.aggregator. hourly .ttl | 2592000 | 表数据清理时间 |
timeline.metrics.host.aggregator.hourly.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) | 2 | 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。 |
timeline.metrics.aggregator.checkpoint.dir | /var/lib/ | 存储聚集checkpoint的目录 |
2.4 天级对应——表:METRIC_RECORD_DAILY
属性 | 默认值 | 说明 |
timeline.metrics.host.aggregator.daily.disabled | False | 是否不开启此聚集统计 |
timeline.metrics.host.aggregator. daily .interval | 86400 | 聚集统计时间 |
timeline.metrics.host.aggregator. daily .ttl | 31536000 | 表数据清理时间 |
timeline.metrics.host.aggregator.daily.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) | 2 | 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。 |
timeline.metrics.aggregator.checkpoint.dir | /var/lib/ | 存储聚集checkpoint的目录 |
3. 集群级别的聚集统计(以MetricName为单位)相关配置
3.1 分钟级对应——表:METRIC_AGGREGATE_MINUTE
属性 | 默认值 | 说明 |
timeline.metrics.cluster.aggregator.minute.disabled | False | 是否不开启此聚集统计 |
timeline.metrics.cluster.aggregator.minute.interval | 120 | 聚集统计时间 |
timeline.metrics.cluster.aggregator.minute.ttl | 2592000 | 表数据清理时间 |
timeline.metrics.cluster.aggregator.minute.timeslice.interval (实则是METRIC_AGGREGATE的间隔时间) | 30 | Lowest resolution of desired data for cluster level minute aggregates |
timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) | 2 | 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。 |
timeline.metrics.aggregator.checkpoint.dir | /var/lib/ | 存储聚集checkpoint的目录 |
3.2 小时级对应——表:METRIC_AGGREGATE_HOURLY
属性 | 默认值 | 说明 |
timeline.metrics.cluster.aggregator.minute.disabled | False | 是否不开启此聚集统计 |
timeline.metrics.cluster.aggregator.minute.interval | 3600 | 聚集统计时间 |
timeline.metrics.cluster.aggregator.minute.ttl | 31536000 | 表数据清理时间 |
timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) | 2 | 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。 |
timeline.metrics.aggregator.checkpoint.dir | /var/lib/ | 存储聚集checkpoint的目录 |
3.3 天级对应——表:METRIC_AGGREGATE_DAILY
属性 | 默认值 | 说明 |
timeline.metrics.cluster.aggregator.daily.disabled | False | 是否不开启此聚集统计 |
timeline.metrics.cluster.aggregator. daily.interval | 86400 | 聚集统计时间 |
timeline.metrics.cluster.aggregator.daily.ttl | 63072000 | 表数据清理时间 |
timeline.metrics.cluster.aggregator.daily.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) | 2 | 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。 |
timeline.metrics.aggregator.checkpoint.dir | /var/lib/ | 存储聚集checkpoint的目录 |