那么如何開(kāi)始呢?Monasca的微服務(wù)架構的一個(gè)缺點(diǎn)是部署和管理其中的服務(wù)很復雜。但另一方面,這種微服務(wù)架構是Monasca的優(yōu)勢之一。部署非常靈活,你可以隨著(zhù)ingest率的增加而水平擴展組件。怎么做到這些呢?
在StackHPC,我們的答案是使用OpenStack Kolla項目,該項目已經(jīng)提供了一些支持基礎設施。為此,我們一直與Kolla社區合作,為過(guò)去幾個(gè)周期中添加對部署Monasca的支持。
這是目前的框圖:

要注意的是:圖中幾乎所有內容都可以部署在高度可用的配置中。更棒的是,這一切都由Kolla-Ansible開(kāi)箱即用來(lái)管理。如果你需要三節點(diǎn)Monasca部署,則只需將三個(gè)監控節點(diǎn)添加到Kolla-Ansible清單,然后按照Kolla文檔進(jìn)行部署。當然,值得一提的是,目前這將使用與Kolla-Ansible中的其他組件相同的數據庫和負載均衡服務(wù)。如果這是一個(gè)問(wèn)題,或者你沒(méi)有使用Kolla-Ansible來(lái)管理OpenStack部署,那么你可以單獨部署Monasca并集成(如果你愿意)使用外部Keystone實(shí)例,而不需要由Kolla提供。
那么如何參與?首先是嘗試一下!照著(zhù)Kolla vagrant文檔以及Monasca的Kolla文檔,這非常容易。一旦運行,你可能會(huì )開(kāi)始考慮要監控的事情。例子包括從RabbitMQ集群隊列長(cháng)度到數據庫寫(xiě)入的任何內容。在Kolla-Ansible中添加支持以便開(kāi)箱即用地收集這些指標將是一件很棒的事情。
其次,我們之前提到幾乎所有服務(wù)都可以部署在高度可用的配置中。那么哪些不行? Grafana的Monasca分支是其中之一,InfluxDB需要企業(yè)許可才能進(jìn)行集群(當然,這可以通過(guò)購買(mǎi)許可來(lái)解決),但Monasca支持Cassandra作為后端,并且對Kolla的支持可以帶來(lái)很好的改進(jìn)。
最后,看看Monasca Grafana分支,這對于Monasca項目來(lái)說(shuō)是長(cháng)期以來(lái)的美中不足。這一分支是為了實(shí)現使用你的OpenStack憑證登錄Grafana并通過(guò)單一窗格查看OpenStack項目性能的愿景。這是一個(gè)我們認為值得的愿景,但不幸的是,將Keystone整合到Grafana的努力到目前為止都失敗了,而且這一分支已經(jīng)落后了。需要重新努力將Grafana與Monasca集成,很歡迎你參與其中。