設定記錄檔型快訊政策

您可以設定快訊政策,讓系統在記錄檔中有特定訊息時通知您。舉例來說,如果您想知道稽核記錄何時記錄特定資料存取訊息,可以設定在訊息顯示時收到通知。這類警告政策稱為以記錄為準的警告政策。本文件說明如何使用 Google Cloud 控制台和 Cloud Monitoring API 執行下列操作:

  • 建立並測試以記錄為基礎的快訊政策。
  • 編輯記錄型警告政策。
  • 刪除記錄型快訊政策。

事前準備

使用記錄檔探索工具建立記錄型警告政策

您可以透過 Google Cloud 控制台的「記錄檔探索工具」頁面,或使用 Monitoring API 建立以記錄為依據的快訊政策。本節將說明如何使用 Logs Explorer 建立記錄型快訊政策。如需 Monitoring API 相關資訊,請參閱「使用 Monitoring API 建立以記錄為基礎的警示政策」。

Logs Explorer 介面會引導您完成下列步驟:

  • 提供快訊政策的詳細資料,例如名稱和嚴重性等級。
  • 選擇您要接收通知的記錄檔。
  • 設定通知間隔時間。
  • 設定自動關閉事件的時間。
  • 指定通知對象。

舉例來說,假設您有一個應用程式,在變更網路位址時會寫入 NOTICE 嚴重性等級的 syslog 記錄項目。網路位址變更的記錄項目包含 JSON 酬載,如下所示:

"jsonPayload": {
  "type": "Configuration change",
  "action": "Set network address",
  "result": "IP_ADDRESS",
}

您想建立以記錄為基礎的警示政策,當 syslog 中嚴重性為 NOTICE 的記錄項目 jsonPayload.result 欄位顯示無效的 IPv4 位址時,系統會通知您。

如要建立這項快訊政策,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

    前往「Logs Explorer」(記錄檔探索工具)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 使用「Query」窗格,建立與您想在記錄式快訊政策中使用的訊息相符的查詢。

    舉例來說,如要尋找 syslog 記錄中嚴重性等級為 NOTICE 的記錄項目,且該項目在 JSON 酬載中含有無效的 IP 位址,您可以使用下列查詢:

    log_id("syslog")
    severity = "NOTICE"
    jsonPayload.result !~ "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}$"
    

    按一下「Run query」驗證查詢。

  3. 在「Query results」工具列中,展開「Actions」選單,然後選取 「Create log alert」

  4. 在「Alert details」窗格中,執行下列操作:

    1. 在「Alert Policy Name」欄位中輸入快訊政策的名稱。例如:「Network address: invalid IPv4 value」。

    2. 從「政策嚴重性等級」選單中選取所需選項。事件和通知會顯示嚴重性等級。

    3. 選用步驟:新增快訊政策的說明文件。您可以加入相關資訊,協助通知收件者診斷問題。下列字串總結通知的原因:

      Log-based alerting policy in project ${project} detected an invalid IPv4 value.
      

      如要瞭解如何設定格式並自訂這個欄位的內容,請參閱「在文件範本中使用 Markdown 和變數」。

  5. 如要前往下一個步驟,請按一下「Next」

  6. 在「Choose logs to include in the alert」窗格中,執行下列操作:

    1. 輸入查詢或編輯現有查詢,篩選可用的記錄。與查詢相符的記錄項目會觸發警告政策。

    2. 如要驗證查詢,請按一下「Preview logs」

    3. 選用:擷取記錄標籤。您可以使用記錄資料欄建立標籤,並顯示在快訊建立的任何事件和通知中。

      在警示政策的說明欄位中,您可以使用 ${log.extracted_label.KEY} 格式的變數參照已擷取的標籤,其中 KEY 是您為已擷取的標籤指定的名稱。

  7. 點按「Next」

  8. 選取通知時間間隔下限。這個值可讓您控制如果多次符合此條件,會收到監控通知幾次。在本例中,請從選項中選取「5 分鐘」

  9. 選用步驟:選取事件自動關閉期限。根據預設,事件自動關閉時間長度會設為 7 天。

  10. 點按「Next」

  11. 為警告政策選取一或多個通知管道。這個範例是以電子郵件通知管道為例。

    如果您已設定電子郵件通知管道,可以從清單中選取該管道。如果沒有,請按一下「管理通知管道」,然後新增電子郵件管道。如要瞭解如何建立通知管道,請參閱「建立及管理通知管道」。

  12. 按一下 [儲存]

