Flume 知识点(六)Flume 的监控

简述

使用 Flume 实时收集日志的过程中,尽管有事务机制保证数据不丢失,但仍然需要时刻关注 Source、Channel、Sink 之间的消息传输是否正常。
比如,SouceChannel 传输了多少消息,ChannelSink 又传输了多少,两处的消息量是否偏差过大等等。

Flume 为我们提供了 Monitor 的机制:http://flume.apache.org/FlumeUserGuide.html#monitoring 通过Reporting 的方式,把过程中的Counter都打印出来。

类型

  • JMX Reporting
  • Ganglia Reporting
  • JSON Reporting
  • Custom Reporting

Ganglia Reporting

Flume 可以报告它的 metrics 到 ganglia3,只要你在启动 Flume agent 的时候设置一些参数即可,也可以把这些参数设置在 flume-env.sh 配置文件中。需要设置的参数如下,这些参数的前缀如下Flume.monitoring:

  • -Dflume.monitoring.type:类型必须是ganglia
  • -Dflume.monitoring.pollFrequency: 默认值是60秒,flume向ganglia报告metrics的时间间隔
  • -Dflume.monitoring.isGanglia3: 默认是false,ganglia server的版本在3以上,flume 发送的是ganglia3.1的数据格式

启动flume Agent:

$ bin/flume-ng agent --conf-file example.conf --name a1 -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=com.example:1234,com.example2:5455

JSON Reporting

Flume 也可以报告 JSON 格式的 report,为了开启 JSON report,在 Flume 机器上启动了一个 web server。需要在客户端启动时设置以下参数:
type 该组件的名称,这里设置为http
port 该服务监听的端口,默认是41414

启动flume Agent:

flume-ng agent --conf-file example.conf --name a1 -Dflume.monitoring.type=http -Dflume.monitoring.port=34545

然后通过http://<hostname>:<port>/metrics来查看值

作者:studytime
原文:https://www.studytime.xin/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Flume主要有以下集中监控方式: 1.JMX监控 配置 {$FLUME_HOME}/flume-env.sh c...
    水他阅读 15,095评论 0 51
  • 1 背景 随着微服务拆封和部署节点的增长,各服务日志非常分散,发现业务问题时,排查人员需要依次登录不同节点服务器逐...
    张志_koen_zhang阅读 2,938评论 2 2
  • 1Flume概述 1.1 定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚...
    djm猿阅读 633评论 0 4
  • 本文是对大数据组件Flume的一个学习总结,共包括如下章节的内容: 简介 核心概念 使用场景 快速起步 小结 一、...
    我是老薛阅读 1,410评论 0 1
  • 1 明帝发遣边民在内郡者。--边民在内郡,大概有两种人吧,一种有钱的想过更好生活的,另一种无法生活来内郡求生活的。...
    zbcao阅读 202评论 0 4