Flume监控几种方式
Flume主要有以下集中监控方式:
1.JMX监控
配置 {$FLUME_HOME}/flume-env.sh
cd $FLUME_HOME vi flume-env.sh
JAVA_OPTS="-Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.authenticate=false \-Dcom.sun.management.jmxremote.ssl=false \-Dcom.sun.management.jmxremote.port=54321 \-Dcom.sun.management.jmxremote.rmi.port=54322-Djava.rmi.server.hostname=192.168.16.214"
之后启动flume
bin/flume-ng agent -c . -f conf/exec-tail.conf -n a1 -Dflume.root.logger=INFO,console
在图形界面的系统(windows、mac、linux图形)和jdk的环境下启动jconsole
jconsole
可以看到flume应用所使用的内存、线程、类、CPU等使用情况。
2.HTTP监控
Flume可以通过HTTP以JSON形式报告metrics,启用HTTP监控,Flume需要配置一个端口。
配置一个简单的打印conf文件
vi conf/exec-tail.conf
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.channels = c1
a1.sources.r1.command = tail -F /tmp/test
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动flume并指定http监控形式和端口
bin/flume-ng agent -c . -f conf/exec-tail.conf -n a1 -Dflume.root.logger=INFO,console -Dflume.monitoring.type=http -Dflume.monitoring.port=1234
查看metric监控
用浏览器或者GET方式打开
http://ip:1234/metrics
获得数据如下:
CURL方式:
http://localhost:1234/metrics 2>/dev/null|sed -e 's/([,])\s*/\1\n/g' -e 's/[{}]/\n/g' -e 's/[“,]//g'
获得数据如下:
"CHANNEL.c1":
"ChannelCapacity":"1000"
"ChannelFillPercentage":"0.0"
"Type":"CHANNEL"
"EventTakeSuccessCount":"10"
"ChannelSize":"0"
"EventTakeAttemptCount":"12"
"StartTime":"1476166839656"
"EventPutAttemptCount":"10"
"EventPutSuccessCount":"10"
"StopTime":"0""SOURCE.r1":
"EventReceivedCount":"10"
"AppendBatchAcceptedCount":"0"
"Type":"SOURCE"
"AppendReceivedCount":"0"
"EventAcceptedCount":"10"
"StartTime":"1476166840159"
"AppendAcceptedCount":"0"
"OpenConnectionCount":"0"
"AppendBatchReceivedCount":"0"
"StopTime":"0"
3.Ganglia监控
Flume也可以报告metrics到Ganglia 3或者是Ganglia 3.1的metanodes。要将metrics报告到Ganglia,必须在启动的时候就支持Flume Agent。这个Flume Agent使用flume.monitoring作为前缀,通过下面的参数启动。当然也可以在flume-env.sh中设置:
如果要支持Ganglia,可以通过如下命令启动。
bin/flume-ng agent --conf-file example.conf --name a1 -Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=com.example:1234,com.example2:5455
4.自定义监控
自定义的监控需要实现org.apache.flume.instrumentation.MonitorService
接口。例如有一个HTTP的监控类叫HttpReporting,我可以通过如下方式启动这个监控。
bin/flume-ng agent --conf-file example.conf --name a1 -Dflume.monitoring.type=com.example.reporting.HTTPReporting -Dflume.monitoring.node=com.example:332
报告metrics我们也可以自定义组件,不过一定要继承org.apache.flume.instrumentation.MonitoredCounterGroup
虚拟类。Flume已经实现的类,如下图:
根据上面的规范就可以开发自定义的监控组件了。
作者:水他链接:http://www.jianshu.com/p/09493efe0fb8來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Flume监控几种方式相关推荐
- angularjs通过ng-change和watch两种方式实现对表单输入改变的监控
angularjs通过ng-change和watch两种方式实现对表单输入改变的监控 直接上练习代码 <!DOCTYPE html> <html xmlns="http:/ ...
- 网络监控系统安装的4种方式,安防必备
现如今,随着人们安防意识的提高,监控从业人员也越来越多.对于刚刚加入这个行业的新人来讲,可能首先要从最基层的监控设备安装做起.只有在实践中不断积累经验技术,才有可能独当一面.快速成长.作为一名新手,网 ...
- 为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控。
快速阅读 为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控. 我们知道sql server 中有个工具叫sql profile ,可以实时监控sql server中 执行的sql 语句,以 ...
- 【前端监控系统】埋点数据上报的3种方式
前言 首先,我们先对前端监控做一些简单的描述: 前端监控的目的? 提升用户体验 更快的发现发现异常.定位异常.解决异常 了解业务数据,指导产品升级--数据驱动的思想 它指的是通过一定的手段来获取用户行 ...
- flume系列之:flume基于kafka.topics和kafka.topics.regex两种方式匹配Kafka Topic
flume系列之:flume基于kafka.topics和kafka.topics.regex两种方式匹配Kafka Topic 一.flume基于kafka.topics匹配Kafka Topic ...
- 摄像头poe供电原理_一篇图文,详解监控供电的几种方式选择
独立供电的好处 独立供电是指在每个摄像机前端安装独立的安防监控电源,此安防监控电源只为一个摄像机提供电力供应. 独立供电原理图如下: 1. 检修简单,更换电源简易 因为每个摄像机都有独立的安防监控电源 ...
- Druid SQL监控的几种方式
Druid SQL监控的几种方式 1.监控页面 2.JMX 3.shell脚本 4.直接调用本地MbeanServer Mbean操作 1.监控页面 2.JMX <servlet>< ...
- 另外一种方式:用USB摄像头实现网络监控
另外一种方式:用USB摄像头实现网络监控 joyhope 5 主题 0 好友 300 积分 二级RPier 该用户从未签到 银元 75 块 声望 2 点 票子 178 张 精华 0 发消息 沙发 ...
- sass文件编译的三种方式【舒】
[舒:]sass文件编译的三种方式 方式一: 1.webstorm打开evtGulp项目或者mcake-activity项目 2.中,开启gulp->default/develop,启动watc ...
最新文章
- Atitit r2017 r6 doc list on home ntpc.docx
- 【控制】《鲁棒控制-线性矩阵不等式处理方法》-俞立老师-第9章-时滞系统的分析和综合
- java内存分析_java内存分析总结
- 设置ALV不同行的小数点位数
- Redis中的可用性保证之Sentinel故障转移
- P2900-[USACO08MAR]Land AcquisitionG【斜率优化】
- group by 与 order by
- 2017,人工智能技术如何让中国开发者“倾心”又“上火”!
- 提示未检测到 oracle,Oracle RAC [INS-40406] 未检测到现有的 Oracle Grid Infrastructure 软件...
- Smart ORM v0.4.1开发计划
- 如何提高go代码覆盖率_如何提高代码质量?
- 黄光裕出来后,首先会做这三件事(转)
- 如何在pe里加载阵列卡驱动_PE添加RAID驱动的方法
- java实现微信H5支付和回调的Demo源码
- SpringbootJPA分页 PageRequest过时
- 友盟分享——微信、腾讯微博、新浪微博分享失败原因分析
- PS 滤镜——扩散特效, 毛玻璃 效果
- 【题解】【AcWing】1526. 洗牌机
- 【转】Java中斜杠和反斜杠的替换
- cocos2dx图片闪亮_SassDoc 2-闪亮的流章鱼出来了!