您的記錄式快訊政策現已準備就緒,可以進行測試。

測試以記錄為基礎的警告政策範例

如要測試您建立的警告政策,可以手動寫入符合查詢的記錄項目。如要寫入記錄項目,請按照下列步驟操作:

  1. PROJECT_ID 變數變更為專案 ID,即可設定下列記錄項目:

    {
      "entries": [
      {
        "logName": "projects/PROJECT_ID/logs/syslog",
        "jsonPayload": {
          "type": "Configuration change",
          "action": "Set network address",
          "result": "999.027.405.1",
        },
        "severity": "NOTICE",
        "resource": {
          "type": "generic_task",
          "labels" : {
            "project_id": "PROJECT_ID",
            "location": "us-east1",
            "namespace": "fake-task-2",
            "job": "write-log-entry",
            "task_id": "11",
          },
        },
      },
      ],
    }
  2. 前往 logEntries.write 參考資料頁面,或按一下下列按鈕:

    前往 logEntries.write

  3. 複製先前設定的日誌項目。

  4. 在「Try this API」窗格中,執行下列操作:

    1. 將 API Explorer 中「Request body」欄位的內容,替換為您在上一個步驟中複製的記錄項目。

    2. 按一下 [Execute] (執行)。如果系統出現提示,請按照驗證流程操作。

      如果 logEntries.write 呼叫成功,您會收到 HTTP 200 回應代碼和空白回應主體 {}。如要進一步瞭解 APIs Explorer,請參閱監控說明文件中的「使用 APIs Explorer」一文;APIs Explorer 與 Logging API 的運作方式相同。

記錄項目會以下列方式符合快訊政策指定的篩選器:

  • logName 值會指定Google Cloud 專案中的 syslog 記錄。
  • 此記錄項目的 severity 值為 NOTICE
  • jsonPayload.result 值並非有效的 IPv4 位址。

寫入記錄項目後,系統會執行以下程序:

  • 新的記錄項目會顯示在記錄檔探索工具中。記錄項目符合警告政策的條件。
  • 系統會在 Cloud Monitoring 中開啟事件。
  • 您會收到事件通知。如果您已設定電子郵件通知管道,通知會如下圖所示:

    這個記錄檔快訊政策範例會傳送電子郵件通知。

您可以點選電子郵件中的「View incident」,在 Cloud Monitoring 中查看事件。如要進一步瞭解事件,請參閱「管理記錄檔型快訊政策的事件」。

其他情況:稽核記錄快訊

建立記錄型快訊政策」一節中的範例是人為的,您通常不會先建立快訊政策,再手動寫入符合快訊政策條件的記錄項目。記錄項目通常是由應用程式或其他服務寫入。不過,記錄項目的來源並無關聯,對於以記錄為基礎的快訊政策而言,重要的是您用來選取記錄項目的查詢。

以下各節將根據稽核記錄的內容,說明以記錄為依據的快訊政策的實際情境。每個情境都會說明如何建立查詢,以便選取適當的稽核記錄項目。否則,建立記錄型快訊政策的程序與建立記錄型快訊相同。

監控密鑰人工存取動作的快訊政策

假設您的專案會將密鑰儲存在 Secret Manager 中,且其中部分密鑰僅供服務帳戶使用。除非發生異常情況,否則人類使用者不會存取這些機密金鑰。

如果您已啟用 Secret Manager 的稽核記錄,則每次成功嘗試存取機密金鑰時,系統都會建立稽核記錄項目。每個項目都包含密鑰名稱和呼叫端身分。

您可以建立記錄型快訊政策,在有人類使用者存取機密時通知您。

以下是 Secret Manager 寫入的稽核記錄項目節錄。摘錄顯示了有助於建立以記錄為基礎的快訊查詢的欄位:

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "serviceName": "secretmanager.googleapis.com",
    "methodName": "google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion",
    "authenticationInfo": {
      "principalEmail": "my-svc-account@PROJECT_ID.iam.gserviceaccount.com",
      "serviceAccountDelegationInfo": [],
      "principalSubject": "serviceAccount:my-svc-account@PROJECT_ID.iam.gserviceaccount.com"
    },
    ...
  },
  ...
}

以下 protoPayload 子欄位特別值得關注:

  • @type:表示此記錄項目是稽核記錄項目。
  • serviceName:記錄寫入稽核記錄項目的服務。使用這個欄位來識別 Secret Manager 寫入的項目。
  • methodName:指出寫入此稽核記錄項目的方法。使用這個欄位來識別導致建立這個項目的動作。在這個範例中,為 AccessSecretVersion 方法。
  • authenticationInfo.principalEmail:在 methodName 欄位中記錄叫用方法的帳戶。這個欄位的預期值是服務帳戶,結尾為 gserviceaccount.com

