Zabbix作為常用的開源監控系統,提供了豐富的警示規則用於系統監控,同時支援多種警示通知渠道。您可以將Log Service警示系統設為Zabbix的一個通知渠道,由Log Service警示系統完成警示降噪、通知等處理。本文適用於Zabbix 4.4及以上版本。
前提條件
- 已建立協議為Zabbix的開放警示應用。具體操作,請參見配置開放警示對外介面。
- 下載alibaba_cloud_sls.yml。重要 如果您使用的是Zabbix 5.0.x版本,請下載zabbix-5.0.x檔案。
Zabbix配置
- 登入Zabbix控制台。
- 可選:配置全域變數ZABBIX.SERVER.URL。配置後,全域變數ZABBIX.SERVER.URL將作為警示內容的一部分發送給Log Service。你可以在Log Service的警示通知中,單擊對應的資訊,跳轉至Zabbix控制台,查看更多資訊。
如果您不設定全域變數ZABBIX.SERVER.URL的值,則在警示訊息中顯示預設值127.0.0.1。
- 在左側導覽列中,選擇。
- 在Macros頁面中,單擊Add。
- 添加全域變數ZABBIX.SERVER.URL,值為Zabbix控制台的訪問地址。

- 單擊Update。
- 添加Alibaba Cloud SLS (Log Service)通知渠道。
- 在左側導覽列中,選擇。
- 在Media types頁面的右上方,單擊Import。
- 在Import對話方塊中,選擇您已下載的alibaba_cloud_sls.yml檔案,選中Update existing,然後單擊Import。

- 在Media types頁面中,單擊Alibaba Cloud SLS (Log Service)。
- 在Parameters配置項中,修改hook_url欄位的值,然後單擊Update。將hook_url欄位的值修改為您在Log Service中建立開放警示服務和應用後產生的介面資訊(完整URL)。如何擷取,請參見擷取介面資訊。說明 如果您的Zabbix運行在阿里雲ECS上,則建議您在選擇Zabbix警示訊息接入地區時,選擇ECS所在地區,並使用區域網路或VPC網域名稱。否則您選擇任一地區的公網介面即可。

- 為目標使用者佈建通知渠道。
- 在左側導覽列中,選擇。
- 在使用者列表中,單擊目標使用者。您也可以單擊Create user,建立一個新使用者。
- 在Media頁簽中,單擊其中一個Media對應的Edit。您也可以單擊Add,建立一個新的Media。
- 在Media面板中,選擇Type為Alibaba Cloud SLS (Log Service),然後單擊Update。

- 單擊Update。
- 配置觸發器。
- 在左側導覽列中,選擇。
- 在Trigger actions頁面中,單擊您已建立的觸發器。
- 在Operations頁簽中,單擊Operations地區中的Add。您也可以單擊目標Operation對應的Edit。

- 在Operation details對話方塊中,選擇您的目標使用者或使用者組,以及配置Send only to為Alibaba Cloud SLS (Log Service),然後單擊Add。

- 單擊Update。
警示訊息解析
Zabbix警示訊息中包含100多種變數。更多資訊,請參見Zabbix官方文檔。Log Service只選取其中幾十個訊息變數組成警示訊息。Zabbix警示訊息內容樣本如下:
| Zabbix Macro名稱 | 樣本值 |
| {TRIGGER.ID} | 19006 |
| {TRIGGER.NAME} | test used |
| {EVENT.UPDATE.STATUS} | 0 |
| {EVENT.VALUE} | 1 |
| {DATE} | 2021.06.10 |
| {TIME} | 12:44:23 |
| {EVENT.DATE} | 2021.06.10 |
| {EVENT.TIME} | 19:23:01 |
| {EVENT.RECOVERY.DATE} | "" |
| {EVENT.RECOVERY.TIME} | "" |
| {HOST.NAME} | zabbix-agent |
| {HOST.IP} | 192.0.2.0 |
| {TRIGGER.HOSTGROUP.NAME} | Linux servers |
| {EVENT.DURATION} | 20h 1m 31s |
| {TRIGGER.DESCRIPTION} | The system is running out of free memory. |
| {EVENT.OPDATA} | 73.22 % |
| {EVENT.TAGS} | Application:Memory |
| {NSEVERITY} | 2 |
| {EVENT.ID} | 1036 |
欄位對應
Log Service警示內容中的欄位與Zabbix側的映射關係如下:
| Log Service | Zabbix | 說明 |
| aliuid | 無 | 用於接入警示的開放警示應用所屬的阿里雲帳號ID |
| alert_id | {TRIGGER.ID} | 警示監控規則ID |
| alert_type | 無 | 警示類型,固定為sls_pub。 |
| alert_name | {TRIGGER.NAME} | 警示監控規則名稱 |
| status | {EVENT.UPDATE.STATUS}、{EVENT.VALUE} | 警示狀態。 如果Zabbix中的{EVENT.UPDATE.STATUS}值和{EVENT.VALUE}值都為0,則表示resolved(警示恢複)。其餘值都表示firing(觸發警示)。 |
| next_eval_interval | 無 | 警示評估時間間隔,固定為0。 |
| alert_time | 無 | 警示本次評估時間。 通過計算{DATE}和{TIME}所得。 |
| fire_time | 無 | 警示首次觸發時間。 通過計算{EVENT.DATE}和{EVENT.TIME}所得。 |
| resolve_time | 無 | 警示恢復。
|
| labels | {HOST.NAME} | 警示標籤資訊。 如果您在建立開放警示應用時 ,在資訊加工中添加了標籤資訊,則此標籤資訊將被添加到labels欄位中。 說明 當您在資訊加工中配置的標籤的Key與Zabbix警示訊息的tags欄位中的子欄位重複時,映射結果以您在資訊加工中配置的為準。 |
| annotations | {EVENT.TAGS} | Zabbix警示被接入到Log Service後,Log Service會將{EVENT.TAGS}欄位展開為多個索引值對,添加到annotations欄位中。
除以上欄位外,還會額外添加如下欄位。
如果您在建立開放警示應用時 ,在資訊加工中添加了標註資訊,則此標註資訊將被添加到annotations欄位中。 |
| severity | {NSEVERITY} | 警示嚴重度。更多資訊,請參見警示嚴重度說明。 |
| policy | 無 | 您在開放警示應用中配置的警示策略。更多資訊,請參見Policy結構。 |
| project | 無 | 警示中心所屬的Project。更多資訊,請參見專案(Project)。 |
| drill_down_query | {$ZABBIX.SERVER.URL}、{TRIGGER.ID}、{EVENT.ID} | 連結形式,單擊後可跳轉到Zabbix的警示訊息管理頁面。 |
| Severity(Zabbix) | Severity(Log Service) |
| Not Classified | report |
| Information | low |
| Warning | medium |
| Average | medium |
| High | high |
| Disaster | critical |
常見問題
如何查看動作記錄?
- 登入Zabbix控制台。
- 在左側導覽列中,選擇。
- 查看動作記錄。
