Flume的监控参数
普通的flume启动命令
bin/flume-ng agent -c conf -f conf/flume-conf.properties -n agent -Dflume.root.logger=INFO,console
日志信息在终端输出,只有去掉这个参数,日志才能在log4j和logback中输出
-Dflume.root.logger=INFO,console
如果要加上http监控的话
bin/flume-ng agent -c conf -f conf/flume-conf.properties -n agent -Dflume.root.logger=INFO,console -Dflume.monitoring.type=http -Dflume.monitoring.port=34545
即加上参数,flume.monitoring.type=http 指定了Reporting的方式为http,flume.monitoring.port 指定了http服务的端口号
-Dflume.monitoring.type=http -Dflume.monitoring.port=34545
访问
http://localhost:34545/metrics

参数说明:
(1)、SOURCE
SOURCE作为flume的数据源组件,所有收集日志的第一个到达的地方,它的监控信息非常重要。通过监控我们能够得到的监控数据有这些:
KafkaEventGetTimer
AppendBatchAcceptedCount(追加到channel中的批数量) 速率
EventAcceptedCount(成功放入channel的event数量) 速率
AppendReceivedCount(source追加目前收到的数量) 速率
StartTime(组件开始时间)
AppendBatchReceivedCount(source端刚刚追加的批数量) 速率
KafkaCommitTimer
EventReceivedCount(source端成功收到的event数量) 速率
Type(组件类型)
AppendAcceptedCount(放入channel的event数量) 速率
OpenConnectionCount(打开的连接数)
KafkaEmptyCount
StopTime(组件停止时间)
当然这些只是flume监控源码中已经自带的监控元素,如果你需要其他的监控信息,例如ip、端口号等,有两种方法,第一个,修改监控源码,添加你需要的监控元素,这种方法只是在原有代码基础上,添加一些满足自己需求的监控元素,比较简单,但灵活性不足;第二个就是自定义监控组件,这种方法是在原有监控框架中,自己实现自己的监控组件,这样可以达到完全满足自己需求,且灵活性很高。至于这两种方法如何操作,在后面Flume监控如何实现有讨论到。
同理CHANNEL、SINK这两个组件的监控也可以使用这两种方法来添加自己想要的监控元素。
(2)、CHANNEL
CHANNEL是flume的一个通道组件,对数据有一个缓存的作用。能够得到的数据:
ChannelCapacity(通道容量)
ChannelFillPercentage(通道使用比例)
Type(组件类型)
ChannelSize(目前在channel中的event数量)
EventTakeSuccessCount(从channel中成功取走的event数量) 速率
EventTakeAttemptCount(尝试从channel中取走event的次数) 速率
StartTime(组件开始时间)
EventPutAttemptCount(尝试放入将event放入channel的次数) 速率
EventPutSuccessCount(成功放入channel的event数量) 速率
StopTime(组件停止时间)
(3)、SINK
SINK是数据即将离开flume的最后一个组件,它从channel中取走数据,然后发送到缓存系统或者持久化数据库。能得到数据:
ConnectionCreatedCount(创建连接数) 速率
BatchCompleteCount(完成的批数量) 速率
BatchEmptyCount(批量取空的数量,空的批量的数量,如果数量很大表示souce写数据比sink清理数据慢速度慢很多) 速率
EventDrainSuccessCount(成功发送event的数量) 速率
StartTime(组件开始时间)
BatchUnderflowCount(正处于批量处理的batch数)等。 速率
ConnectionFailedCount(连接失败数) 速率
ConnectionClosedCount(关闭连接数量) 速率
Type(组件类型)
RollbackCount
EventDrainAttemptCount(尝试提交的event数量) 速率
KafkaEventSendTimer
StopTime(组件停止时间)
在实际生产环境中,由于数据量比较大(Kafka中导入200M左右的数据),Flume有时候会遇到下面oom问题:
问题1
Exception in thread "PollableSourceRunner-KafkaSource-r1" java.lang.OutOfMemoryError: GC overhead limit exceeded
或者
Exception in thread "PollableSourceRunner-KafkaSource-r1" java.lang.OutOfMemoryError: Java heap space
这是由于flume启动时的默认最大的堆内存大小是20M
解决方法:在flume的基础配置文件conf下的flume-env.sh中添加
export JAVA_OPTS="-Xms2048m -Xmx2048m -Xss256k -Xmn1g -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit"
问题2
13:54:27.213 ERROR org.apache.flume.source.kafka.KafkaSource:317 - KafkaSource EXCEPTION, {}
org.apache.flume.ChannelFullException: Space for commit to queue couldn't be acquired. Sinks are likely not keeping up with sources, or the buffer size is too tight
flume的properties文件中添加
agent.channels.c1.capacity = 1000000 #改大一点
agent.channels.c1.keep-alive = 60
Flume的监控参数的更多相关文章
- Flume(4)-监控模型
一. 监控端口数据 首先启动Flume任务,监控本机44444端口,服务端: 然后通过netcat工具向本机44444端口发送消息,客户端: 最后Flume将监听的数据实时显示在控制台. 1. 安装n ...
- Flume实时监控目录sink到hdfs,再用sparkStreaming监控hdfs的这个目录,对数据进行计算
目标:Flume实时监控目录sink到hdfs,再用sparkStreaming监控hdfs的这个目录,对数据进行计算 1.flume的配置,配置spoolDirSource_hdfsSink.pro ...
- oracle监控参数
Sar –u 检查CPU的繁忙程度列说明Usr用户模式下cpu运行所占的百分比Sys系统模式下cpu运行所占的百分比Wio因为有进程等待块I/O而使cpu处于闲置状态所占百分比IdleCpu为闲置状态 ...
- 第1节 flume:7、flume的监控文件夹,实现数据收集到hdfs上
1.2.2 采集案例 1.采集目录到HDFS 需求分析 结构示意图: 采集需求:某服务器的某特定目录下,会不断产生新的文件,每当有新文件出现,就需要把文件采集到HDFS中去 根据需求,首先定义以下3大 ...
- zabbix 用户自定义监控参数添加
1. item key的添加 key可以带参数,该参数为一个数组列表,可以同时传递多个参数,key的格式如下 key -- [ parameters] -- 例如: vfs.fs.size[/] v ...
- Flume 知识点(六)Flume 的监控
简述 使用 Flume 实时收集日志的过程中,尽管有事务机制保证数据不丢失,但仍然需要时刻关注 Source.Channel.Sink 之间的消息传输是否正常. 比如,SouceChannel 传输了 ...
- Zabbix CPU utilization监控参数
工作中查看Zabbix linux 监控项的时候对linux 监控的cpu使用的各个参数没怎么明白,特意查看了下资料 Zabbix linux模板下的CPU utilization是自带的监控Linu ...
- mysql服务器监控参数总结
1)主机健康监控:网络通信.软硬件错误.磁盘空间.内存使用 2)mysql健康监控: 服务端口(telnet尝试连接).mysqld和mysqld_safe进程.errorlog和复制状态 3)主机性 ...
- Fiddler系统监控参数解读
转自:https://blog.csdn.net/txj236/article/details/38872855 在对系统监控的过程中,发现ClientConnected和ClientBeginReq ...
随机推荐
- [OPENCV]cvHoughLines2使用说明
1.cvHoughLines2函数定义: CvSeq *cvHoughLines2 { CvArr *image, void *line_storage, int method, double rho ...
- Ghostscript 将PDF文件转换成PNG图片 问题一二
由于项目需求,需要将原来的PDF文档转换成图片文件,在网上找了一些PDF转图片的方法:测试了几个后,都有这样或那样的问题 1.PDFLibNet.dll,这个类型最初还是挺好用的,能转图片和HTML, ...
- WC前的小计划
写在前面的.. 要去WC了好开心的呢.. 但是之前荒废了好多时间呢.. 好吧从明天开始加紧训练,目标是:WC前bzoj300t..(现在是260呢..) 开始吧 来看看完成情况: 40/40 [201 ...
- 志愿者招募 [NOI2008] [鬼畜网络流]
Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完 ...
- token和盐
// 盐,加密后密码获取 Map<String, String> map = new HashMap<String, String>(); map.put(&quo ...
- 线段树模板hdu 1754:I Hate It
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- Android support 26.0.0-alpha1 产生的问题(zz)
针对以下两个错误 Java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/animation/Animato ...
- [CSS] Useful CSS tool for Web designer and developer
1. Color Picker (Chrome) You might know how to use color picker in Chrome, recently there is a featu ...
- 【JavaScript从入门到精通】第三课 初探JavaScript魅力-03
第三课 初探JavaScript魅力-03 函数传参 上节课的时候我们已经讲了什么是函数,实际上,函数在功能上就类似于css的class一样,将一段代码包裹起来使用.为了让函数的功能更加的丰富和实用, ...
- 第二天学习笔记:(MDN HTML学习、web安全策略与常见攻击、语义化)
一:Web入门 1:web文件命名 在文件名中应使用连字符(-).搜索引擎把连字符当作一个词的分隔符, 但不会以这种方式处理下划线. 养成在文件夹和文件名中使用小写,并且使用短横线而不是空格来分隔的习 ...