添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Ganglia 是一个开源的集群监控系统,它基于分层设计,使用广泛的技术,如XML数据代表,便携数据传输, RRDtool 用于数据存储和可视化,可以方便地对机器性能及系统运行状态进行可视化监控,广泛应用于对 Hadoop Spark 等分布式系统的监测管理。

Ganglia 的核心包含gmond、gmetad以及一个Web接界面。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

Gmond

Ganglia monitoring ,它是一个守护进程,用于收集机器内的metric,它还可以接受别的node发送过来的metric,并且保存一小段时间(几十秒),运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或单播通道上的统计信息。Gmond可以扮演下面三种角色:

  • 收集metric并发送出去,同时也接收别的node发送过来的metric;
  • 只采集metric并发送出去(关键字 deaf);
  • 只接收别的机器发送过来的metric(关键字 mute); 默认情况下,gmond监听8649端口,用来发送和接收udp,tcp数据包。
  • Gmetad

    Ganglia meta daemon,也是一个守护进程,定期检查gmonds ,从那里拉取数据,并将他们的指标存储在RRD存储引擎中。它可以查询多个集群并聚合指标。默认情况下gmond通过multicast的方式发送自己采集到的数据,整个Multicast group里的node都拥有整个cluster的全部metrics。而gmetad可以从一个cluster的任意一个node拿到整个cluster的全部metric并记录到rrd数据库。 默认情况下,gmetad监听8651端口,从这里可以拿到gmetad存放的最新metric数据,也可以给更高层的gmetad使用;监听8652端口,提供数据查询接口,供web使用。

    运行在主节点的一个工具,轮询调度数据库,用于存储数据和可视化时间序列。RRD也被用于生成用户界面的web前端。

    Ubuntu Server 12.04 (10.24.84.23 master node) Ubuntu Server 16.04 (10.24.84.24 client node) 均需要安装apache服务

    主节点 master node

    sudo apt-get install ganglia-monitor 
    sudo apt-get install rrdtool 
    sudo apt-get install gmetad 
    sudo apt-get install ganglia-webfrontend
    

    子节点 client node

    sudo apt-get install -y ganglia-monitor
    

    主节点 master node

    修改 gmetad 配置

    vim /etc/ganglia/gmetad.conf

    # data_source,cluster的名字,可以自定义,但要与gmond配置对应起来
    data_source "my cluster" localhost
    
    修改 gmetad 配置

    vim /etc/ganglia/gmond.conf

    # 修改 cluster name
    cluster {
      name = "my cluster" ## use the name from gmetad.conf
      owner = "unspecified"
      latlong = "unspecified"
      url = "unspecified"
    # 修改 udp_send_channel,添加 host
    udp_send_channel = {
      # mcast_join = xxx.xxx.xxx.xxx
      host = localhost
      port = 8649
      ttl = 1
    # 修改 udp_recv_channel,注释掉 mcast_join, bind
    udp_recv_channel = {
      # mcast_join = xxx.xxx.xxx.xxx
      port = 8649
      # bind = xxx.xxx.xxx.xx
    
    重启 ganglia-monitor 和 gmetad 服务
    service gmetad restart
    service ganglia-monitor restart
    

    子节点 client node

    修改 gmetad 配置
    # 修改 cluster name
    cluster {
      name = "my cluster"
      owner = "unspecified"
      latlong = "unspecified"
      url = "unspecified"
    # 修改 udp_send_channel host
    udp_send_channel {
      # mcast_join = xxx.xxx.xxx.xxx
      host = master node ip
      port = 8649
      ttl = 1
    udp_recv_channel {
      # mcast_join = xxx.xxx.xxx.xxx
      port = 8649
      # bind = xxx.xxx.xxx.xx
    
    重启 ganglia-monitor 服务

    service ganglia-monitor restart

    配置apche2

    复制到apache www目录

    sudo cp -r /usr/share/ganglia-webfrontend /var/www/ganglia

    重启apache服务

    sudo /etc/init.d/apache2 restart

    直接访问http://10.24.84.23/ganglia就能看到ganglia成功运行

    Back to posts