日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Openstack-Ceilometer-Alarm运行机制

發布時間:2023/10/11 综合教程 302 老码农
生活随笔 收集整理的這篇文章主要介紹了 Openstack-Ceilometer-Alarm运行机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1校驗

對alarm列表進行定時監測,如果發現與設置的limit值不滿足,則發出警報

監控服務分為三種:默認服務,單進程校驗服務和分布式校驗服務。根據配置來決定,默認配置:default

Alarm狀態

名稱

數據庫代碼

對應數據庫操作字段

UNKNOWN

insufficient data

insufficient_data_actions

OK

ok

ok_actions

ALARM

alarm

alarm_actions

1.1服務

1.1.0 AlarmService

基類,其他service都集成它,實現了基本的校驗功能

1.1.1  AlarmEvaluationService(默認服務)

  1. 根據alarm列表(當前enable的alarm)啟動校驗定時器
  2. 啟動負載均衡服務,啟動心跳信息定時器

1.1.2  SingletonAlarmService(單進程校驗服務)

單進程校驗,處理能力較弱,數據量較大的時候會延時或者shutdown,不推薦使用

  1. 根據alarm列表(當前enable的alarm)逐個校驗

1.1.3  PartitionedAlarmService(分布式校驗服務)

PartitionedAlarmService

它通過rpc實現了一套多個evaluator進程之間的協作協議(PartitionCoordinator),使得可以通過水平擴展來不斷增大alarm service的處理能力,這樣實現了一個簡單的負載均衡,還實現了高可用

PartitionCoordinator

允許啟動多個ceilometer-alarm-evaluator進程,這多個進程之間的關系是互相協作的關系,他們中最早啟動的進程會被選為master進程,master進程主要做的事情就是給其他進程分配alarm,每個進程都在周期性的執行三個任務:

  • 發布存在消息;通過rpc,向其它進程廣播自己的狀態,來告知其他進程,自己是活著的,每個進程中都保存有其他進程的最后活躍時間
  • 校驗是否可以成為master;每個進程都會不斷的更新自己所維護的其它進程的狀態列表,根據這個狀態列表,來判斷是否應該由自己來當master,判斷一個進程是否是master的條件只有一個,那就是看誰啟動的早
  • 校驗數據;檢查本進程負責的alarm,調用ceilometerclient的接口,來獲取該alarm的監控指標對應的監控數據,然后進行判斷,發送報警等

1.2 Alarm

1.2.1 combination

Alarm的alarm,綜合多個指標的結果來進行相應操作

1.2.2 threshould

監控某一個或者多個指標,若大于、小于或者等與監控的閾值等情況時,觸發alarm指定狀態的動作

2報警

報警功能是根據alarm對象中規定的規則定時校驗meter數據,如果發現有符合條件的數據,發出報警。初始alarm狀態為ok,校驗后如果狀態變為unkown或者alarm則alarm_history表會有alarm狀態更新數據,同時觸發對應狀態的action。如果當前狀態為alarm,校驗后狀態任然為alarm,則不會觸發對應action。

2.1 Log

記錄日志,級別:info

2.2 Rest

通過http協議調用alarm中指定狀態的動作,通常是一個調用指定的地址,報告狀態。

2.3 Test

測試使用,沒有實際使用

2.4 Trust

調用keystone接口,使用rest中的方法發送

3可能遇到的問題

  1. 創建alarm時對于時間段選擇的錯誤。如果需要一直監控而不是只在某個時間段監控的話,這個字段可以直接不賦值
  2. 創建alarm時幾個條件的組合需要思考好。間隔時間(period/evaluation_periods)、時間范圍(time_constraints),alarm類型(type)以及根據類型對應的操作(xx_action)
  3. 創建alarm初始狀態給定為ok
  4. Alarm規則設置。一般是:[meter_name]記錄中的 [field]在[evaluation_periods]時間內的[avg/max/min/..]數值[大于(gt)、小于(lt)、等于(eg)…]則滿足條件,需要更新alarm狀態。規則示例

"threshold_rule": {

"comparison_operator": "gt", #大于

"evaluation_periods": 2, #和period確定校驗時間段

"exclude_outliers": False,

"meter_name": "disk.device.read.requests",

"period": 10,

"query": [ #查詢規則

{

"field": "resource_id",

"op": "eq",

"type": "string",

"value": "fc0e5394-0276-413e-8d81-e3324df35a12-vda"

}

],

"statistic": "avg", #針對meter中volume的具體計算方法,如平均值,最大值,最小值等

"threshold": 990 #閾值

}

總結

以上是生活随笔為你收集整理的Openstack-Ceilometer-Alarm运行机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。