建立事件營運任務

更新時間:
Copy as MD

系統事件代表了雲產品資源狀態的變更,比如ECS執行個體發生了異常重啟、ECS執行個體被釋放、快照建立完成、將要執行營運等等。CloudOps Orchestration Service支援建立事件營運任務,在系統事件發生時,執行指定的模板,進行事件營運。事件營運任務會一直執行並監聽新事件,直到您取消它。

建立事件營運任務包括如下步驟:

  1. 設定事件匹配規則

  2. 選擇模板

  3. 設定模板的執行參數

設定事件匹配規則

欄位

是否必填

說明

產品類型

從下拉框選擇,只能單選。

事件名稱

系統事件的名稱,可多選,取值參見雲產品事件

地區

事件關聯資源所在的阿里雲地區,可多選。取值請參見地區和可用性區域

事件等級

事件等級,可選值嚴重、警告、資訊。

事件詳情匹配規則

Json格式,用來匹配系統事件的詳情。

事件詳情匹配規則

系統事件的事件詳情是一個Json,不同的系統事件的詳情包含的欄位不同。您可以根據詳情中的欄位對系統事件進行精細的篩選。以ECS生命週期狀態變化為例,其事件詳情(事件訊息體中content的值)格式如下:

{
    "resourceId": "i-bp1ecr********5go2go",  
    "resourceType": "ALIYUN::ECS::Instance", 
    "state": "Running"                       
}

此事件詳情中的resourceId是發生狀態變更的ECS執行個體Id,statePending/Starting/Running/Stopping/Stopped/Delete多個可選值。

事件詳情匹配規則也是一個Json,其中的key與事件詳情中的key相同,value是您需要匹配出的值或者值的列表。如果要匹配執行個體停機的事件,可以如下配置:

{
  "state": "Stopped"
}

如果要匹配執行個體i-abcde停機或者釋放的事件,可以如下配置:

{
  "resourceId": "i-abcde",
  "state": ["Stopped", "Deleted"]
}

在配置事件詳情匹配規則時,您可以參考頁面顯示的事件訊息體格式樣本(事件訊息體中content部分為事件詳情)。

選擇模板

選擇在系統事件發生時需要執行的模板。

設定模板的執行參數

模板參數中可以填入固定值,也可以從事件訊息體選擇參數。當選擇固定參數時,總是使用固定參數執行模板。選擇從事件訊息體選擇參數時,可以配置jq運算式,從事件訊息體中提取欄位。

從事件訊息體中提取欄位,使用$開頭,加上jq運算式。比如我們要從ECS生命週期狀態變化事件訊息體中提取事件詳情(content)中的resourceId,應該使用$.content.resourceId。如果要提取地區ID,使用$.regionId

事件訊息體中有以下固定欄位可以提取:

提取運算式

說明

樣本值

$.id

事件ID。

9435EAD6-3CF6-4494-8F7A-3A**77

$.eventTime

事件發生時間,採用UTC+8時區。

20181226T220114.058+0800

$.level

事件層級。取值範圍:INFO、WARN、CRITICAL

INFO

$.name

事件名稱代碼。

Instance:StateChange

$.regionId

阿里雲地區ID。取值請參見地區和可用性區域

cn-hangzhou

$.product

產品名稱代碼

ECS

$.resourceId

資源的ARN值(Aliyun Resource Name,阿里雲全域資源描述符)。

acs:ecs:cn-hangzhou:169070**30:instance/i-bp1ecr**5go2go

$.userId

雲帳號ID。

169070**30

$.content.fieldName

從事件詳情中提取fieldName欄位的值。

從事件訊息體選擇參數:

使用固定參數,和普通模板參數設定方法一致。