您好,登錄后才能下訂單哦!
由于關(guān)于Monasca的中文介紹并不多,本系列文章主要介紹Monsca組件在openstack的工作流程與原理:
Openstack+Monasca簡(jiǎn)介(1)
一個(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-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
基于kafka
在Monasca中各種消息通過messageQ發(fā)送或接收,具體查閱上面的消息模板
目前支持Vertica和influxDB
在Vertica中用到的表如以下:
MonMetrics.Measurements: Stores the actual measurements that are sent.
MonMetrics.DefinitionDimensions
MonMetrics.Definitions
MonMetric.Dimensions
目前使用Mysql存儲(chǔ)Monasca的配置信息
其中使用的SQL表:
alarm
alarm_action
notification_method
sub_alarm
sub_alarm_dimension
發(fā)于:blog.bobozhu.cn
免責(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)容。