溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Openstack+Monasca簡(jiǎn)介(1)

發(fā)布時(shí)間:2020-07-31 07:35:36 來源:網(wǎng)絡(luò) 閱讀:2345 作者:hiubuntu 欄目:數(shù)據(jù)庫(kù)

由于關(guān)于Monasca的中文介紹并不多,本系列文章主要介紹Monsca組件在openstack的工作流程與原理:

  • Openstack+Monasca簡(jiǎn)介(1)

    Monasca組件介紹

Monasca是什么:

  • 一個(gè)具有高性能,可擴(kuò)展,高可用的監(jiān)控即服務(wù)的(MONaas)解決方案。

    • 使用Rest API接口來存儲(chǔ)、查詢性能和歷史數(shù)據(jù),不同與其他監(jiān)控工具使用特殊的協(xié)議和傳輸方法,如nagios的NSCA,Monasca只利用了http。

    • 多租戶認(rèn)證,指標(biāo)的提交和認(rèn)證使用Keystone組件。存儲(chǔ)關(guān)聯(lián)租戶ID

    • 指標(biāo)使用(key,value)的鍵值來定義,稱作量度(dimensions)

    • 對(duì)系統(tǒng)指標(biāo)進(jìn)行實(shí)時(shí)閾值和告警

    • 復(fù)合告警設(shè)置使用簡(jiǎn)單的語法,由子告警表達(dá)式和邏輯操作器組成

    • 監(jiān)控代理支持內(nèi)置的系統(tǒng)和服務(wù)的檢查結(jié)果,同時(shí)也只nagios的checks和statsd

    • 根據(jù)開源技術(shù)搭建的開源監(jiān)控方案

Monasca架構(gòu)圖

Openstack+Monasca簡(jiǎn)介(1)

  • monasca-agent:監(jiān)控代理,python編寫,包含了多個(gè)子組件,支持各種cpu使用率、可用內(nèi)存、nagios插件、statsd、以及許多服務(wù)如mysql、rabbitMQ等監(jiān)控

  • monasca-api: 一個(gè)用于監(jiān)控的RESTful API接口,針對(duì)在以下概念和區(qū)域:

    • 指標(biāo):對(duì)于實(shí)時(shí)的大量指標(biāo)的存儲(chǔ)和查詢

    • 統(tǒng)計(jì):查詢指標(biāo)的統(tǒng)計(jì)數(shù)據(jù)

    • 告警定義:告警定義的增刪查改

    • 告警: 查詢和刪除告警歷史

    • 通知方式: 創(chuàng)建和刪除通知方式,當(dāng)告警狀態(tài)改變時(shí)可以只接郵件通知用戶
      -monasca API可以通過python或JAVA來實(shí)現(xiàn)

  • manasca-persister:消息隊(duì)列傳送指標(biāo)或告警的消費(fèi)者(RPC傳輸中的概念consumer),并將指標(biāo)和告警存入對(duì)應(yīng)的數(shù)據(jù)庫(kù)

  • monasca-transform:一個(gè)轉(zhuǎn)換聚合引擎,轉(zhuǎn)換指標(biāo)的名字和值,生成新的指標(biāo)傳遞給消息隊(duì)列,目前不可用

  • Anomaly and Prediction Engine:目前還是原型階段

  • monasca-thresh:對(duì)指標(biāo)進(jìn)行計(jì)算,當(dāng)超過閾值是發(fā)布告警給消息隊(duì)列,基于Apache storm項(xiàng)目(開源實(shí)時(shí)分布式計(jì)算系統(tǒng))

  • monasca-notification:接受從消息隊(duì)列傳來的告警,并發(fā)送通知,如發(fā)送告警郵件,Notification Engine基于Python

  • monasca-analytics:分析引擎,接受從消息隊(duì)列傳來的告警,進(jìn)行異常檢測(cè)和告警關(guān)聯(lián),不知道為什么架構(gòu)圖中沒有。。

  • 消息隊(duì)列:以前是支持RabbitMQ的,由于性能、規(guī)模、持續(xù)性和高可用的限制,轉(zhuǎn)向了Kafka。

  • Metrics and Alarms Database:支持Vertica和infuxDB,對(duì)Cassandra的支持正在進(jìn)行中

  • Config Database:配置信息數(shù)據(jù)庫(kù),目前使用Mysql,對(duì)PostgreSQL的支持正在進(jìn)程中

  • python-monascaclient:python實(shí)現(xiàn)的命令行客戶端,對(duì)monasca API進(jìn)行操控

  • Monitoring UI:Horizon dashboard的可視化

  • Ceilometer publisher:提供給Ceilometer的multi-publisher插件,圖中沒有顯示,用來轉(zhuǎn)化和發(fā)布樣本給monasca API。**這塊等研究完ceilometer+monasca再來補(bǔ)充

除了第三方的組件,如storm這種,其他大部分組件都可以去各自源中去查看描述。

消息模板

Monasca/Message Schema

消息隊(duì)列

  • 基于kafka

  • 在Monasca中各種消息通過messageQ發(fā)送或接收,具體查閱上面的消息模板

指標(biāo)和告警數(shù)據(jù)庫(kù)

目前支持Vertica和influxDB
在Vertica中用到的表如以下:

  • MonMetrics.Measurements: Stores the actual measurements that are sent.

  • MonMetrics.DefinitionDimensions

  • MonMetrics.Definitions

  • MonMetric.Dimensions

配置數(shù)據(jù)庫(kù)

目前使用Mysql存儲(chǔ)Monasca的配置信息
其中使用的SQL表:

  • alarm

  • alarm_action

  • notification_method

  • sub_alarm

  • sub_alarm_dimension


發(fā)于:blog.bobozhu.cn

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI