flume监控

本文介绍了Flume作为日志收集工具的重要性和监控的必要性。Flume的监控包括Http和Ganglia两种方式,提供了对SOURCE、CHANNEL、SINK组件的详细监控信息,如数据接收、传输和发送的状态,帮助解决数据搜集瓶颈和数据丢失问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flume作为一个强大的日志收集工具,在数据收集方面非常强大。它的SOURCE、SINK、CHANNEL3大组件这类模式,完成数据的接收、传输、发送这个进程。不过flume的监控也随之产生。

1、Flume监控的必要性
Flume尽管功能非常强大,但是需要看到FLume收集的数据信息的时候却没有一个界面能够展现出来,所以需要一个能展现flume实时收集数据动态信息的界面,包括flume成功收集的日志数量、成功发送的体质数量、flume启动时间、停止时间等等。监控能做到这些,有了这些数据,在遇到数据搜集瓶颈和数据丢失的情况下,可以通过分析监控数据来解决问题。

2、Flume的监控方式

(1) Http监控
使用这类监控方式,只需要在启动flume的时候在启动参数上面加上监控配置:

flume-ng agent --conf conf --conf-file conf/server.properties --name collect -Dflume.monitoring.type=http -Dflume.monitoring.port=1111

其中-Dflume.monitoring.type=http表示使用http方式来监控,后面的-Dflume.monitoring.port=1111表示我们需要启动的监控服务器的端口为1111,这个端口号可以自己随便配置。然后通过

http://ip:1111/metrics

就可以得到flume的1个json格式的监控数据。

(2) ganglia监控
这类监控方式需要先安装ganglia然后启动ganglia,然后再启动flume的时候加上监控配置,例如:

flume-ng agent --conf conf --conf-file conf/server.properties --name collect -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=ip:port

其中,-Dflume.monitoring.type=ganglia表示使用ganglia方式来监控,而
-Dflume.monitoring.hosts=ip:port表示ganglia安装的ip和启动的端口号。

flume监控还可以使用zabbix,但是这类方式需要在flume源码中添加监控模块,相对比较麻烦,这里flume自带的监控方式其实就是http、ganglia两种,http监控只能通过1个http地址访问得到1个json格式的监控数据,而ganglia监控是拿到这个数据后用界面的形式展现出来。

3、Flume监控的组件,得到的信息
(1)SOURCE
source作为flume的数据源组件,所有搜集日志的第1个到达的地方,它的监控信息非常重要。通过监控我们能够的监控数据:
OpenConnectionCount(打开的连接数)、Type(组件类型)、AppendBatchAcceptedCount(追加到channel中的批数量)、AppendBatchReceivedCount(source端刚刚追加的批数量)、EventAcceptedCount(成功放入channel的event数量)、AppendReceivedCount(source追加目前收到的数量)、StartTime(组件开始时间)、StopTime(组件停止时间)、EventReceivedCount(source端成功收到的event数量)、AppendAcceptedCount(放入channel的event数量)等
(2)CHANNEL
channel是flume的1个通道,对数据有缓存的作用。得到的信息:
EventPutSuccessCount(成功放入channel的event数量)、ChannelFillPercentage(通道使用比例)、Type(组件类型)、EventPutAttemptCount(尝试放入将event放入channel的次数)、ChannelSize(目前在channel中的event数量)、StartTime(组件开始时间)、StopTime(组件停止时间)、EventTakeSuccessCount(从channel中成功取走的event数量)、ChannelCapacity(通道容量)、EventTakeAttemptCount(尝试从channel中取走event的次数)等。
(3)SINK
BatchCompleteCount(完成的批数量)、ConnectionFailedCount(连接失败数)、EventDrainAttemptCount(尝试提交的event数量)、ConnectionCreatedCount(创建连接数)、Type(组件类型)、BatchEmptyCount(批量取空的数量)、ConnectionClosedCount(关闭连接数量)、EventDrainSuccessCount(成功发送event的数量)、StartTime(组件开始时间)、StopTime(组件停止时间)、BatchUnderflowCount(正处于批量处理的batch数)等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值