使用 Amazon 監控 Oracle GoldenGate 日誌 CloudWatch - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon 監控 Oracle GoldenGate 日誌 CloudWatch

由 Chithra Krishnamurthy 建立 (AWS)

環境:生產

技術:資料庫

工作負載:Oracle

AWS 服務:Amazon CloudWatch;Amazon SNS

Summary

Oracle GoldenGate 會在 Amazon Relational Database Service (Amazon RDS) 之間為 Oracle 資料庫提供即時複寫,或在 Amazon Elastic Compute Cloud (Amazon ) 上託管的 Oracle 資料庫之間提供即時複寫EC2。它支援單向和雙向複寫。

當您使用 GoldenGate 進行複寫時,監控對於驗證 GoldenGate 程序是否啟動和執行至關重要,以確保來源和目標資料庫處於同步狀態。

此模式說明實作 Amazon CloudWatch 監控 GoldenGate 錯誤日誌的步驟,以及如何設定警示來傳送特定事件的通知,例如 STOPABEND,以便您可以採取適當動作快速恢復複寫。

先決條件和限制

先決條件

  • GoldenGate 在EC2執行個體上安裝和設定,因此您可以設定這些EC2執行個體的 CloudWatch 監控。如果您想要監控 GoldenGate 跨AWS區域進行雙向複寫,您必須在執行 GoldenGate 程序的每個EC2執行個體中安裝 CloudWatch 代理程式。

限制

  • 此模式說明如何在複寫期間使用 CloudWatch. CloudWatch doesn 監控複寫延遲或資料同步問題來監控 GoldenGate 程序。您必須執行個別SQL查詢,以監控複寫延遲或資料相關錯誤,如 GoldenGate 文件 所述。

產品版本

  • 本文件是以在 Linux x86-64 上執行 Oracle GoldenGate 19.1.0.0.4 for Oracle 為基礎。不過,此解決方案適用於所有主要版本的 GoldenGate。

架構

目標技術堆疊

  • GoldenGate 安裝在EC2執行個體上的 Oracle 二進位檔

  • Amazon CloudWatch

  • Amazon Simple Notification Service (Amazon SNS)

目標架構

用於監控 GoldenGate 日誌的目標架構 AWS

工具

AWS 服務

  • Amazon CloudWatch 是一種監控服務,用於此模式以監控 GoldenGate 錯誤日誌。

  • Amazon SNS 是一種訊息通知服務,用於此模式以傳送電子郵件通知。

其他工具

  • Oracle GoldenGate 是一種資料複寫工具,可用於 Amazon RDS for Oracle 資料庫或託管在 Amazon 上的 Oracle 資料庫EC2。

高階實作步驟

  1. 為 CloudWatch 客服人員建立 AWS Identity and Access Management (IAM) 角色。

  2. 將IAM角色連接至產生 GoldenGate 錯誤日誌的EC2執行個體。

  3. 在EC2執行個體上安裝 CloudWatch 代理程式。

  4. 設定 CloudWatch 代理程式組態檔案: awscli.confawslogs.conf

  5. 啟動 CloudWatch 代理程式。

  6. 在日誌群組中建立指標篩選條件。

  7. 設定 Amazon SNS。

  8. 建立指標篩選條件的警示。當這些篩選條件擷取事件時,Amazon SNS會傳送電子郵件提醒。

如需詳細說明,請參閱下一節。

史詩

任務描述所需的技能

建立IAM角色。

存取 AWS 資源需要許可,因此您可以建立IAM角色以包含執行 CloudWatch 代理程式所需的每個伺服器許可。

若要建立IAM角色:

  1. 登入 AWS 管理主控台,並在 開啟IAM主控台https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)

  3. 針對信任的實體類型 ,選擇AWS服務

  4. 對於常見使用案例 ,選擇 EC2,然後選擇下一步

  5. 在政策清單中,選取 旁的核取方塊CloudWatchAgentServerPolicy。如有需要,請使用搜尋方塊來尋找政策。

  6. 選擇 Next (下一步)

  7. 對於 Role name (角色名稱),輸入新角色的名稱,例如 goldengate-cw-monitoring-role 或另一個您喜好的名稱。

  8. (選用) 針對 Role description (角色描述),輸入描述。

  9. 確認 CloudWatchAgentServerPolicy出現在政策名稱 下。

  10. (選用) 新增一或多個標籤 (鍵值對) 來組織、追蹤或控制此角色的存取,然後選擇建立角色

AWS 一般
任務描述所需的技能

將IAM角色連接至產生 GoldenGate 錯誤日誌的EC2執行個體。

產生的錯誤日誌 GoldenGate 必須填入 CloudWatch 並監控,因此您需要將您在步驟 1 中建立IAM的角色連接到正在執行 GoldenGate 的EC2執行個體。

若要將IAM角色連接至執行個體:

  1. 在 開啟 Amazon EC2主控台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇執行個體 ,然後尋找 GoldenGate 正在執行的執行個體。

  3. 選取執行個體,然後選擇動作 安全性 修改IAM角色

  4. 選取要連接至執行個體的第一個步驟中建立IAM的角色,然後選擇儲存

AWS 一般
任務描述所需的技能

在執行個體上安裝 CloudWatch GoldenGate EC2代理程式。

若要安裝代理程式,請執行 命令:

sudo yum install -y awslogs
AWS 一般

