集群gmetad并从其他gmetad中提取数据

时间:2013-08-19 19:50:48

标签: ganglia

我是神经节新手,并尝试为我的项目使用gmetad集群

我有一个大约500个节点的集群,因此我想将gmetad(聚合器)的负载分配到多个节点,然后使用中央gmetad / gweb来显示所有结果。

另外,我有一个限制,我不能拥有一台机器上所有节点的所有数据,所以我想知道是否有如下所示的选项,

  1. 如果我配置gmetad集群,我的中央gmetad是否会包含来自所有其他gmetads的rrd(central)中的数据?
  2. 是否可以将数据实时流式传输到中央gmetad以显示gweb而不是将其存储在rrd中?
  3. 请在下面找到示例配置

    中央配置

    data_source "grid1" xx.xx.xxx.xxx
    gridname "central"
    trusted_hosts xx.xx.xxx.xxx
    all_trusted on
    rrd_rootdir "/ganglia/rrds"
    case_sensitive_hostnames 1
    

    grid1配置

    data_source xx.xx.xxx.xxx
    gridname "grid1"
    rrd_rootdir "/ganglia/rrds"
    case_sensitive_hostnames 1
    

    我已尝试使用上述配置并能够在网上查看数据,但所有gmetads的数据都会复制到中央gmetad。

    提前致谢

1 个答案:

答案 0 :(得分:1)

  1. 是。当您在gmetad.conf中配置data_source条目时,TCP轮询线程开始从gmond或gmetad获取度量数据,然后将轮询的度量数据存储在主机的rrd文件中,无论它是否轮询gmond或gmetad

  2. 没有。 gweb应用程序依赖于rrd文件,它是度量数据的单一来源。但是,您可以通过与graphite集成来避免使用rrd文件,gmetad会将轮询数据直接发送到配置的碳服务器。看到我对问题的回答Sending Data from ganglia to graphite

  3. 一种解决方案是用静音模式中的gmond替换那些sub-gmetad,这意味着这种gmond用于从同一群集中的其他gmond收集指标,然后让你的单个gmetad拉出这些静音gmond,这样就只有一个gmetad将所有指标拉入所有集群中的rrds。

    • 您需要通过mute = yes
    • 配置静音gmond
    • 仅在您的单个gmetad的data_source条目中配置这些静音gmond