如要查看人工使用者存取密鑰的記錄項目,請查看由 Secret Manager 寫入的稽核記錄項目。您想找出記錄項目,其中 AccessSecretVersion 方法是由不以 gserviceaccount.com 結尾的使用者主體叫用。以下查詢可隔離這些記錄項目:

protoPayload.@type = "type.googleapis.com/google.cloud.audit.AuditLog"
protoPayload.serviceName = "secretmanager.googleapis.com"
protoPayload.methodName =~ "AccessSecretVersion$"
protoPayload.authenticationInfo.principalEmail !~ "gserviceaccount.com$"

如要建立記錄型快訊政策,以便人工存取機密資料,請在「Choose logs to include in the alert」窗格中使用以下查詢。

監控解密事件的警示政策

上述範例中的分析方法可套用至其他服務。舉例來說,如果您使用 Cloud Key Management Service 加密及解密機密資料,就可以利用 Cloud KMS 產生的稽核記錄,偵測人類使用者解密值的時間。

如要找出使用者解密的記錄項目,請查看 Cloud KMS 寫入的稽核記錄項目。您想找出記錄項目,其中 Decrypt 方法是由非以 gserviceaccount.com 結尾的服務帳戶主體呼叫,表示服務帳戶。以下查詢可隔離這些記錄項目:

protoPayload.@type = "type.googleapis.com/google.cloud.audit.AuditLog"
protoPayload.serviceName = "cloudkms.googleapis.com"
protoPayload.methodName = "Decrypt"
protoPayload.authenticationInfo.principalEmail !~ "gserviceaccount.com$"

如要建立記錄型快訊政策,針對人為解密作業建立快訊,請在「Choose logs to include in the alert」(選擇要納入快訊的記錄) 窗格中使用這項查詢。

在 Monitoring 中管理記錄檔型快訊政策

您可以使用 Monitoring 的Google Cloud 主控台或 Monitoring API 查看、編輯及刪除以記錄為依據的快訊政策。本文件說明如何使用 Google Cloud 控制台管理快訊政策。如要瞭解如何使用 Monitoring API 管理快訊政策,請參閱「由 API 管理快訊政策」。

如要查看 Google Cloud 專案中的所有警示政策清單,請執行下列任一操作:

  • 如何從 Logging 導覽:

    1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

      前往「Logs Explorer」(記錄檔探索工具)

      如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

    2. 在「查詢結果」工具列中,展開「動作」選單,然後選取 「管理記錄快訊」

  • 如要從「監控」頁面前往:

    1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

      前往「Alerting」(快訊)

      如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

    2. 如要查看所有政策及啟用篩選功能,請在「政策」窗格中按一下「查看所有政策」

這兩項動作都會將您帶往「監控」頁面,其中列出 Google Cloud 專案中的所有警示政策。

如要限制列出的快訊政策,請新增篩選器。每個篩選條件都由名稱和值組成。舉例來說,您可以將值設為與政策名稱完全相符,或部分相符。比對作業不會區分大小寫。如果您指定多個篩選器,則系統會隱含地以邏輯 AND 合併篩選器,除非您插入 OR 篩選器。下列螢幕截圖列出已啟用且在 2021 年 1 月 1 日後建立的警示政策:

列出 2021 年 1 月 1 日後建立的已啟用警示政策。

您可以在「政策」頁面中編輯、刪除、複製、啟用或停用快訊政策:

  • 如要編輯或複製某項政策,請按一下 「更多選項」,然後選取所需選項。編輯和複製政策的程序與建立記錄型快訊政策類似,您可以變更,有時甚至還可刪除欄位中的值。完成後,按一下「儲存」

    您也可以在政策清單中按一下記錄檔快訊政策的名稱,進行編輯。

  • 如要刪除政策,請按一下「更多選項」圖示 ,然後選取「刪除」。在確認對話方塊中選取「刪除」

  • 如要啟用或停用警告政策,請按一下「已啟用」標題下方的切換按鈕。

使用 Monitoring API 建立記錄型快訊政策

您可以使用 Monitoring API 建立記錄型快訊政策。您向 Monitoring API 提供的資訊,與在 Google Cloud 控制台使用記錄檔檢視器時提供的資訊相同:

  • 警示政策的詳細資料,例如名稱和嚴重程度。
  • 您要接收通知的記錄檔。
  • 通知之間的時間間隔。
  • 事件自動關閉的時間。
  • 通知對象。

