本文介紹如何在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警示事件的欄位沒有映射,實際發送資料會被儲存在左側記錄框中,以便配置映射時可以直接選取對應警示源欄位。
如果顯示上傳成功!,則表明對應的警示內容已上報至警示事件歷史頁面。更多資訊,請參見查看警示事件歷史。
發送測試資料對話方塊的文本域中包含 JSON 格式的測試通知數據,欄位包括
@timestamp、orgId、host、ruleName、ruleUrl、state、title、panelId,可單擊複製為curl命令擷取對應請求。 在發送測試資料對話方塊單擊關閉。
在事件映射地區左側單擊並展開需要建立映射的警示資料。
-
在事件映射地區右側配置警示源欄位與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)
事件詳細資料地址。
在事件映射配置頁面,單擊發送測試資料驗證資料接收,最新10條資料地區將展示接收到的來源資料及其狀態。展開某條資料可查看JSON結構,包含
@timestamp、orgId、host、ruleName等欄位,右側可將這些源欄位對應到對應的 ARMS 警示欄位。 -
-
-
設定事件去重。
為了減少重複資料,系統使用相關欄位作為去重依據。ARMS警示管理支援預覽事件映射地區中的歷史事件數目據的去重分組結果,您可根據需要調整去重欄位。
說明事件去重僅針對未恢複狀態下的事件。
-
在编辑集成頁面的事件去重地區選取項目需要去重的欄位。
當選擇的欄位的值相同時,對應的多個事件將會合并為一個警示通知。
例如:將ARMS的
metric和ruleName欄位設定為去重鍵,那麼Grafana警示源中Metric和RuleName相同的事件將會合并為一個事件,Metric和RuleName不同的事件仍會分為多個事件。 -
單擊去重测试,可以預覽去重後的警示分組。
說明去重測試針對的是事件映射左側地區中上傳的最近10條測試資料。
選擇去重欄位為metric和ruleName,單擊去重測試,系統將根據所選欄位對事件進行分組。相同指標和規則名稱的事件被歸入同一去重分組,分組結果以表格形式展示,包含alertname、value、severity、startat、endat、message等列。
-
-
配置完成後,單擊保存。
查看警示事件
在控制台左側導覽列選擇。
在警示事件歷史頁面單擊目標事件,可以查看警示事件的詳細資料。更多資訊,請參見查看警示事件歷史。
管理整合
在頁面的警示整合頁簽,對於已經建立的整合,您可以進行以下操作:
查看整合:如果您需要查看整合的詳細資料,單擊目的地組成所在行,在整合詳情頁面查看整合的詳細資料。
-
更新密鑰:如果您需要修改整合的密鑰,在目的地組成右側操作列選擇,在彈出的對話方塊中單擊确认。
重要更新密鑰後,請將步驟二中的URL修改為新的整合地址。
編輯:如果您需要修改整合資訊,在目的地組成右側操作列單擊編輯,在整合詳情頁面修改整合資訊,然後單擊儲存。
啟用或禁用:如果您需要啟用或禁用目的地組成,在目的地組成右側操作列單擊禁用或啟用。
刪除:如果您需要刪除整合,在目的地組成右側操作列單擊刪除,在彈出的對話方塊中單擊確認。
添加事件流:如果您需要為指定整合添加對應的事件處理流,在目的地組成右側操作列單擊添加事件流。具體操作,請參見事件處理流。
建立通知策略:如果您需要為指定整合添加對應的通知策略,在目的地組成右側操作列單擊建立通知策略。具體操作,請參見通知策略。
後續步驟
您可以通過設定通知策略將上報的警示事件產生警示並發送警示通知,具體操作,請參見通知策略。經過通知策略指派後產生的警示可以在警示發送歷史頁面查看警示的詳細資料,更多資訊,請參見查看警示發送歷史。