本文介紹如何在ARMS告警管理中接入Grafana,使Grafana創建的告警可以上報至ARMS告警管理中。
步驟一:創建Grafana集成
- 登錄ARMS控制臺,在左側導航欄選擇 。
在告警集成頁簽,單擊Grafana。
在新建Grafana集成對話框中,輸入集成名稱、描述,選擇Grafana版本,設置告警事件自動恢復時間,然后單擊保存。
說明 告警事件自動恢復時間:當告警事件在設置的時間內都沒有再觸發,告警事件將會自動恢復。在告警集成頁簽查看新建的Grafana集成并獲取集成地址。
步驟二:配置Grafana告警
在Grafana頁面左側導航欄選擇 。
在Notification channels頁簽單擊New channel。
說明如果是首次創建channel,單擊Add channel。
在New notification channel頁面執行以下操作。
輸入Name參數,自定義Grafana告警名稱。
設置Type為webhook。
設置URL為步驟一獲取的集成地址。
在Notification settings區域選中Default、Include image和Send reminders。選中Send reminders后需要設置同一告警的上報頻率,上報頻率不能超過步驟一中設置的告警事件自動恢復時間。
說明如果不選擇Send reminders參數,則同一告警僅會上報一次。
單擊Test,驗證Grafana是否成功連接到ARMS告警管理。
連接測試通過后單擊Save。
(可選)步驟三:編輯集成
ARMS告警管理預設了Grafana告警源與ARMS告警管理之間字段的映射,您也可以根據需要在編輯集成頁面新增或修改字段的映射關系。
此處操作將使用以下告警源作為示例。
{
"@timestamp":"2021-09-09T12:25:09.556Z",
"orgId":0,
"host":"10.1.11.14",
"ruleName":"Test notification",
"ruleUrl":"http://localhost:8001/grafana/",
"state":"alerting",
"title":"[Alerting] Test notification",
"panelId":1,
"imageUrl":"https://grafana.com/assets/img/blog/mixed_styles.png",
"evalMatches":[
{
"metric":"High value",
"value":100,
"tags":null
},
{
"metric":"Higher Value",
"value":200,
"tags":null
}
],
"ruleId":0,
"tags":{
},
"dashboardId":1,
"message":"Someone is testing the alert notification within grafana.",
"@version":"1"
}
- 在告警集成頁簽單擊目標集成右側操作列的編輯。
- 在事件映射區域左側單擊發送測試數據。
在發送測試數據對話框,輸入第三方告警源的JSON格式的告警內容,然后單擊發送。
說明- 如果顯示上傳成功,但未生成事件,請根據原始數據配置事件映射規則!,表示告警源與ARMS告警事件的字段沒有映射,實際發送數據會被保存在左側記錄框中,以便配置映射時可以直接選取對應告警源字段。
- 如果顯示上傳成功!,則表明對應的告警內容已上報至告警事件歷史頁面。更多信息,請參見查看告警事件歷史。
- 在發送測試數據對話框單擊關閉。
- 在事件映射區域左側單擊并展開需要建立映射的告警數據。
在事件映射區域右側配置告警源字段與ARMS告警的映射。
可選:在選擇根節點區域選擇是否使用批處理。
當告警數據存在數組節點時,可以指定目標數組節點作為根節點,將對應根節點下的數據進行批處理。
選擇使用批處理后,選擇需要批處理的數組節點作為根節點。
說明當告警數據存在多個數組節點時,ARMS告警管理僅支持選擇其中一個數組節點進行批處理。
例如:對于告警示例場景evalMatches數組節點下的兩個
value
字段,選擇evalMatches為根節點后,節點下的兩個value
字段將會作為同一字段映射到ARMS的指定告警字段。選擇為根節點:可以設置將數組中所有元素的
$.evalMatches[*].value
屬性值迭代映射到ARMS的value
字段。不選擇為根節點:可以選擇將數組中的具體下標元素
$.evalMatches[0].value
或$.evalMatches[1].value
屬性值迭代映射到ARMS的value
字段。
在將源字段映射到目標字段區域將告警源字段映射到ARMS告警字段上。
單擊映射圖標,可以修改字段映射方式。
直接:告警源指定字段直接映射為ARMS中對應的告警字段。
串聯:將多個告警源字段通過指定分隔符串聯為一個字段,然后將這一個字段映射為ARMS中對應的告警字段。分隔符僅支持特殊字符。
例如:可以將字段
$.host
和$.title
使用短下劃線(_)串聯為$.host_$.title
,然后映射到ARMS的alertname
字段上。條件:當告警字段值滿足指定條件后,設置的字段才會映射到ARMS目標字段上。
映射表:設置告警源的告警等級與ARMS中的告警等級的映射,僅告警等級(severity)字段需要設置映射表。
ARMS告警字段說明:
ARMS告警字段 說明 告警名稱(alertname) 自定義告警的名稱。 告警等級(severity) 設置告警等級的映射字段。該字段需要設置告警等級映射表,且映射方式必須設置為直接映射。 告警描述(message) 告警事件的詳細信息,用于告警通知。最多支持15000字符。 告警樣本值(value) 監控指標的樣本值。 告警圖片(imageUrl) 指標折線圖URL,用于映射Grafana指標折線圖。 檢查項(check) 告警檢查項。例如:CPU、JVM、Application Crash、Deployment。 來源(source) 告警事件的來源。 分類(class) 告警事件的對象類型,例如:主機。 服務(service) 與業務相關的來源服務,例如:Login Service。 開始時間(startat) 事件開始時間的時間戳。 結束時間(endat) 事件結束時間的時間戳。 事件地址(generatorUrl) 事件詳細信息地址。
設置事件去重。
為了減少重復數據,系統使用相關字段作為去重依據。ARMS告警管理支持預覽事件映射區域中的歷史事件數據的去重分組結果,您可根據需要調整去重字段。
說明事件去重僅針對未恢復狀態下的事件。
在編輯集成頁面的事件去重區域選擇需要去重的字段。
當選擇的字段的值相同時,對應的多個事件將會合并為一個告警通知。
例如:將ARMS的
metric
和ruleName
字段設置為去重鍵,那么Grafana告警源中Metric和RuleName相同的事件將會合并為一個事件,Metric和RuleName不同的事件仍會分為多個事件。單擊去重測試,可以預覽去重后的告警分組。
說明去重測試針對的是事件映射左側區域中上傳的最近10條測試數據。
配置完成后,單擊保存。
查看告警事件
- 在控制臺左側導航欄選擇 。
- 在告警事件歷史頁面單擊目標事件,可以查看告警事件的詳細信息。更多信息,請參見查看告警事件歷史。
管理集成
在
頁面的告警集成頁簽,對于已經創建的集成,您可以進行以下操作:- 查看集成:如果您需要查看集成的詳細信息,單擊目標集成所在行,在集成詳情頁面查看集成的詳細信息。
更新密鑰:如果您需要修改集成的密鑰,在目標集成右側操作列選擇
,在彈出的對話框中單擊確認。重要更新密鑰后,請將步驟二中的URL修改為新的集成地址。
- 編輯:如果您需要修改集成信息,在目標集成右側操作列單擊編輯,在集成詳情頁面修改集成信息,然后單擊保存。
- 啟用或禁用:如果您需要啟用或禁用目標集成,在目標集成右側操作列單擊禁用或啟用。
- 刪除:如果您需要刪除集成,在目標集成右側操作列單擊刪除,在彈出的對話框中單擊確認。
- 添加事件流:如果您需要為指定集成添加對應的事件處理流,在目標集成右側操作列單擊添加事件流。具體操作,請參見事件處理流。
- 新建通知策略:如果您需要為指定集成添加對應的通知策略,在目標集成右側操作列單擊新建通知策略。具體操作,請參見通知策略。
后續步驟
您可以通過設置通知策略將上報的告警事件生成告警并發送告警通知,具體操作,請參見通知策略。經過通知策略分派后生成的告警可以在告警發送歷史頁面查看告警的詳細信息,更多信息,請參見查看告警發送歷史。