您好,登錄后才能下訂單哦!
由于關于Monasca的中文介紹并不多,本系列文章主要介紹Monsca組件在openstack的工作流程與原理:
Openstack+Monasca簡介(1)
一個具有高性能,可擴展,高可用的監控即服務的(MONaas)解決方案。
使用Rest API接口來存儲、查詢性能和歷史數據,不同與其他監控工具使用特殊的協議和傳輸方法,如nagios的NSCA,Monasca只利用了http。
多租戶認證,指標的提交和認證使用Keystone組件。存儲關聯租戶ID
指標使用(key,value)的鍵值來定義,稱作量度(dimensions)
對系統指標進行實時閾值和告警
復合告警設置使用簡單的語法,由子告警表達式和邏輯操作器組成
監控代理支持內置的系統和服務的檢查結果,同時也只nagios的checks和statsd
根據開源技術搭建的開源監控方案
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:接受從消息隊列傳來的告警,并發送通知,如發送告警郵件,Notification Engine基于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插件,圖中沒有顯示,用來轉化和發布樣本給monasca API。**這塊等研究完ceilometer+monasca再來補充
除了第三方的組件,如storm這種,其他大部分組件都可以去各自源中去查看描述。
Monasca/Message Schema
基于kafka
在Monasca中各種消息通過messageQ發送或接收,具體查閱上面的消息模板
目前支持Vertica和influxDB
在Vertica中用到的表如以下:
MonMetrics.Measurements: Stores the actual measurements that are sent.
MonMetrics.DefinitionDimensions
MonMetrics.Definitions
MonMetric.Dimensions
目前使用Mysql存儲Monasca的配置信息
其中使用的SQL表:
alarm
alarm_action
notification_method
sub_alarm
sub_alarm_dimension
發于:blog.bobozhu.cn
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。