Amazon を使用して Oracle GoldenGate ログをモニタリングする CloudWatch - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon を使用して Oracle GoldenGate ログをモニタリングする CloudWatch

作成者:Chithra Krishnamurthy (AWS)

環境:本稼働

テクノロジー: データベース

ワークロード: Oracle

AWS サービス: Amazon CloudWatch、Amazon SNS

[概要]

Oracle GoldenGate は、Oracle データベース用の Amazon Relational Database Service (Amazon RDS) 間、または Amazon Elastic Compute Cloud (Amazon EC2) でホストされている Oracle データベース間でリアルタイムレプリケーションを提供します。一方向レプリケーションと双方向レプリケーションの両方をサポートしています。

レプリケーション GoldenGate に を使用する場合、ソースデータベースとターゲットデータベースが同期していることを確認するために、 GoldenGate プロセスが稼働していることを確認するためにモニタリングが不可欠です。

このパターンでは、 GoldenGate エラーログの Amazon CloudWatch モニタリングを実装する手順と、 STOPや などの特定のイベントの通知を送信するアラームを設定する方法について説明ABENDし、レプリケーションをすばやく再開するための適切なアクションを実行できるようにします。

前提条件と制限

前提条件

  • GoldenGate は EC2 インスタンスにインストールおよび設定されているため、これらの EC2 インスタンス CloudWatch のモニタリングを設定できます。AWS リージョン GoldenGate 間で双方向レプリケーションをモニタリングする場合は、 GoldenGate プロセスが実行されている各 EC2 インスタンスに CloudWatch エージェントをインストールする必要があります。

機能制限

  • このパターンでは、レプリケーション中のレプリケーションラグやデータ同期の問題を監視 CloudWatch しない CloudWatchを使用して GoldenGate プロセスをモニタリングする方法について説明します。GoldenGate ドキュメント で説明されているように、レプリケーションラグまたはデータ関連のエラーをモニタリングするには、個別の SQL クエリを実行する必要があります。

製品バージョン

  • このドキュメントは、Linux x86-64 での Oracle 用 Oracle GoldenGate 19.1.0.0.4 の実装に基づいています。ただし、このソリューションは のすべてのメジャーバージョンに適用されます GoldenGate。

アーキテクチャ

ターゲットテクノロジースタック

  • GoldenGate EC2 インスタンスにインストールされた Oracle のバイナリ

  • Amazon CloudWatch

  • Amazon Simple Notification Service (Amazon SNS)

ターゲット アーキテクチャ

AWS で GoldenGate ログをモニタリングするためのターゲットアーキテクチャ

ツール

AWS サービス

  • Amazon CloudWatch は、このパターンで GoldenGate エラーログをモニタリングするために使用されるモニタリングサービスです。

  • Amazon SNS は、このようなパターンでメール通知を送信するために使用されるメッセージ通知サービスです。

その他のツール

  • Oracle GoldenGate は、Amazon EC2 でホストされている Amazon RDS for Oracle データベースまたは Oracle データベースに使用できるデータレプリケーションツールです。

ハイレベルな実装ステップ

  1. CloudWatch エージェントの AWS Identity and Access Management (IAM) ロールを作成します。

  2. GoldenGate エラーログが生成される EC2 インスタンスに IAM ロールをアタッチします。

  3. EC2 インスタンスに CloudWatch エージェントをインストールします。

  4. CloudWatch エージェント設定ファイルを設定します: awscli.confおよび awslogs.conf

  5. CloudWatch エージェントを起動します。

  6. ロググループにメトリックスフィルタを作成します。

  7. Amazon SNS をセットアップします。

  8. 次に、メトリクスフィルターのアラームを作成します。Amazon SNS は、これらのフィルタがイベントをキャプチャするとメールアラートを送信します。

詳細な手順については、次のセクションを参照してください。

エピック

タスク説明必要なスキル

IAM ロールを作成します。

AWS リソースへのアクセスにはアクセス許可が必要なため、各サーバーが CloudWatch エージェントを実行するために必要なアクセス許可を含む IAM ロールを作成します。

IAM ロールを作成するには

  1. AWS マネジメントコンソールにサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで ロール を選択してから、ロールを作成する を選択します。

  3. [信頼できるエンティティタイプ] には、[AWS サービス] を選択します。

  4. [ユースケース] には [EC2] を選択し、[次へ] を選択します。

  5. ポリシーのリストで、 の横にあるチェックボックスをオンにしますCloudWatchAgentServerPolicy。必要に応じて、検索ボックスを使用してポリシーを見つけます。

  6. [次へ] をクリックします。

  7. [Role name] (ロール名) に、新しいロールの名前 (例えば goldengate-cw-monitoring-role または適宜の別の名前) を入力します。

  8. (オプション) [Role description] (ロールの説明) に、説明を入力します。

  9. ポリシー名 の下CloudWatchAgentServerPolicyに表示されることを確認します。

  10. (オプション) 1 つ以上のタグキーと値のペアを追加して、このロールのアクセスを整理、追跡、制御し、[ロールの作成] を選択します。

AWS 全般
タスク説明必要なスキル

GoldenGate エラーログが生成される EC2 インスタンスに IAM ロールをアタッチします。

によって生成されたエラーログは に入力 CloudWatch され、モニタリングされる GoldenGate 必要があるため、ステップ 1 で作成した IAM ロールを、 GoldenGate が実行されている EC2 インスタンスにアタッチする必要があります。