如要使用 Monitoring API 建立快訊政策,請建立 AlertPolicy 物件,並提交至 alertPolicies.create 方法。

您必須先啟用 Monitoring API,並取得使用授權,才能使用該 API。詳情請參閱下列說明文件:

快訊政策的結構

Monitoring API 會使用 AlertPolicy 結構體代表快訊政策。AlertPolicy 結構包含多個嵌入式結構,包括快訊政策條件的說明。以記錄為準的快訊政策與以指標為準的快訊政策有以下差異:

  • 您可以使用 LogMatch 限制條件類型來說明限制條件。以指標為準的快訊政策會使用不同的條件類型。
  • 記錄型快訊政策只能設有一個條件。
  • 您可以透過加入 AlertStrategy 結構,指定通知和自動事件關閉期間之間的時間。以指標為準的快訊政策不包含通知間隔時間。

本節說明如何建立以記錄為依據的快訊政策。這些政策與以指標為準的快訊政策不同,因為您使用的條件類型不同。對於記錄檔型警告政策,條件類型為 LogMatch。使用 Monitoring API 管理快訊政策時,列出、編輯或刪除指標和記錄政策的方式並無差異。「透過 API 管理快訊政策」一文說明如何使用 Monitoring API 建立、列出、編輯及刪除快訊政策。

通知規則

建立記錄型快訊政策時,Logging 會建立名為通知規則的內部物件。記錄功能會使用通知規則,將傳入的記錄項目與警告政策的篩選器比對,然後在項目符合篩選器條件時建立通知。您不會直接與通知規則互動。不過,您必須具備 logging.notificationRules.create 權限,才能建立記錄型警報政策。

設計快訊政策

使用 Logs Explorer 建立記錄型快訊政策」一節說明瞭建立記錄型快訊政策的一種方法。該部分說明如何建立以記錄為基礎的快訊政策,當 syslog 記錄項目的嚴重性層級為 NOTICE,且 jsonPayload.result 欄位中含有無效的 IPv4 位址時,系統會通知您。

如要使用 Monitoring API 建立相同的以記錄為基礎的快訊政策,請建立 AlertPolicy 物件,其 JSON 結構如下所示:

{
  "displayName": "Network address: invalid IPv4 value (API)",
  "documentation": {
    "content": "Log-based alerting policy in project ${project} detected an invalid IPv4 value.",
    "mimeType": "text/markdown"
  },

  "conditions": [
    {
      "displayName": "Log match condition: invalid IP addr (API)",
      "conditionMatchedLog": {
        "filter": "log_id(\"syslog\") severity = \"NOTICE\" jsonPayload.result !~ \"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4}$\"",
      },
    }
  ],
  "combiner": "OR",

  "alertStrategy": {
    "notificationRateLimit": {
      "period": "300s"
    },
    "autoClose": "604800s",
  },

  "notificationChannels": [
    "projects/PROJECT_ID/notificationChannels/CHANNEL_ID"
  ]
}

這個 JSON 程式碼會指定您使用 Logs Explorer 建立以記錄為基礎的快訊政策時指定的相同資訊。以下各節會將此 AlertPolicy 結構的內容對應至使用 Logs Explorer 建立以記錄為基礎的快訊時,您必須遵循的步驟。conditionMatchedLog 欄位的值為 LogMatch 結構體。

提供名稱和說明文件

警示政策包含顯示名稱和相關文件,可與通知一併提供,協助回應人員。在「Logs Explorer」中,這些欄位分別稱為「Alert Name」和「Documentation」。您可以在 AlertPolicy 結構中以以下方式表示這些值:

{
  "displayName": "Network address: invalid IPv4 value (API)",
  "documentation": {
    "content": "Log-based alerting policy in project ${project} detected an invalid IPv4 value.",
    "mimeType": "text/markdown"
  },
  ...
}

在本例中,displayName 的值包含「(API)」,因此您在 Google Cloud 控制台查看政策清單時,可以區分兩個示例政策。「監控」政策頁面會依顯示名稱列出政策,並指出政策是根據指標還是記錄。詳情請參閱「在 Monitoring 中管理以記錄為基礎的快訊政策」。

documentation 欄位會在 content 子欄位中,提供您在使用「記錄檔探索器」時可能提供的說明。指定 documentation 欄位的值時,必須使用第二個子欄位 mimeType。唯一有效的值為 "text/markdown"

