在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了,这里就不要再安装了。

三个节点

Controller  192.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 rrdtool  ganglia-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   68442  0.0  0.0 146112 62400 ?        Ssl  10:51   0:00 /usr/sbin/gmond --pid-file /var/run/gmond.pid


# ps aux | grep gmetad

nobody    74365  0.2  0.0 185024 16192 ?        Sl   10:53   0:02 /usr/sbin/gmetad --pid-file /var/run/gmetad.pid


# ps aux | grep apache2

root      68286  0.0  0.0  12864 10240 ?        Ss   10:51   0:00 /usr/sbin/apache2 -k start

www-data  68289  0.0  0.0 303360 13120 ?        Sl   10:51   0:00 /usr/sbin/apache2 -k start

www-data  68290  0.0  0.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/

wKioL1h3Go3x1N9VAASoN4BlTtc186.png-wh_50

本文转自    OpenStack2015 博客,原文链接:    http://blog.51cto.com/andyliu/1891368    如需转载请自行联系原作者


spacer.gif

相关文章
|
编解码 前端开发
设计使用 | 四个免费的渐变配色网站
在进行设计工作时,有时候需要一些渐变的配色做底图更好看些,本来用Photoshop也可以自己制作,但是经常一做就很丑,所以还是直接找其他网站上的吧
1064 0
|
存储 安全 NoSQL
8系列TEE-Lite异常中断向量表和服务程序的存储结构
本文介绍 8系列TEE-Lite异常中断向量表和服务程序的存储结构
628 0
8系列TEE-Lite异常中断向量表和服务程序的存储结构
|
5天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
16天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1315 5
|
2天前
|
监控 JavaScript Java
基于大模型技术的反欺诈知识问答系统
随着互联网与金融科技发展,网络欺诈频发,构建高效反欺诈平台成为迫切需求。本文基于Java、Vue.js、Spring Boot与MySQL技术,设计实现集欺诈识别、宣传教育、用户互动于一体的反欺诈系统,提升公众防范意识,助力企业合规与用户权益保护。
|
15天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1367 87
|
2天前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。