IAM ロールをインスタンスにアタッチするには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、インスタンス を選択し、 GoldenGate が実行されているインスタンスを見つけます。

  3. インスタンスを選択し、[アクション]、[セキュリティ]、[IAM ロールの変更] の順に選択します。

  4. インスタンスにアタッチする最初のステップで作成した IAM ロールを選択して、[保存] を選択します。

AWS 全般
タスク説明必要なスキル

GoldenGate EC2 インスタンスに CloudWatch エージェントをインストールします。

エージェントをインストールするには、以下のコマンドを実行します。

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. https://console.aws.amazon.com/cloudwatch/ で CloudWatch コンソールを開きます。

  2. ロググループの名前を選択します。

  3. [アクション]、[メトリクスフィルターの作成] の順に選択します。

  4. フィルタパターンには、ABEND などのパターンを指定します。

  5. [次へ] を選択し、メトリクスフィルターの名前を入力します。

  6. メトリクスの詳細 メトリクス名前空間 に、メトリクスが公開される CloudWatch 名前空間の名前を入力します。名前空間がまだ存在しない場合は、[新規作成] が選択されていることを確認します。

  7. メトリクスフィルターでフィルター内のキーワードの出現回数をカウントする場合は、[メトリクス値] に「1」と入力します。

  8. 単位をなしに設定します。

  9. [Create metric filter] (メトリクスフィルターの作成) を選択します。ナビゲーションペインから作成したメトリクスフィルターを見つけることができます。

  10. STOPPED パターン用のメトリクスフィルターをもう 1 つ作成します。1 つのロググループ内には、複数のメトリックスフィルターを作成し、アラームを個別に設定できます。

CloudWatch
タスク説明必要なスキル

SNS トピックを作成します。

このステップでは、Amazon SNS を設定して、メトリックスフィルタのアラームを作成します。

SNS トピックを作成するには

  1. https://console.aws.amazon.com/sns/home で Amazon SNS コンソールにサインインします。

  2. [トピックの作成] で、goldengate-alert などのトピック名を入力し、[次のステップ] を選択します。

  3. [Type (タイプ)] で、[Standard (標準)] を選択します。

  4. フォームの最下部までスクロールし、[トピックの作成] を選択します。コンソールに新しいトピックの [詳細] ページが表示されます。

Amazon SNS

サブスクリプションを作成します。

トピックのサブスクリプションを作成するには

  1. 左のナビゲーションペインで、[サブスクリプション] を選択します。

  2. [サブスクリプション] ページで [サブスクリプションの作成] を選択します。

  3. [サブスクリプションの作成] ページで、[トピック ARN] フィールドを選択し、AWS のトピックを一覧表示します。

  4. 上記のステップで作成したトピックを選択します。

  5. [プロトコル] で [E メール] を選択します。

  6. [エンドポイント] に、通知を受信するために使用できる E メールアドレスを入力します。

  7. [サブスクリプションの作成] を選択し、コンソールは新しいサブスクリプションの [詳細] ページを開きます。

  8. メールボックスに AWS 通知からのメッセージが届いているか確認し、E メール内の [サブスクリプションの確認] を選択します。

Amazon SNS がウェブブラウザを開き、サブスクリプション ID とともにサブスクリプションの確認を表示します。

Amazon SNS
タスク説明必要なスキル

SNS トピック用のアラームを作成します。

ロググループのメトリクスフィルターに基づいてアラームを作成するには

  1. https://console.aws.amazon.com/cloudwatch/ で CloudWatch コンソールを開きます。

  2. ナビゲーションペインで、[Logs] (ログ)、[Log groups] (ロググループ) の順に選択します。

  3. メトリクスフィルターを含むロググループを選択します。

  4. [Metric filters] (メトリクスフィルター) を選択します。

  5. メトリクスフィルタータブで、アラームのベースにするメトリクスフィルターのボックスを選択します。

  6. [アラームを作成] を選択します。

  7. 条件については、各セクションで以下のように指定します。

    • [Threshold type] で [静的] を選択します。

    • [Whenever <metric-name> is . . .] の場合は、[Greater] を選択します。

    • それなら。。 、0 を指定します。

  8. [次へ] をクリックします。

  9. 通知中

    • [Alarm state trigger] (アラーム状態トリガー) で、[In alarm] (アラーム状態) を選択します。

    • Send notification to (通知の宛先) に、既存の SNS トピックを選択します。

    • 電子メールボックスで、前のステップで作成した Amazon SNS トピックを選択します。

  10. [次へ] をクリックします。

  11. [名前と説明] にアラームの名前と説明を入力します。

    注:説明には、通知メールがわかりやすいようにインスタンス名を指定できます。

  12. [プレビューと作成] で、設定が正しいことを確認し、[アラームの作成] を選択します。

これらのステップの後、モニタリングしている GoldenGate エラーログファイル (ggserr.log) でこれらのパターンが検出されるたびに、E メール通知が送信されます。

CloudWatch

トラブルシューティング

問題ソリューション

GoldenGate エラーログからのログストリームは に流れません CloudWatch。

/etc/awslogs/awslogs.conf ファイルを確認して、ファイル名、ロググループ名、日付/時刻の形式を確認します。ggserror.log の日付形式と一致する日付/時刻を指定する必要があります。そうしないと、ログストリームは に流れません CloudWatch。

関連リソース