跳至內容

如何接收符合 CloudWatch 篩選條件模式之 Amazon RDS for SQL Server 錯誤和代理程式日誌事件的 Amazon SNS 通知?

2 分的閱讀內容
0

我有一個執行 SQL Server 的 Amazon Relational Database Service (Amazon RDS) 資料庫執行個體。我想建立 Amazon CloudWatch 警示和 Amazon Simple Notification Service (Amazon SNS) 主題,以便接收特定事件的通知。例如,符合 CloudWatch 篩選條件模式的 SQL Server 錯誤和代理程式日誌事件。

簡短說明

首先,將 SQL Server 日誌發佈至 Amazon CloudWatch Logs。然後,針對符合您所建立之篩選條件模式的 SQL Server 資料庫日誌事件,建立 CloudWatch 警示和 Amazon SNS 通知。

將 Amazon RDS for SQL Server 日誌資料發佈至 CloudWatch 後,您可以建立指標篩選條件來搜尋和篩選日誌。指標篩選條件會定義將日誌資料傳送至 Amazon CloudWatch Logs 時,要在其中搜尋的詞彙和模式。接著,CloudWatch Logs 使用指標篩選條件,將日誌資料轉換為可設定警示的數值 CloudWatch 指標。

檢視這些指標或設定警示時,您可以使用任何類型的 CloudWatch 統計資料,例如百分位數統計資料。如需更多資訊,請參閱使用篩選條件從日誌事件建立指標

解決方法

您可以建立「Login failed for user」等篩選條件模式,以識別失敗的登入嘗試。或者,您可以為「I/O requests taking longer than 15 seconds to complete」建立篩選條件,以識別 I/O 瓶頸或磁碟瓶頸。

以下範例使用篩選條件搜尋並計算包含「Login failed for user」一詞的事件,以追蹤失敗的登入嘗試。

**注意:**根據預設,Amazon RDS 資料庫日誌不會發佈至 CloudWatch Logs。若要開始使用,請依照步驟將 SQL Server 日誌發佈至 Amazon CloudWatch Logs

  1. 開啟 Amazon Aurora and RDS console (Amazon Aurora 和 RDS 主控台),然後從導覽窗格中選擇 Databases (資料庫)。
  2. 選擇您要設定 CloudWatch 指標的資料庫執行個體名稱。
  3. Configuration (組態) 索引標籤中,選擇 CloudWatch Logs 下的 Error (錯誤)。這會在 CloudWatch 主控台中開啟 Logs (日誌) 窗格。如果您沒有看到 Published Logs (已發佈的日誌) 區段,請確定您已將 SQL Server 日誌發佈至 CloudWatch Logs
  4. CloudWatch console (CloudWatch 主控台) 的導覽窗格中,選擇 Log groups (日誌群組)。
  5. 選擇 RDS 資料庫執行個體的錯誤日誌,然後選擇 Create Metric Filter. (建立指標篩選條件)。
  6. Filter Pattern (篩選條件模式),輸入「Login failed for user.」等模式。
    **注意:**篩選條件模式中的所有項目皆區分大小寫。
  7. 您可以在同一頁面測試篩選條件模式。在 Select Log Data to Test (選取要測試的日誌資料) 區段下,選取您要用來測試篩選條件的日誌群組,然後選擇 Test Pattern (測試模式)。
  8. 您可以從 Results (結果) 區段查看日誌檔案中有多少結果符合篩選條件模式。您也可以選擇 Show test results (顯示測試結果) 以查看詳細資訊。
  9. 選擇 Assign Metric (指派指標)。
  10. 輸入 Filter name (篩選條件名稱) 和 Metric name (指標名稱)。
  11. 選擇 Show advanced metric settings (顯示進階指標設定),並確認 Metric Value (指標值) 設為 1。此值指定每當日誌事件包含「Login Failed for User」時,計數便增加 1。
  12. Default Value (預設值),輸入 0
  13. 選擇 Create Filter (建立篩選條件)。畫面會顯示 Create Alarm (建立警示) 按鈕。選擇 Create Alarm (建立警示)。
  14. Period (期間) 下拉式清單中,選取評估期間。預設期間為 5 分鐘。
  15. Conditions (條件) 區段中,選擇以下項目:
    Threshold type (閾值類型) - 靜態。
    Whenever test is (每當測試值為) - 大於 > 閾值。
    Than (高於) - 輸入 10。
  16. 展開 Additional configuration (其他組態) 區段。在 Datapoints to alarm (觸發警示的資料點),輸入必須處於警示狀態才會觸發警示的評估期間 (資料點) 數量。
  17. Missing data treatment (遺失資料處理方式) 中,選取 Treat missing data as missing (將遺失資料視為遺失)。
  18. 選擇 Next (下一步)。
  19. Notification (通知) 區段的 Select an SNS topic (選取 SNS 主題) 下,選取現有的 SNS 主題,或建立新主題以接收通知。
  20. 輸入您要用來接收通知的電子郵件端點。
  21. 選擇 Next (下一步)。
  22. 輸入 Alarm name (警示名稱) 和 Alarm description (警示描述),然後選擇 Next (下一步)。
  23. Preview and create (預覽和建立) 頁面中,檢閱 Metric (指標) 圖表和 Conditions (條件)。
  24. 選擇 Create alarm (建立警示)。

完成這些範例步驟後,警示狀態在最初幾分鐘會顯示為資料不足。警示取得足夠的資料後,狀態會顯示為正常。如果 5 分鐘內發生超過 10 次登入失敗,CloudWatch 警示會將 Amazon SNS 通知傳送至指定的電子郵件地址。

相關資訊

Amazon RDS 監控指標概觀