为多个集群设置 Ganglia

为多个集群设置 Ganglia

假设我有一堆客户端,它们只有一个主主机,主主机上装有gmetadWeb 界面。如果我定义一个集群(即“集群”),它就可以工作,但是假设我想要第二组集群,它该如何工作?我无法将所有客户端节点指向主服务器?看起来我必须创建某种“中间人”服务器来收集每个集群的数据?

答案1

我的服务器带有 Web 前端和 gmetad,其 gmetad.conf 中有一个条目gridname,另外data_source每个集群都有一个条目。每个条目data_source都从集群中的一个或多个系统中提取:

gridname "The Grid"
data_source "Infrastructure" ihost1 ihost2 ...
data_source "Compute Nodes" chost1 chost2 ...
data_source "Workstations" work1 work2 ...

每个主机将自己注册到特定的集群中,并将其自身注册到集群特定的多播地址中gmond.conf

cluster {
  name = "Infrastructure"
}
udp_send_channel {
  mcast_join = 239.2.11.72
  port = 8649
}
udp_recv_channel {
  mcast_join = 239.2.11.72
  port = 8649
  bind = 239.2.11.72
}
tcp_accept_channel {
  port = 8649
}

答案2

上述配置的一个略微更好的变体是让多个 gmond 通过多播与单个 gmond 通信(针对每个集群)。然后设置 data_source 以与该单个 gmond 通信。这样,每次添加新主机时,您都不必编辑 gmetad.conf。

相关内容