選擇要接收通知的記錄檔

記錄型快訊政策只有一個條件。在 Logs Explorer 中,您可以在「Define log entries to alert on」欄位中提供查詢,以指定條件。您可以在 AlertPolicy 結構中以以下方式表示這些值:

{ ...
  "conditions": [
    {
      "displayName": "Log match condition: invalid IP addr (API)",
      "conditionMatchedLog": {
        "filter": "log_id(\"syslog\" severity = \"NOTICE\" jsonPayload.result !~ \"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4}$\"",
      },
    }
  ],
  "combiner": "OR",
  ...
}

conditions 欄位會取得 Condition 結構體的清單,但以記錄為基礎的快訊政策必須只有一個條件。每個 Condition 都有條件的顯示名稱和說明。

  • displayName 欄位的值是條件的簡短說明。使用 Logs Explorer 建立以記錄為基礎的警示政策時,顯示名稱一律為「記錄相符條件」。使用 Monitoring API 時,您可以提供更精確的顯示名稱。必須提供值。

  • conditionMatchedLog 欄位的值是 LogMatch 結構,而 filter 欄位的值則是您在 Logs Explorer 中指定的查詢。由於這項查詢是以 JSON 欄位的值提供,因此整個查詢會以引號顯示,且查詢中的任何引號都必須使用 \ (反斜線) 字元逸出。

  • LogMatch 結構體也包含選用的 labelExtractors 欄位。您可以使用標籤擷取器,從記錄項目組合自訂標籤,然後在通知中參照這些標籤。

    舉例來說,如要從記錄項目中擷取標籤 labels."compute.googleapis.com/resource_id" 的值,並將其儲存至名為 vm_identifier 的標籤,前述條件可能會像這樣:

    "conditions": [
      {
        "displayName": "Log match condition: invalid IP addr (API)",
        "conditionMatchedLog": {
          "filter": "log_id(\"syslog\" severity = \"NOTICE\" jsonPayload.result !~ \"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4}$\")",
          "labelExtractors": {
            "vm_identifier": "EXTRACT(labels.\"compute.googleapis.com/resource_id\")"
          }
        },
      }
    ],
    

    使用 EXTRACT 函式比對整個值,或使用 REGEXP_EXTRACT 比對根據規則運算式產生的子字串。這些函式與在以記錄為基礎的指標中用於擷取標籤的函式相同。如需詳細資訊,請參閱「建立標籤」一文。

    您可以在警示政策的說明文件中使用這些擷取的標籤,以便在通知中回報。在警示政策的 documentation 欄位中,您可以使用 ${log.extracted_label.KEY} 形式的變數參照已擷取的標籤,其中 KEY 是您為已擷取的標籤指定的名稱。

    以下範例說明如何參照已擷取標籤 vm_identifier 的鍵,以便在通知中加入記錄標籤 labels."compute.googleapis.com/resource_id" 的值:

    "documentation": {
      "content": "Log-based alerting policy in project ${project} detected an
       invalid IPv4 value on VM with ID ${log.extracted_label.vm_identifier}.",
      "mimeType": "text/markdown"
    },
    

combiner 欄位的值會指定如何在以指標為準的快訊政策中合併多個條件的結果。您只能在以記錄為基礎的快訊政策中使用一個條件,且必須指定 combiner 欄位,並設為 "OR" 值。您無法建立含有多個條件的記錄型快訊政策。

設定通知和自動關閉值

記錄檔警告政策會指定通知之間的最短時間間隔。在 Logs Explorer 中,您可以從「Time between notifications」選單中選取值。您可以在 AlertPolicy 結構體中表示此值,方法是為 NotificationRateLimit 結構體的 period 欄位指定值 (以秒為單位),該結構體已嵌入 AlertStrategy 結構體中。

同樣地,快訊政策也包含自動關閉事件的時間長度。預設值為 7 天。在「Logs Explorer」中,您可以從「Incident autoclose duration」選單中選取其他值。這個選項對應至 AlertStrategy API 結構中的 autoclose 欄位。使用這個欄位時,請以秒為單位指定值。最小值為 1,800 秒,即 30 分鐘。

{ ...
  "alertStrategy": {
    "notificationRateLimit": {
      "period": "300s"
    },
    "autoClose": "604800s",
  },
  ...
}

在本例中,period 欄位的值 300s 等同於 5 分鐘。autoclose604800s 等同於 7 天。

指定通知對象

