那么如何开始呢?Monasca的微服务架构的一个缺点是部署和管理其中的服务很复杂。但另一方面,这种微服务架构是Monasca的优势之一。部署非常灵活,你可以随着ingest率的增加而水平扩展组件。怎么做到这些呢?
在StackHPC,我们的答案是使用OpenStack Kolla项目,该项目已经提供了一些支持基础设施。为此,我们一直与Kolla社区合作,为过去几个周期中添加对部署Monasca的支持。
这是目前的框图:

要注意的是:图中几乎所有内容都可以部署在高度可用的配置中。更棒的是,这一切都由Kolla-Ansible开箱即用来管理。如果你需要三节点Monasca部署,则只需将三个监控节点添加到Kolla-Ansible清单,然后按照Kolla文档进行部署。当然,值得一提的是,目前这将使用与Kolla-Ansible中的其他组件相同的数据库和负载均衡服务。如果这是一个问题,或者你没有使用Kolla-Ansible来管理OpenStack部署,那么你可以单独部署Monasca并集成(如果你愿意)使用外部Keystone实例,而不需要由Kolla提供。
那么如何参与?首先是尝试一下!照着Kolla vagrant文档以及Monasca的Kolla文档,这非常容易。一旦运行,你可能会开始考虑要监控的事情。例子包括从RabbitMQ集群队列长度到数据库写入的任何内容。在Kolla-Ansible中添加支持以便开箱即用地收集这些指标将是一件很棒的事情。
其次,我们之前提到几乎所有服务都可以部署在高度可用的配置中。那么哪些不行? Grafana的Monasca分支是其中之一,InfluxDB需要企业许可才能进行集群(当然,这可以通过购买许可来解决),但Monasca支持Cassandra作为后端,并且对Kolla的支持可以带来很好的改进。
最后,看看Monasca Grafana分支,这对于Monasca项目来说是长期以来的美中不足。这一分支是为了实现使用你的OpenStack凭证登录Grafana并通过单一窗格查看OpenStack项目性能的愿景。这是一个我们认为值得的愿景,但不幸的是,将Keystone整合到Grafana的努力到目前为止都失败了,而且这一分支已经落后了。需要重新努力将Grafana与Monasca集成,很欢迎你参与其中。