整理了ganglia的配置,可以监控flume的丢数据问题,以便发现分析问题。
首先是安装ganglia,都是通过yum仓库进行的安装
① php环境:sudo yum -y install httpd php
② 依赖:sudo yum -y install rrdtool perl-rrdtool rrdtool-devel
sudo yum -y install apr-devel
③ ganglia:sudo yum -y install ganglia-gmetad
sudo yum -y install ganglia-web
sudo yum install -y ganglia-gmond
安装完成后修改配置文件:
④ sudo vim /etc/httpd/conf.d/ganglia.conf 添加 Allow from all ,删除其他Allow from **;
⑤ sudo vim /etc/ganglia/gmetad.conf 找到 data_source ,参照已有格式填写主机名和主机地址,例 data_source "my cluster" 192.168.45.178
⑥ sudo vim /etc/ganglia/gmond.conf :找到cluster,将name修改为gmetad中data_source的主机名,找到
udp_send_channel,注释mcast_join,增加host=主机ip,找到dup_recv_channel,注释mcast_join,增加bind=主机ip;
⑦ sudo vim /etc/selinux/config 关闭SELINUX ,设置为disabled;
⑧ 增加防火墙白名单 默认是8649 udp形式,重启linux
⑨ 在flume安装目录下conf/flume-env.sh添加以下内容,设置flume的监控为ganglia
JAVA_OPTS="-Dflume.monitoring.type=ganglia
-Dflume.monitoring.hosts=主机ip:8649
-Xms100m
-Xmx200m"
⑩ 启动ganglia :
sudo service httpd start
sudo service gmetad start
sudo service gmond start
之后在启动flume的时候加上
-Dflume.monitoring.type=ganglia
-Dflume.monitoring.hosts=主机ip:8649
数据的流通就可以通过 web页面查看,web地址:主机ip/ganglia
EventPutAttemptCount | source尝试写入channel的事件总数量 |
EventPutSuccessCount | 成功写入channel且提交的事件总数量 |
EventTakeAttemptCount | sink尝试从channel拉取事件的总数量。这不意味着每次事件都被返回,因为sink拉取的时候channel可能没有任何数据。 |
EventTakeSuccessCount | sink成功读取的事件的总数量 |