中国网络水泥 发表于 2018-5-31 10:24:20

在OpenStack集群中安装Ganglia监控

  1、Ganglia简介
  Ganglia由gmond、gmetad和gweb三部分组成

gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。gmond在每台主机上完成实际意义上的指标数据收集工作,并通过侦听/通告协议和集群内其他节点共享数据。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。

gmetad(Ganglia Meta Daemon)是一种从其他gmetad或gmond源收集指标数据,并将其以RRD格式存储至磁盘的服务。gmetad为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创建联合监测域成为可能。


  gweb(Ganglia Web)gweb是一种利用浏览器显示gmetad所存储数据的PHP前端。在Web界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。
  

  

  

  2、安装Ganglia,本人OpenStack集群是Ubuntu16.04
  首先,在Controller节点上安装Apache、PHP、Ganglia服务。在其它节点Compute、Storage节点上安装Gmond就可以了。Controller节点已经安装好Apache了,这里就不要再安装了。
  三个节点
  Controller192.168.13.244
  compute 192.168.13.243
  storage 192.168.13.245
  

  Ganglia 由两个所谓主要守护进程 gmond(Ganglia 监测守护进程)和 gmetad(Ganglia 元守护进程),一个基于 PHP 的 Web 前端和其他一些小的实用程序。
  

  在主节点上安装ganglia-webfrontend和ganglia-monitor。在其他监视节点上,只需要安装ganglia-monitor即可,将ganglia的文件链接到apache的默认目录下
  

  3、在Controller节点上安装
  # apt install php php-gd rrdtoolganglia-webfrontend ganglia-monitor -y
  # apt-get install ganglia-webfrontend ganglia-monitor -y
  # apt-get install libapache2-mod-php7.0 php7.0-xml -y
  

  4、复制 Ganglia webfrontend Apache 配置
   #cp /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf
  

  

  5、因为ganglia-webfront这个包默认将Web相关的代码安装在”/usr/share/ganglia-webfrontend/”路径下,这样apache访问不到。可以使用软链接,或者直接将目录移到”/var/www/”目录下。
  #ln -s /usr/share/ganglia-webfrontend /var/www/ganglia
  

  6、编辑 Ganglia 元守护程序的配置文件
  root@controller:~# vim /etc/ganglia/gmetad.conf
  data_source "OpenStack" 192.168.13.244:8649 192.168.13.243:8649 192.168.13.245
  列出机器服务的数据源,IP:端口或服务器名称:端口。如果未指定端口号8649(默认gmond端口)。
  gridname "OpenStack"
   setuid_username "nobody"
   rrd_rootdir "/var/lib/ganglia/rrds"
  

  

  7、编辑主节点的配置文件:
  # vim /etc/ganglia/gmond.conf
  cluster {
  name = " unspecified"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
  }
  修改为
  cluster {
  name = "OpenStack"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
  }
  udp_send_channel {
  mcast_join = 239.2.11.71
  port = 8649
  ttl = 1
  }
  修改为
  udp_send_channel {
  #mcast_join = 239.2.11.71      #注释掉
  host = 192.168.13.244            #设置为服务端IP
  port = 8649
  ttl = 1
  }
  udp_recv_channel {
  mcast_join = 239.2.11.71
  port = 8649
  bind = 239.2.11.71
  }
  修改为
  udp_recv_channel {
  #mcast_join = 239.2.11.71   #注释掉
  port = 8649
  #bind = 239.2.11.71               #注释掉
  }
  

  8、启动服务
  # /etc/init.d/ganglia-monitor start
  Starting Ganglia Monitor Daemon:
  # /etc/init.d/gmetad start
  Starting Ganglia Monitor Meta-Daemon:
  # /etc/init.d/apache2 start
  [ ok ] Starting apache2 (via systemctl): apache2.service.
  

  9、查看服务状态
  # ps aux | grep ganglia
  ganglia   684420.00.0 146112 62400 ?      Ssl10:51   0:00 /usr/sbin/gmond --pid-file /var/run/gmond.pid
  

  # ps aux | grep gmetad
  nobody    743650.20.0 185024 16192 ?      Sl   10:53   0:02 /usr/sbin/gmetad --pid-file /var/run/gmetad.pid
  

  # ps aux | grep apache2
  root      682860.00.012864 10240 ?      Ss   10:51   0:00 /usr/sbin/apache2 -k start
  www-data682890.00.0 303360 13120 ?      Sl   10:51   0:00 /usr/sbin/apache2 -k start
  www-data682900.00.0 303360 13120 ?      Sl   10:51   0:00 /usr/sbin/apache2 -k start
  

  

  

  10、被监控节点compute和Storage安装配置gmond
  root@compute:~# apt-get install ganglia-monitor -y
  

  配置gmod.conf,将controller节点复制过来
  root@controller:~# scp /etc/ganglia/gmond.conf 192.168.13.243:/etc/ganglia/
  root@controller:~# scp /etc/ganglia/gmond.conf 192.168.13.245:/etc/ganglia/
  

  启动monitor
  root@node1:~# /etc/init.d/ganglia-monitor restart
  Stopping Ganglia Monitor Daemon: gmond.
  Starting Ganglia Monitor Daemon: gmond.
  

  

  11、登录Ganglia监控平台
  http://192.168.13.244/ganglia/
  

  
页: [1]
查看完整版本: 在OpenStack集群中安装Ganglia监控