我刚刚开始探索 ganglia,我的问题是“如何知道哪个脚本或可执行文件与 ganglia 中的指标相关联?”
事实上,我对 ganglia 了解不多。我在 zabbix 方面经验丰富,我想在 zabbix 中链接一个已经在 ganglia 中运行的图表。
我在网上浏览了很多内容,但没有一个答案是相关的。
假设度量标准为:
“hbase.RegionServerDynamicStatistics.tbl.SUBSCRIBER.cf.M_T_V”
在这下面,显示了两个图表:“hbase.RegionServerDynamicStatistics.tbl.SUBSCRIBER.cf.M_T_V.get__avg_time”和“hbase.RegionServerDynamicStatistics.tbl.SUBSCRIBER.cf.M_T_V.get__num_ops”
据我所知,这个指标不是内置的。如果我错了,请纠正我。
一定有一些脚本或可执行文件在收集这些值。所以,请帮我找到这个脚本?
我也尝试在配置文件(例如 /etc/ganglia/gmond.conf 和 /etc/ganglia/gmetad.conf 文件)中找到此类指标,但没有任何此类条目。
我读到过一些文章说,可以基于 gmetric 形成一些自定义度量命令行。并且可以将其附加到 cron 作业中,该作业会定期将数据发送到 ganglia 服务器。如果是这样,那么有没有办法找到为此形成的基于 gmetric 的命令行?
答案1
好的,我得到了这个问题的答案。这对其他人也可能有帮助。
实际上,hadoop 有一个名为的类GangliaContext31.java它根据 ganglia 服务器的 IP 或 FQDN 将所有与 Hadoop 相关的指标发送到 ganglia 服务器,这些指标在 Hadoop 的配置文件中提供,称为hadoop-metrics2.properties。
该配置文件的简短摘录如下:
namenode.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
namenode.sink.ganglia.period=10
namenode.sink.ganglia.servers=ganglia-server:8649
这ganglia-server
是所述的 FQDN。
安装在 ganglia-server 上的 gmond 守护进程收集这些指标并将它们转发到安装在 ganlia-server 上的 gmetad 守护进程。gmetad 守护进程将这些指标存储在rrd工具这样,图形就根据存储在rrdtool中的这些值构建起来了。