快訊政策可包含通知管道清單。在「Logs Explorer」中,您可以從選單中選取管道。您可以為已設定的 NotificationChannel 物件提供一或多個資源名稱清單,藉此在 AlertPolicy 結構中表示這些值:

{ ...
  "notificationChannels": [
    "projects/PROJECT_ID/notificationChannels/CHANNEL_ID"
  ]
}

建立通知管道時,系統會指派資源名稱。如要瞭解如何擷取可用通知管道清單 (包括資源名稱),請參閱監控說明文件中的「擷取管道」一節。您無法使用Google Cloud 主控台取得頻道 ID。

將快訊政策傳送至 Monitoring API

如要使用 Monitoring API 建立快訊政策,請建立 AlertPolicy 物件,並提交至 alertPolicies.create 方法。您可以使用 Google Cloud CLI 直接呼叫 Monitoring API,以便叫用 alertPolicies.create

您也可以使用 C#、Go、Java、Python 和 Ruby 的用戶端程式庫,建立以記錄為基礎的快訊政策。您也可以使用其他用戶端程式庫;您的語言程式庫必須包含 LogMatch 條件類型。

如要使用 gcloud CLI 建立快訊政策,請按照下列步驟操作:

  1. 將快訊政策的 JSON 表示法放入文字檔案,例如 alert-invalid-ip.json 檔案。

  2. 使用下列指令,將這個 JSON 檔案傳遞至 gcloud CLI:

    gcloud alpha monitoring policies create --policy-from-file="alert-invalid-ip.json"
    
  3. 如果成功,這項指令會傳回新政策的資源名稱,例如:

    Created alerting policy [projects/PROJECT_ID/alertPolicies/POLICY_ID].
    

如要直接呼叫 alertPolicies.create 來建立快訊政策,您可以使用 APIs Explorer 工具,步驟如下:

  1. 前往 alertPolicies.create 參考頁面。

  2. 在「Try this API」窗格中,執行下列操作:

    1. name 欄位中輸入下列值:

      projects/PROJECT_ID
      
    2. 複製警示政策的 JSON 表示法,然後將複製的警示政策取代 APIs Explorer 中「Request body」欄位內容。

    3. 按一下 [Execute] (執行)

      如果 alertPolicies.create 呼叫成功,您會收到 HTTP 200 回應代碼和空白回應主體 {}。如要進一步瞭解 API Explorer,請參閱監控說明文件中的「使用 API Explorer」。

如要進一步瞭解如何使用 Monitoring API 建立快訊政策,請參閱「建立政策」一文。該文件中的範例使用指標型快訊政策的條件類型,但原則相同。

測試警告政策

如要測試新的快訊政策,您可以使用「測試以記錄為依據的快訊範例」一文所述的相同程序。

範例:當記錄項目包含文字字串時建立快訊政策

本例使用 Google Cloud 控制台建立快訊政策、使用記錄檔探索器查看記錄項目,以及使用 Google Cloud CLI 寫入記錄檔:

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

    前往「Logs Explorer」(記錄檔探索工具)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 更新 PROJECT_ID 的值後,在「Query」窗格中輸入下列查詢:

    logName="projects/PROJECT_ID/logs/test-log"
    textPayload:"Oops"
    

    這項查詢會搜尋名稱為 test-log 的記錄,找出包含「Oops」字串的 textPayload 欄位。

  3. 在「Query results」工具列中,展開「Actions」選單,然後選取 「Create log alert」。然後完成對話方塊。

    您必須輸入政策名稱,例如 Alert on Oops。您在上一個步驟中輸入的查詢會自動納入警示政策。

  4. 如要測試快訊政策,請開啟 Cloud Shell,然後執行下列指令:

    gcloud logging write test-log --severity=ERROR --payload-type=text 'This log entry contains Oops'
    

    上述指令會將項目寫入名為 test-log 的記錄。這個項目的嚴重性等級為 ERROR,並包含 textPayload 欄位。

  5. 在記錄檔探索工具中,按一下「執行查詢」

    畫面重新整理後,您可以查看先前步驟中所寫入的記錄項目詳細資料。

  6. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

    「Incidents」窗格會顯示事件和快訊政策的詳細資料。

    如果您在開啟「Alerting」頁面時沒有看到事件,請稍候幾分鐘再重新整理頁面。

如果您立即重複執行 Google Cloud CLI 指令,就不會再看到其他事件或收到其他通知。快訊政策設定會指定事件之間的最短時間間隔。您可以編輯政策來查看及變更這些設定。