OpenStack 高性能监控工具:Monasca
2021-01-26 08:44:48Monasca 是一个多租户监控即服务工具,可以帮助IT团队分析日志数据并设置告警和通知。
介绍
Monasca 是一个多租户监控即服务工具,可以帮助IT团队分析日志数据并设置告警和通知。
OpenStack环境中的监控需求是巨大,多样且高度复杂的。Monasca的项目任务是提供一种多租户,高度可扩展,高性能和容错的监控即服务解决方案。
Monasca为高级监控提供了可扩展的平台,运营商和租户均可使用该平台来获取有关其基础架构和应用的运行状态。
Monasca使用REST API进行高速的日志处理和查询。它集成了流告警引擎,通知引擎和聚合引擎。
您可以使用Monasca实现的用例非常多样。Monasca遵循微服务架构,其中几个服务分布在多个存储库中。每个模块旨在为整个监控解决方案提供离散服务,并且可以根据运营商/客户的需求进行部署。
架构
下图概述了Monasca的指标管道以及所涉及组件的交互。
核心组件
除了直接向API发送请求之外,还可以使用以下工具与Monasca进行交互:
Libraries:
Grafana集成:
第三方技术与工具
Monasca使用多种第三方技术:
安装
手工安装
monasca的所有组件都可以安装在一个节点上,例如openstack控制器节点上,也可以将其部署在多节点上。本文中,将在我的openstack集群中创建的新VM中安装monasca-api,该VM具有关联的浮动ip。Monasca-agent已安装在控制器节点上。代理节点通过浮动ip将指标发布到api节点。它们在同一子网中。
安装我们需要的软件包和工具
安装mySQL数据库如果您在openstack控制器节点中安装了monasca-api,则可以跳过安装,将已安装的msyql用于openstack服务。
创建monasca数据库架构,在此处下载mon.sql(
安装Zookeeper安装Zookeeper并重新启动它。我使用本地主机接口,并且只有一个Zookeeper,因此默认配置文件不需要配置。
安装和配置kafka
创建kafka系统用户,kafka服务将以该用户身份启动。
在/etc/init/kafka.conf中创建kafka启动脚本,将以下内容复制 到/etc/init/kafka.conf中并保存。
配置kafka,vim /etc/kafka/server.properties,确保配置了以下内容:
创建 kafka log目录
启动kafka服务
下一步就是创建 kafka topics
安装和配置 influxdb
创建 influxdb>
查看监控信息
在操作控制台中,通过从主菜单中选择Monitoring Dashboard来打开监控UI 。
单击Launch Monitoring Dashboard。
将打开管理设备上OpenStack Horizon中的“Monitoring”仪表板。

使用您在首次安装过程中为操作控制台设置的用户名和密码登录。
查看告警。您可以在屏幕上过滤结果。
单击左侧导航中的”Alarm DeFinitions “以查看和编辑已启用的告警的类型。
注意:请勿更改或删除任何默认告警定义。但是,您可以添加新的告警定义。
您可以更改告警的名称,表达式和其他详细信息。
如果收到过多或不足的告警,则可能需要提高或降低告警阈值。
有关编写告警表达式的信息。
可选:单击Dashboard。
OpenStack仪表板(Grafana)打开。从该仪表板中,您可以看到OpenStack服务的运行状况以及每个节点的CPU和数据库使用情况的图形表示。
可选:单击Monasca Health。
将打开“ Monasca服务仪表板”。在此仪表板上,您可以看到Monasca服务运行状况的图形表示。
总结
Monasca作为Openstack的monitoring-as-a-service组件,目前社区和网上的资料还是比较少。本文通过作者的实践,记录了Monasca相关的安装和配置以及使用的方法,
Monasca是一个可以实现IAAS到PAAS的高扩展,高性能的监控系统,其体系架构决定了它能够轻松驾驭大集群,高负载的监控。当前我们已经逐步摈弃了ceilometer+gnocchi+aodh的组合,全面转向Monasca。当前监控的不仅仅是云主机,云网络,同时也监控着我们Openstack集群内部的Kubernetns集群,数据库集群,对象存储等PAAS软件。
参考文章:
发表评论