type
status
date
slug
summary
tags
category
icon
password
基本段落
Hadoop Metrics2是一个收集各种指标的监控工具,可应用于Hadoop、HBase、Kylin等大数据组件监控指标收集。主要分为3个主要部分:MetricsSystemImpl、Source和Sink,其中Source和Sink都可以自定义。本文讲述如何自定义Sink,来收集指标入OpenTSDB。
首先来看看这3个部分的代码结构:
MetricsSystemImpl
Source
实现MetricsSource接口以自定义Source
以JvmMetrics为例:
Sink
实现MetricsSink以自定义Sink
MetricsSink
接口扩展了 MetricsPlugin
接口,并提供了两个方法:putMetrics()
将度量记录放入汇聚器中,flush()
则刷新任何缓冲的度量数据。以FileSink为例:
自定义OpenTSDBHttpSink
自定义sink把指标收集到OpenTSDB以实现集群监控,我们以http的方式录入指标到OpenTSDB,因此首先写一个HttpUtils类:
HttpUtils
OpenTSDBHttpSink
在hadoop-common-project/hadoop-common下新建一个org.apache.hadoop.metrics2.sink.opentsdb.OpenTSDBHttpSink类,内容如下:
hadoop-metrics2.properties
修改hadoop-metrics2.properties内容:
部署服务
- 打包编译hadoop,编译教程见https://segmentfault.com/a/1190000019146236。
- 编译完成后,进入hadoop-dist/target/hadoop-2.9.2拷贝.//share/hadoop/common/hadoop-common-2.9.2.jar到hadoop集群的各个节点。
- 拷贝hadoop-metrics2.properties文件到各个hadoop节点。
- 重启hadoop集群,就可看见监控指标每分钟打入OpenTSDB。
安装OpenTSDB
- 编译,在build目录会生成tsdb和tsdb-2.4.0.jar文件,注意:若直接./build.sh报错,则需要把third_party目录下的文件拷到build。
- 修改src/opentsdb.conf,主要内容如下:
- 启动服务
安装Grafana
配置监控指标
- 作者:Pandax
- 链接:https://pandax.cn/article/%E5%A4%A7%E6%95%B0%E6%8D%AE%E7%9B%91%E6%8E%A7-Metrics2%E5%BD%95%E5%85%A5%E6%8C%87%E6%A0%87%E5%88%B0OpenTSDB
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。