您可以設定快訊政策,只要有特定訊息顯示在記錄檔中,您就會收到通知。舉例來說,如果您想知道稽核記錄何時記錄特定資料存取訊息,可以在該訊息出現時收到通知。這類快訊政策稱為「以記錄為準的快訊政策」。本文說明如何使用 Google Cloud 控制台和 Cloud Monitoring API 執行下列操作:
- 建立並測試記錄型快訊政策。
- 編輯記錄型快訊政策。
- 刪除記錄型快訊政策。
事前準備
-
Make sure that billing is enabled for your Google Cloud project.
請參閱這篇文章,瞭解如何比較警告功能,判斷記錄檔警告政策是否適合記錄檔中的資料。例如:
以記錄為準的快訊政策不會對排除的記錄採取行動。
您無法使用記錄檔快訊政策,從記錄檔衍生計數。 如要取得計數,請改用記錄指標。
如要建立及管理記錄警告政策,您的 Identity and Access Management 角色必須包含「記錄警告政策的權限」一文所述的權限。
使用記錄檔探索工具建立記錄型快訊政策
您可以透過 Google Cloud 控制台的「記錄檔探索工具」頁面,或使用 Monitoring API 建立記錄檔快訊政策。本節說明如何使用記錄檔探索工具建立記錄型快訊政策。如需 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 位址時,系統會通知您。
如要建立這項快訊政策,請按照下列指示操作:
-
前往 Google Cloud 控制台的「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
使用「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}$"
按一下「執行查詢」驗證查詢。
在「Query results」(查詢結果) 工具列中,展開「Actions」(動作) 選單,然後選取「Create log alert」(建立記錄檔快訊) add_alert。
在「快訊詳細資料」窗格中,執行下列操作:
在「Alert Policy Name」(快訊政策名稱) 欄位中輸入快訊政策的名稱。例如:「網路位址:IPv4 值無效」。
從「政策嚴重程度」選單中選取選項。事件和通知會顯示嚴重性等級。
選用:為快訊政策新增說明文件。您可以加入相關資訊,協助通知收件者診斷問題。以下字串會摘要說明通知原因:
Log-based alerting policy in project ${project} detected an invalid IPv4 value.
如要瞭解如何設定這個欄位的內容格式及自訂內容,請參閱「在文件範本中使用 Markdown 和變數」。
如要前往下一個步驟,請按「Next」(下一步)。
在「Choose logs to include in the alert」(選擇要包含在這則快訊中的記錄檔) 窗格中,執行下列操作:
輸入查詢或編輯現有查詢,篩選可用的記錄。 與查詢相符的記錄項目會觸發快訊政策。
如要驗證查詢,請按一下「預覽記錄」。
選用:擷取記錄標籤。您可以從記錄檔欄位建立標籤,顯示在快訊建立的任何事件和通知中。
在快訊政策的文件欄位中,您可以使用
${log.extracted_label.KEY}
形式的變數參照擷取的標籤,其中KEY
是您為擷取的標籤指定的名稱。
點選「下一步」。
選取通知時間間隔下限。這個值可讓您控制如果多次符合條件,會收到幾次監控服務的通知。以本例來說,請從選項中選取「5 分鐘」。
選用:選取事件自動關閉期限。預設情況下,事件自動關閉時間為 7 天。
點選「下一步」。
為快訊政策選取一或多個通知管道。 這個範例是以電子郵件通知管道為例。
如果您已設定電子郵件通知管道,可以從清單中選取該管道。如果沒有,請按一下「管理通知管道」,並新增電子郵件管道。如要瞭解如何建立通知管道,請參閱「建立及管理通知管道」。
按一下 [儲存]。
記錄式快訊政策現已準備就緒,可以進行測試。
測試記錄型快訊政策範例
如要測試您建立的快訊政策,可以手動撰寫符合查詢條件的記錄檔項目。如要撰寫記錄項目,請按照下列步驟操作:
將
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", }, }, }, ], }
前往
logEntries.write
參考資料頁面,或按一下以下按鈕:複製先前設定的記錄項目。
在「Try this API」(試用這個 API) 窗格中,執行下列操作:
在 API Explorer 中,將「Request body」(要求主體) 欄位的內容,換成您在上個步驟複製的記錄檔項目。
按一下 [Execute] (執行)。如果系統出現提示,請按照驗證流程操作。
如果
logEntries.write
呼叫成功,您會收到 HTTP200
回應代碼和空白的回應主體{}
。如要進一步瞭解 APIs Explorer,請參閱 Monitoring 說明文件中的「使用 APIs Explorer」一文。APIs Explorer 的運作方式與 Logging API 相同。
記錄項目符合快訊政策指定的篩選條件,方式如下:
logName
值會指定您Google Cloud 專案中的syslog
記錄。- 這個記錄項目的
severity
值為NOTICE
。 jsonPayload.result
值不是有效的 IPv4 位址。
寫入記錄項目後,會發生下列情況:
- 記錄檔探索工具中會顯示新的記錄項目。記錄項目符合快訊政策的條件。
- 系統會在 Cloud Monitoring 中開啟事件。
系統會發送事件通知給您。如果您設定了電子郵件通知管道,通知內容會類似於以下螢幕截圖:
您可以點選電子郵件中的「查看事件」,在 Cloud Monitoring 中查看事件。如要進一步瞭解事件,請參閱「管理記錄檔型快訊政策的事件」。
其他情境:稽核記錄快訊
「建立記錄型快訊政策」一節中的範例是人為建立,您通常不會建立快訊政策,然後手動撰寫符合快訊政策條件的記錄項目。記錄項目通常是由應用程式或其他服務寫入。 但記錄項目的來源並不重要;對於以記錄為基礎的快訊政策,重要的是您用來選取記錄項目的查詢。
以下各節將說明根據稽核記錄內容,建立記錄型快訊政策的實際情境。每個情境都會說明如何建立查詢,選取適當的稽核記錄項目。否則,建立記錄型快訊政策的程序與「建立記錄型快訊」一文所述相同。
監控密鑰人工存取動作的快訊政策
假設專案將密鑰儲存在 Secret Manager 中,而其中部分密鑰僅供服務帳戶使用。除非在特殊情況下,否則人類使用者絕不會存取這些密碼。
如果您已啟用 Secret Manager 的稽核記錄,每次成功存取密碼都會產生稽核記錄項目。每個項目都包含密鑰名稱和呼叫端的 ID。
您可以建立記錄型快訊政策,在人類使用者存取密鑰時收到通知。
以下是 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$"
如要建立記錄型快訊政策,監控人員存取密鑰的行為,請在「選擇要包含在這則快訊中的記錄檔」窗格中使用這項查詢。
監控解密事件的快訊政策
上述範例中的分析可套用至其他服務。舉例來說,如果您使用 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$"
如要為使用者執行的解密作業建立記錄型快訊政策,請在「選擇要包含在快訊中的記錄」窗格中使用這項查詢。
在 Monitoring 中管理記錄檔型快訊政策
您可以使用 Monitoring 的Google Cloud 控制台或 Monitoring API,查看、編輯及刪除以記錄為準的快訊政策。本文說明如何使用 Google Cloud 控制台管理快訊政策。如要瞭解如何使用 Monitoring API 管理快訊政策,請參閱「由 API 管理快訊政策」一文。
如要查看 Google Cloud 專案中的所有快訊政策清單,請執行下列其中一項操作:
如要從 Logging 導覽:
-
前往 Google Cloud 控制台的「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在「Query results」(查詢結果) 工具列中,展開「Actions」(動作) 選單,然後選取「Manage log alerts」(管理記錄快訊) edit。
-
如要從「監控」頁面導覽:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
如要查看所有政策及啟用篩選功能,請在「政策」窗格中,按一下「查看所有政策」。
-
這兩項動作都會將您帶往「監控」政策頁面,其中列出專案中的所有警告政策。 Google Cloud
如要限制列出的快訊政策,請新增篩選器。
每個篩選條件都包含名稱和值。舉例來說,您可以將值設為與政策名稱完全相符,或部分相符。比對作業不會區分大小寫。
如果您指定多個篩選器,系統會以邏輯 AND
隱含地合併篩選器,除非您插入 OR
篩選器。以下螢幕截圖列出已啟用且在 2021 年 1 月 1 日後建立的快訊政策:
您可以在「政策」頁面編輯、刪除、複製、啟用或停用快訊政策:
如要編輯或複製某項政策,請按一下「更多選項」more_vert,然後選取所需選項。編輯和複製政策與「建立記錄型快訊政策」一文所述的程序類似,您可以變更,有時甚至還可刪除欄位中的值。完成後,按一下「儲存」。
如要編輯記錄檔快訊政策,請在政策清單中按一下政策名稱。
如要刪除政策,請按一下「更多選項」圖示 more_vert,然後選取「刪除」。在確認對話方塊中選取「刪除」。
如要啟用或停用快訊政策,請按一下「已啟用」標題下方的切換鈕。
使用 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
權限,才能建立記錄型快訊政策。
設計快訊政策
「使用記錄檔探索工具建立記錄型快訊政策」一節說明如何建立記錄型快訊政策。該節說明如何建立記錄檔快訊政策,在 syslog
記錄檔項目含有 NOTICE
嚴重程度層級,且 jsonPayload.result
欄位中的 IPv4 位址無效時通知您。
如要使用 Monitoring API 建立相同的記錄檔快訊政策,請建立類似下列 JSON 結構的 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" }, "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 程式碼指定的資訊,與您使用記錄檔探索工具建立以記錄為準的快訊政策時指定的資訊相同。以下各節會將這個 AlertPolicy
結構的內容,對應至您使用 Logs Explorer 建立以記錄為準的快訊時所採取的步驟。conditionMatchedLog
欄位的值為 LogMatch
結構。
提供名稱和說明文件
警報政策有顯示名稱和相關聯的文件,會隨通知一併提供,協助回應者處理警報。在記錄檔探索工具中,這些欄位稱為「快訊名稱」和「說明文件」。您可以在 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 中,您可以在「定義要發出快訊的記錄項目」欄位中提供查詢,指定條件。您可以在 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
欄位的值是條件的簡短說明。 使用記錄檔瀏覽器建立記錄檔快訊政策時,顯示名稱一律為「記錄檔比對條件」。使用 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"
。您無法建立包含多個條件的記錄型快訊政策。
設定通知和自動關閉值
記錄型快訊政策會指定通知時間間隔下限。在記錄檔探索器中,從「通知傳送間隔時間」選單中選取值。
您可以在 AlertPolicy
結構體中表示這個值,方法是在 AlertStrategy
結構體中嵌入的 NotificationRateLimit
結構體中,為 period
欄位指定值 (以秒為單位)。
同樣地,快訊政策會包含自動關閉事件的期限。預設值為 7 天。
在記錄檔總管中,您可以從「事件自動關閉時間長度」選單選取其他值。這個選項對應至 AlertStrategy
API 結構中的 autoclose
欄位。使用這個欄位時,請以秒為單位指定值。最小值為 1,800 秒或 30 分鐘。
{ ... "alertStrategy": { "notificationRateLimit": { "period": "300s" }, "autoClose": "604800s", }, ... }
在本例中,period
欄位的值 300s
等於 5 分鐘。autoclose
值 604800s
等於 7 天。
指定通知對象
快訊政策可以包含通知管道清單。
在記錄檔探索器中,您可以從選單選取管道。
您可以在 AlertPolicy
結構中表示這些值,方法是為已設定的 NotificationChannel
物件提供一或多個資源名稱清單:
{ ... "notificationChannels": [ "projects/PROJECT_ID/notificationChannels/CHANNEL_ID" ] }
建立通知管道時,系統會指派資源名稱。 如要瞭解如何擷取可用通知管道的清單 (包括資源名稱),請參閱 Monitoring 說明文件中的「擷取管道」。您無法使用Google Cloud 控制台取得頻道 ID。
將快訊政策傳送至 Monitoring API
如要使用 Monitoring API 建立快訊政策,請建立 AlertPolicy
物件,然後提交至 alertPolicies.create
方法。您可以透過 Google Cloud CLI 叫用 alertPolicies.create
,或直接呼叫 Monitoring API。
您也可以使用 C#、Go、Java、Python 和 Ruby 的用戶端程式庫,建立以記錄為準的快訊政策。您或許也能使用其他用戶端程式庫,但您語言的程式庫必須包含 LogMatch
條件類型。
如要使用 gcloud CLI 建立快訊政策,請執行下列操作:
將快訊政策的 JSON 表示法放入文字檔,例如名為
alert-invalid-ip.json
的檔案。使用下列指令將這個 JSON 檔案傳遞至 gcloud CLI:
gcloud alpha monitoring policies create --policy-from-file="alert-invalid-ip.json"
如果成功,這項指令會傳回新政策的資源名稱,例如:
Created alerting policy [projects/PROJECT_ID/alertPolicies/POLICY_ID].
如要直接呼叫 alertPolicies.create
建立快訊政策,請按照下列步驟使用 APIs Explorer 工具:
前往
alertPolicies.create
參考頁面。在「Try this API」(試用這個 API) 窗格中,執行下列操作:
在「
name
」欄位中輸入下列值:projects/PROJECT_ID
複製快訊政策的 JSON 表示法,然後將 APIs Explorer 中「要求主體」欄位的內容,替換為複製的快訊政策。
按一下 [Execute] (執行)。
如果
alertPolicies.create
呼叫成功,您會收到 HTTP200
回應代碼和空白的回應主體{}
。如要進一步瞭解 API Explorer,請參閱監控說明文件中的「使用 API Explorer」。
如要進一步瞭解如何使用 Monitoring API 建立快訊政策,請參閱建立政策。該文件中的範例使用指標型快訊政策的條件類型,但原則相同。
測試警告政策
如要測試新的快訊政策,請按照「測試以記錄為準的快訊範例」一節所述的相同程序操作。
範例:在記錄項目包含文字字串時建立快訊政策
這個範例使用 Google Cloud 控制台建立快訊政策、使用記錄檔探索工具查看記錄項目,並使用 Google Cloud CLI 寫入記錄項目:
-
前往 Google Cloud 控制台的「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在「Query」(查詢) 窗格中,更新 PROJECT_ID 的值後,輸入下列查詢:
logName="projects/PROJECT_ID/logs/test-log" textPayload:"Oops"
這項查詢會搜尋名為
test-log
的記錄,找出含有包含「Oops」字串的textPayload
欄位的記錄項目。在「Query results」(查詢結果) 工具列中,展開「Actions」(動作) 選單,然後選取「Create log alert」(建立記錄檔快訊) add_alert。然後填寫對話方塊。
您必須輸入政策名稱,例如
Alert on Oops
。您在上一個步驟中輸入的查詢,會自動納入警報政策。如要測試快訊政策,請開啟 Cloud Shell,然後執行下列指令:
gcloud logging write test-log --severity=ERROR --payload-type=text 'This log entry contains Oops'
上一個指令會將項目寫入名為
test-log
的記錄檔。項目嚴重程度為ERROR
,並包含textPayload
欄位。在記錄檔探索工具中,按一下「執行查詢」。
畫面重新整理後,您就可以查看在上一個步驟中寫入的記錄項目詳細資料。
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
「Incidents」(事件) 窗格會顯示事件和快訊政策的詳細資料。
如果開啟「快訊」頁面時沒有看到事件,請稍候幾分鐘再重新整理頁面。
如果您立即重複執行 Google Cloud CLI 指令,系統不會顯示其他事件或傳送其他通知。快訊政策設定會指定事件之間的最短時間間隔。如要查看及變更這些設定,請編輯政策。