OpenStack 高性能监控工具:Monasca
介绍
Monasca 是一个多租户监控即服务工具,可以帮助IT团队分析日志数据并设置告警和通知。
OpenStack环境中的监控需求是巨大,多样且高度复杂的。Monasca的项目任务是提供一种多租户,高度可扩展,高性能和容错的监控即服务解决方案。
Monasca为高级监控提供了可扩展的平台,运营商和租户均可使用该平台来获取有关其基础架构和应用的运行状态。
Monasca使用REST API进行高速的日志处理和查询。它集成了流告警引擎,通知引擎和聚合引擎。
您可以使用Monasca实现的用例非常多样。Monasca遵循微服务架构,其中几个服务分布在多个存储库中。每个模块旨在为整个监控解决方案提供离散服务,并且可以根据运营商/客户的需求进行部署。
- 使用RestAPI接口来存储、查询性能和历史数据,不同于其他监控工具使用特殊的协议和传输方法,如nagios的NSCA,Monasca只利用了http
- 多租户认证,指标的提交和认证使用Keystone组件。存储关联租户ID
- 指标使用(key,value)的键值来定义,称作量度(dimensions)
- 对系统指标进行实时阈值和告警
- 复合告警设置使用简单的语法,由子告警表达式和逻辑操作器组成
- 监控代理支持内置的系统和服务的检查结果,同时也只nagios的checks和statsd
- 根据开源技术搭建的开源监控方案
架构
下图概述了Monasca的指标管道以及所涉及组件的交互。
核心组件
- monasca-agent:监控代理,python编写,包含了多个子组件,支持各种cpu使用率、可用内存、nagios插件、statsd、以及许多服务如mysql、rabbitMQ等监控
- monasca-api::一个用于监控的RESTful API接口,针对在以下概念和区域:
- 指标:对于实时的大量指标的存储和查询
- 统计:查询指标的统计数据
- 告警定义:告警定义的增删查改
- 告警:查询和删除告警历史
- 通知方式:创建和删除通知方式,当告警状态改变时可以直接邮件通知用户—monasca API可以通过python或JAVA来实现
- manasca-persister:消息队列传送指标或告警的消费者(RPC传输中的概念consumer),并将指标和告警存入对应的数据库
- monasca-transform:一个转换聚合引擎,转换指标的名字和值,生成新的指标传递给消息队列
- Anomaly and Prediction Engine:目前还是原型阶段
- monasca-thresh:对指标进行计算,当超过阈值是发布告警给消息队列,基于Apache storm项目(开源实时分布式计算系统)
- monasca-notification:接受从消息队列传来的告警,并发送通知,如发送告警邮件,NotificationEngine基于Python
- monasca-analytics:分析引擎,接受从消息队列传来的告警,进行异常检测和告警关联
- 消息队列:以前是支持RabbitMQ的,由于性能、规模、持续性和高可用的限制,转向了Kafka
- Metrics and Alarms Database:支持Vertica和infuxDB,对Cassandra的支持正在进行中
- Config Database:配置信息数据库,目前使用Mysql,对PostgreSQL的支持正在进程中
- python-monascaclient:python实现的命令行客户端,对monasca API进行操控
- Monitoring UI:Horizon dashboard的可视化
- Ceilometer publisher:提供给Ceilometer的multi-publisher插件
除了直接向API发送请求之外,还可以使用以下工具与Monasca进行交互:
- Monasca client:CLI和Python客户端
- Horizon plugin:该插件将监控面板添加到Horizon
- Grafana app:Grafana插件可查看和配置告警定义,告警和通知
Libraries:
- monasca-common:Monasca组件中使用的通用代码
- monasca-statsd:StatsD兼容的库,用于从已检测的应用程序发送指标
Grafana集成:
- monasca-grafana-datasource:用于Grafana的多租户Monasca数据源
- grafana:Grafana 4.1.2的分支版本,添加了Keystone身份验证
第三方技术与工具
Monasca使用多种第三方技术:
- 内部处理和中间件
- ApacheKafka(http://kafka.apache.org):是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等
- Apache Storm(http://storm.incubator.apache.org/):ApacheStorm是一个免费的开源分布式实时计算系统。通过Storm,可以轻松可靠地处理无限数据流,从而可以进行实时处理,而Hadoop可以进行批处理
- ZooKeeper(http://zookeeper.apache.org/):由Kafka和Storm使用
- Apache Spark:由Monasca Transform用作聚合引擎
- 配置数据库:
- MySQL:支持将MySQL作为配置数据库
- PostgreSQL:通过Hibernate和SQLAlchemy支持Config数据库的POSTgres
- Vagrant(http://www.vagrantup.com/):Vagrant提供了易于配置,可重复的便携式工作环境,该环境建立在行业标准技术之上,并由一个一致的工作流程控制,可帮助您最大程度地提高生产力和灵活性
- Dropwizard(https://dropwizard.github.io/dropwizard/):Dropwizard将Java生态系统中稳定,成熟的库汇集到一个简单,轻巧的程序包中,使您可以专注于完成自身的工作任务中。Dropwizard对复杂的配置,应用程序指标,日志记录,操作工具等提供了开箱即用的支持,使您和您的团队可以在最短的时间内发布高质量的Web服务
- 时间序列数据库:
- InfluxDB(http://influxdb.com/):一个没有外部依赖性的开源分布式时间序列数据库。Metrics数据库支持InfluxDB
- Vertica(http://www.vertica.com):具有高度可扩展性的商业企业级SQL分析数据库。它提供了内置的自动高可用性功能,并且擅长数据库内分析以及压缩和存储大量数据。提供了Vertica的免费社区版本,该版本可以存储最大1TB的数据,没有时间限制,网址为https://my.vertica.com/community/。虽然不再经常用Vertrica,但Metrics数据库支持它
- Cassandra(https://cassandra.apache.org):Mestrics数据库支持Cassandra
安装
手工安装
monasca的所有组件都可以安装在一个节点上,例如openstack控制器节点上,也可以将其部署在多节点上。本文中,将在我的openstack集群中创建的新VM中安装monasca-api,该VM具有关联的浮动ip。Monasca-agent已安装在控制器节点上。代理节点通过浮动ip将指标发布到api节点。它们在同一子网中。
安装我们需要的软件包和工具
安装mysql数据库如果您在openstack控制器节点中安装了monasca-api,则可以跳过安装,将已安装的msyql用于openstack服务。
创建monasca数据库架构,在此处下载mon.sql(https://raw.githubusercontent.com/stackforge/cookbook-monasca-schema/master/files/default/mysql/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 database, user, password, retention policy, 同时修改密码。
安装与配置 storm
修改storm.yaml, vim current/storm/conf/storm.yaml
创建storm supervisor 启动脚本,vim /etc/init/storm-supervisor.conf
创建Storm nimbus 启动脚本。vim /etc/init/storm-nimbus.conf
启动supervisor 与 nimbus
安装monasca api python软件包
一些monasca组件同时提供python和java代码,主要是我选择python代码进行部署。
vim /etc/monasca/api-config.ini,将主机修改为您的IP地址
vim /etc/monasca/api-config.conf,修改以下内容
注释掉[mysql]部分,其他部分保持默认。
创建monasca系统用户并进入目录
在openstack控制器节点上,创建monasca用户密码,为租户服务中的用户monasca分配管理员角色。
192.168.1.143是我的api虚拟机地址的浮动IP,请将其更改为您的IP。
创建monasca api启动脚本,vim /etc/init/monasca-api.conf
安装monasca-persister
创建monasca-persister启动脚本
vim /etc/init/monasca-persister.conf
启动monasca-persister
安装monasca-notificatoin
将notification.yaml复制到/etc/monasca/创建启动脚本,vim/etc/init/monasca-notification.conf
启动通知服务
安装monasca-thresh复制monasca-thresh到/etc/init.d/复制monasca-thresh.jar到/opt/monasca-thresh/复制thresh-config.yml到/etc/monasca/并修改主机以及数据库信息启动monasca-thresh
安装monasca-agent
在openstack控制器节点上安装monasca-agent,以便它可以监控openstack服务进程。
设置monasca-agent,将用户域ID和项目域ID更改为默认值。
加载认证脚本admin-rc.sh,然后运行monasca metric-list。
DevStack安装
运行Monasca DevStack至少需要一台具有10GB RAM的主机。
可在此处找到安装和运行Devstack的说明:
要在DevStack中运行Monasca,请执行以下三个步骤。
克隆DevStack代码库。
将以下内容添加到devstack目录根目录中的DevStack local.conf文件中。如果local.conf不存在,则可能需要创建它。
从devstack目录的根目录运行“ ./stack.sh”。
如果要使用最少的OpenStack组件运行Monasca,可以将以下两行添加到local.conf文件中。
如果您还希望安装Tempest测试,请添加 tempest
要启用Horizon和Monasca UI,请添加 horizon
使用Vagrant
Vagrant可用于使用Vagrantfile部署运行有Devstack和Monasca的VM。安装Vagrant后,只需在../monasca-api/devstack目录中运行vagrantup命令。
要在devstack安装中使用本地代码库,请将更改提交到本地存储库的master分支,然后在配置文件中修改与要使用的本地存储库相对应的变量file://my/local/repo/location。要使用monasca-apirepo的本地实例,请将更改enable_plugin monasca-apihttps://git.openstack.org/openstack/monasca-api为enable_plugin monasca-apifile://my/repo/is/here。这两个设置仅在重建devstack VM时生效。
1.使用Vagrant将Vertica启用为Metrics DB
Monasca支持同时使用InfluxDB和Vertica来存储指标和告警状态历史记录。默认情况下,在DevStack环境中启用InfluxDB。
Vertica是Hewlett PackardEnterprise的商业数据库。可以下载免费的CommunityEdition(CE)安装程序,要启用Vertica,请执行以下操作:
- 注册并下载VerticaDebian安装程序https://my.vertica.com/download/vertica/community-edition/,并将其放在您的主目录中。不幸的是,DevStack安装程序没有可以自动使用的URL,因此必须单独下载该URL,并将其放置在安装程序运行时可以找到它的位置。安装程序假定此位置是您的主目录。使用Vagrant时,您的主目录通常将以“/vagrant_home”挂载在VM内。
- 修改local.conf中MONASCA_METRICS_DB变量,配置Vertica的支持,如下所示:
MONASCA_METRICS_DB=${MONASCA_METRICS_DB:-vertica}
2.使用PostgreSQL或MySQL
Monasca支持使用PostgreSQL和MySQL,因此该devstack插件也支持。启用postgresql或mysql。
要使用MySQL设置环境,请使用:
另外,对于PostgreSQL,请使用:
3.使用ORM支持
ORM支持可以通过MONASCA_DATABASE_USE_ORM变量来控制。但是,如果启用了PostgreSQL(也称为数据库后端),则将强制提供ORM支持
enable_service postgresql
4.加强Apache镜像
如果由于某种原因APACHE_MIRROR而无法使用,则可以通过以下方式强制执行:
5.使用WSGI
Monasca-api可以使用uwsgi和gunicorn与Apache一起部署。默认情况下,monasca-api在uwsgi下运行。如果您想使用Gunicorn,请确保其中devstack/local.conf包含:
使用
Monasca Dashboard
安装完成Monasca Dashboard Plugin后,可以通过web控制台进行查看以及管理相应的监控与告警。
在操作控制台的“Monitoring”栏,单击“Launch MonitoringDashboard“,这将打开在管理节点上运行的专用OpenStackHorizon门户。
在该面板中,您可以:
- 单击OpenStack服务名称,以查看服务告警。
- 单击服务器名称以查看相关设备的告警。
监控信息存储在两个数据库中(Vertica/influxdb与mysql)。备份监控数据时,将同时备份两个数据库。看到
- 监控指标在Vertica中存储7天。
- 配置设置存储在MySQL中。
- 如果监控节点上的服务在高负载(例如15个控制网络和200个计算节点)下停止,则消息队列将在大约6个小时内开始清除。
查看监控信息
在操作控制台中,通过从主菜单中选择Monitoring Dashboard来打开监控UI 。
单击Launch Monitoring Dashboard。
将打开管理设备上OpenStack Horizon中的“Monitoring”仪表板。
使用您在首次安装过程中为操作控制台设置的用户名和密码登录。
查看告警。您可以在屏幕上过滤结果。
- 点击告警左侧导航看到报警的所有服务和设备。
- 在每行右侧的“操作”菜单上,可以单击“Graphmetrics”以查看告警明细,并且可以显示告警的历史记录和告警定义。您还可以在该告警的图形顶部看到指标名称。
- 点击OpenStack服务名称以查看服务告警。
- 单击服务器名称以查看有关设备的告警。
注意:请勿更改或删除任何默认告警定义。但是,您可以添加新的告警定义。
您可以更改告警的名称,表达式和其他详细信息。
如果收到过多或不足的告警,则可能需要提高或降低告警阈值。
有关编写告警表达式的信息。
可选:单击Dashboard。
OpenStack仪表板(Grafana)打开。从该仪表板中,您可以看到OpenStack服务的运行状况以及每个节点的CPU和数据库使用情况的图形表示。
- 单击图形标题(例如,CPU),然后单击“编辑”。
- 更改功能以查看图中的其他类型的信息。
可选:单击Monasca Health。
将打开“ Monasca服务仪表板”。在此仪表板上,您可以看到Monasca服务运行状况的图形表示。
总结
Monasca作为Openstack的monitoring-as-a-service组件,目前社区和网上的资料还是比较少。本文通过作者的实践,记录了Monasca相关的安装和配置以及使用的方法,
Monasca是一个可以实现IAAS到PAAS的高扩展,高性能的监控系统,其体系架构决定了它能够轻松驾驭大集群,高负载的监控。当前我们已经逐步摈弃了ceilometer+gnocchi+aodh的组合,全面转向Monasca。当前监控的不仅仅是云主机,云网络,同时也监控着我们Openstack集群内部的Kubernetns集群,数据库集群,对象存储等PAAS软件。
参考文章:
https://docs.openstack.org/monasca-api/latest/
https://wiki.openstack.org/wiki/Monasca
推荐系统
windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载
语言:中文版系统大小:5.31GB系统类型:Win11windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化
微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载
语言:中文版系统大小:5.31GB系统类型:Win11微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载
微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件
语言:中文版系统大小:0MB系统类型:Win11微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为
雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载
语言:中文版系统大小:4.75GB系统类型:雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统
雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO
语言:中文版系统大小:5.91GB系统类型:Win7雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户
番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载
语言:中文版系统大小:3.91GB系统类型:Win7欢迎使用 番茄花园 Ghost Win7 x64 SP1 2022.07 极速装机版 专业装机版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上独有人性化的设计。是电脑城、个人、公司快速装机之首选!拥有此系统
番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10番茄花园 Windows 10 32位极速企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新萝卜家园电脑城专用系统 Windows10 x86企业版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 4雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
- 1迅雷云播“手机看片神器”使用教程(随时随地秒速离线云播放)
- 2微信公众号怎么年审? 微信公众号年审流程及所需材料介绍
- 3Win10怎么设置网络按流量计费 Win10网络设置流量收费教程
- 4i7 6700主频是多少 i7-6700参数详解
- 5Steam提示“需要在线进行更新,请确认您的网络连接正常”怎么办?
- 6win7蓝屏代码7f指什 怎么解决 很严重
- 7安卓手机安装运行win7系统教程 安卓手机装win7系统教程
- 8aoc一体机电脑win10改win7系统及bios设置
- 9华硕b460主板装win7系统及bios设置教程 10代CPU安装Win7教程 BIOS设置 U盘启动 完美支持USB驱动
- 10高通骁龙8cx怎么样 高通骁龙8cx处理器详细介绍
常用系统
- 1电脑公司Ghost Win8.1 x32 精选纯净版2020年2月(免激活) ISO镜像高速下载
- 2电脑公司Ghost Win7 x64 Sp1装机万能版2020年7月(64位) ISO镜像免费下载
- 3深度技术Ghost Win8.1 x32位 特别纯净版2020年6月(免激活) ISO镜像高速下载
- 4电脑公司 装机专用系统Windows10 x86企业版2020年8月(32位) ISO镜像快速下载
- 5雨林木风Ghost Win8.1 (X64) 极速纯净版2022年7月免激活) ISO镜像高速下载
- 6雨林木风系统 Ghost XP SP3 装机版 YN2021年11月 ISO镜像高速下载
- 7电脑公司Ghost Win8.1 x32 精选纯净版2021年11月(免激活) ISO镜像高速下载
- 8笔记本&台式机专用系统GhostWin7 64位旗舰版2019年7月(64位) 高速下载
- 9新萝卜家园电脑城专用系统 Windows10 x64 企业版 版本1903 2022年3月(64位) ISO镜像免费下载
- 10深度技术 GHOSTXPSP3 电脑城极速装机版 2022年4月 ISO镜像高速下载