使用Ganglia监控flume配置

目标:实现Flume监控之ganglia类型的配置。

部署结构示意图如下:
部署结构示意图

1、在一台电脑上安装ganglia(IP地址为192.168.50.104,主机名bigdata),步骤参考https://www.jianshu.com/p/272206fc9fde
2、在另一台电脑上安装flume(IP地址为192.168.50.103,主机名flume),步骤参考https://www.jianshu.com/p/2bb3485c8fd0

在两台电脑上都配置hosts(ip对应的主机名)

# vim /etc/hosts
192.168.50.104 bigdata
192.168.50.103 flume

3、配置ganglia

  • 修改配置文件gmetad.conf
 #自己的主机名及IP
data_source "bigdata" 192.168.50.104
  • 修改配置文件gmond.conf
cluster {
  name = "bigdata"    #自己的主机名
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}
udp_send_channel {
  #mcast_join = 239.2.11.71    #注释掉
  host = 192.168.50.104   #自己的IP
  port = 8649
  ttl = 1
}
udp_recv_channel {
  #mcast_join = 239.2.11.71    #注释掉
  port = 8649
  bind = 192.168.50.104   #自己的IP
  retry_bind = true
}

4、启动ganglia

[root@bigdata 桌面]# service httpd start
[root@bigdata 桌面]# service gmond start
[root@bigdata 桌面]# service gmetad start

5、配置flume

  • 配置一个flume agent
[root@flume flume]# vim conf/netcat-conf.properties

a1.sources = r1
a1.channels = c1
a1.sinks = k1
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 4444
a1.sources.r1.channels = c1
a1.sinks.k1.type = logger
a1.sinks.k1.channel = c1
a1.channels.c1.type = memory
a1.channels.c1.capacity = 100
a1.channels.c1.transactionCapacity = 100

  • 修改/安装目录/flume/conf目录下的flume-env.sh配置:
[root@flume flume]# vim conf/flume-env.sh

export JAVA_OPTS="-Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=192.168.50.104:8649 -Xms100m -Xmx200m -Dcom.sun.management.jmxremote"

6、启动flume

[root@flume flume]# ./bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/netcat-conf.properties -Dflume.root.logger==INFO,console
agent 启动参数 参数含义
--conf 指定配置文件所在的目录
--name 配置文件中的命名的一个agent的名字
--conf-file 使用的配置文件的名字
-Dflume.root.logger==INFO,console -D表示flume运行时动态修改flume.root.logger参数属性值,将日志打印到console,并将打印级别设置为INFO级别。日志级别包括:log、info、warn、error
-Dflume.monitoring.type=ganglia 监控类型指定为ganglia,默认情况下flume以Ganglia3.1格式报告指标
-Dflume.monitoring.hosts=ip:port 报告的gmond地址
-Dflume.monitoring.pollFrequency=45 报告间隔时间(秒)

在Flume监听页面观察接收数据情况:
使用Telnet工具发送数据

sink数据到控制台,并发送监控数据到ganglia

ganglia监控结果图:
bigdata监控到2台主机

bigdata监控的2台主机

点击主机flume图,进入,可以看到监控的flume指标:


flume metrics.png
字段(图表名称) 字段含义
EventPutAttemptCount source尝试写入channel的事件总数量
EventPutSuccessCount 成功写入channel且提交的事件总数量
EventTakeAttemptCount sink尝试从channel拉取事件的总数量。这不意味着每次事件都被返回,因为sink拉取的时候channel可能没有任何数据。
EventTakeSuccessCount sink成功读取的事件的总数量
StartTime channel启动的时间(毫秒)
StopTime channel停止的时间(毫秒)
ChannelSize 目前channel中事件的总数量
ChannelFillPercentage channel占用百分比
ChannelCapacity channel的容量

参考链接:https://blog.csdn.net/cpongo3/article/details/89706861

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容