編輯客服人員組態檔案。

  1. 執行下列命令。

    sudo su -
  2. 編輯此檔案以視需要更新AWS區域。

    cat /etc/awslogs/conf [plugins] cwlogs = cwlogs [default] region = us-east-1
  3. 編輯 /etc/awslogs/awslogs.conf 檔案以更新檔案名稱、日誌群組名稱和日期/時間格式。您必須指定日期/時間以符合 中的日期格式ggserror.log;否則,日誌串流不會流入 CloudWatch。例如:

    datetime_format = %Y-%m-%dT%H:%M:%S%z file = /u03/oracle/oragg/ggserr.log log_group_name = goldengate_monitor
AWS 一般

啟動 CloudWatch 代理程式。

若要啟動代理程式,請使用下列命令。

$ sudo service awslogsd start

啟動客服人員後,您可以在 CloudWatch 主控台中檢視日誌群組。日誌串流將包含 檔案的內容。

AWS 一般
任務描述所需的技能

建立關鍵字 ABEND和 的指標篩選條件STOPPED。

當您為日誌群組建立指標篩選條件時,只要在錯誤日誌中識別篩選條件,就會啟動警示,並根據 Amazon SNS組態傳送電子郵件通知。

若要建立指標篩選條件:

  1. 在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 選擇日誌群組的名稱。

  3. 選擇 Actions (動作),然後選擇 Create metric filter (建立指標篩選條件)。

  4. 針對篩選條件模式 ,指定模式,例如 ABEND

  5. 選擇 Next (下一步),然後輸入指標篩選條件的名稱。

  6. 指標詳細資訊 下,針對指標命名空間 ,輸入要發佈指標之 CloudWatch 命名空間的名稱。如果命名空間不存在,請務必選取 Create new (新建)。

  7. 對於指標值 ,請輸入 1,因為您的指標篩選條件正在計算篩選條件中關鍵字的發生次數。

  8. 單位 設定為

  9. 選擇 Create metric filter (建立指標篩選條件)。可以從導覽窗格中找到您建立的指標篩選條件。

  10. STOPPED模式建立另一個指標篩選條件。在一個日誌群組中,您可以建立多個指標篩選條件,並個別設定警示。

CloudWatch
任務描述所需的技能

建立 SNS 主題。

在此步驟中,您可以設定 Amazon SNS為指標篩選條件建立警示。

若要建立SNS主題:

  1. 在家登入 Amazon https://console.aws.amazon.com/sns/SNS主控台。

  2. 建立主題方塊中,輸入主題名稱,例如 goldengate-alert,然後選擇下一步

  3. 針對類型,選擇標準

  4. 捲動到表單結尾,然後選擇 Create topic (建立主題)。主控台會開啟新主題的 Details (詳細資料) 頁面。

Amazon SNS

建立訂閱。

若要建立主題的訂閱:

  1. 在左導覽窗格中,選擇訂閱

  2. 訂閱頁面,選擇建立訂閱

  3. 建立訂閱頁面上,選擇主題ARN欄位以查看AWS您帳戶中的主題清單。

  4. 選擇您在之前步驟所建立的主題。

  5. 對於 Protocol (通訊協定),選擇 Email (電子郵件)。

  6. 針對 Endpoint (端點),請輸入可用於接收通知的電子郵件地址。

  7. 選擇建立訂閱 。
主控台會開啟新訂閱的詳細資訊頁面。

  8. 檢查您的電子郵件收件匣是否有來自 AWS Notifications 的訊息,然後在電子郵件中選擇確認訂閱

Amazon 會SNS開啟您的 Web 瀏覽器,並顯示包含訂閱 ID 的訂閱確認。

Amazon SNS
任務描述所需的技能

為SNS主題建立警示。

若要根據日誌群組指標篩選條件建立警示:

  1. 在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中,選擇 Logs (日誌),然後選擇 Log groups (日誌群組)。

  3. 選擇包含指標篩選條件的日誌群組。

  4. 選擇 Metric filters (指標篩選條件)。

  5. 指標篩選條件索引標籤中,選取您要作為警示基礎之指標篩選條件的核取方塊。

  6. 選擇 Create alarm (建立警示)。

  7. 對於條件 ,請在每個區段中指定下列項目:

    • 對於閾值類型,選擇靜態

    • 對於每當 <metric-name> 是 . . .,請選擇更大的

    • 對於超過 . . .,請指定 0

  8. 選擇 Next (下一步)

  9. 通知下

    • 針對 Alarm state trigger (警示狀態觸發),選擇 In Alarm (警示中)。

    • 針對將通知傳送至下列SNS主題 ,選擇選取現有主題

    • 在電子郵件方塊中,選取您在上一個步驟中建立的 Amazon SNS主題。

  10. 選擇 Next (下一步)

  11. Name and description (名稱和描述) 中,輸入警示的名稱和描述。

    注意:對於描述,您可以指定執行個體名稱,以便通知電子郵件具有描述性。

  12. 對於預覽和建立 ,請檢查您的組態是否正確,然後選擇建立警示

完成這些步驟後,只要在您監控的 GoldenGate 錯誤日誌檔案 (ggserr.log) 中偵測到這些模式,您就會收到電子郵件通知。

CloudWatch

故障診斷

問題解決方案

GoldenGate 錯誤日誌中的日誌串流不會流入 CloudWatch。

檢查/etc/awslogs/awslogs.conf檔案以確認檔案名稱、日誌群組名稱和日期/時間格式。您必須指定日期/時間,以符合 中的日期格式ggserror.log。否則,日誌串流不會流入 CloudWatch。

相關資源