本文へスキップ

適用方法

WhaTapは、データベースのログモニタリングを提供します。 サーバーインストール型データベースと、クラウドサービスであるAWS RDSのログを収集できます。 これにより、WhaTapのログモニタリング機能であるログTailログトレンドメニューからデータベースの散在したログをひと目で確認できます。

Tips

ログモニタリングを適用した後、各メニューのカテゴリ項目とログ一覧からインストール型DBは#DB、AWS RDSは#RDS_LOGおよび#RDS_EVENTと表示されます。

カテゴリ

サーバーインストール型DBに適用する

サーバーに設置されたデータベースのログをモニタリングするには、WhaTapのxos.confファイルに次のオプションを適用します。

xos.conf
file=/opt/postgresql/logs/postgresql.log
file1=/opt/postgresql/data/logs/pg10/postgresql-Sun.log
file2=/opt/postgresql/data/logs/pg10/postgresql-Mon.log
file3=/opt/postgresql/data/logs/pg10/postgresql-Tue.log
ノート

適用する前に、XOSエージェントをインストールしてエージェント設定を行う必要があります。 詳細については、次の文書を参照してください。

AWS RDS Logに適用する

AWS RDS Logモニタリングのための構成

AWS RDS Log

AWSではRDSのモニタリング向けに様々な情報を提供しますが、これらの情報を確認するにはAWSコンソールから直接アクセスする必要があります。 しかし、WhaTapのAWS RDS LogはデータベースモニタリングのログメニューからRDSのログとイベントを提供します。

WhaTapのAWS RDS LogAWS CloudFormationを通じてインストールできます。 AWS CloudFormationについての詳細は次のリンクを参照してください。

権限確認

AWS CloudFormationを通じてWhaTapのAWS RDS Logをインストールするには、まず必要なIAM権限を確認してください。

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudformation:CreateStack",
"cloudformation:UpdateStack",
"cloudformation:DeleteStack",
"cloudformation:DescribeStacks",
"cloudformation:DescribeStackEvents",
"cloudformation:DescribeStackResource"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:PutBucketVersioning",
"s3:PutBucketPublicAccessBlock"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionCode",
"lambda:UpdateFunctionConfiguration",
"lambda:DeleteFunction",
"lambda:AddPermission"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:CreateRole",
"iam:GetRole",
"iam:AttachRolePolicy"
],
"Resource": "*"
}
]
}

インストールと設定

  1. WhaTapが提供するAWSCloudFormationテンプレートを通じてインストールできます。 次のリンクへ移動してから、パラメータセクションで以下の項目を入力してください。

    AWS CloudFormation Install
    • Host: WhaTap収集サーバーアドレス。WhaTapプロジェクトの管理 > エージェントインストールメニューで確認できます。 例) 13.124.11.223/13.209.172.35

    • MemorySize: WhaTapRDSLogのメモリサイズ。128MB ~ 10,240MB間の値を入力してください。

    • Pcode: WhaTapプロジェクトのプロジェクトコード。管理 > プロジェクト管理メニューでプロジェクトコード項目を確認してください。

    • ProjectAccessKey: WhaTapプロジェクトのアクセスキー。管理 > プロジェクト管理メニューでプロジェクトアクセスキー項目を確認してください。

    • TimeOut: インストールされるWhaTapRDSLogが実行時に最大に維持できる時間です。

    • UseReservedConcurrency: WhaTap RDSの予約された同時性の使用有無です。

    • ReservedConcurrency: WhaTap RDSが予約された同時性を使用したときに、同時に実行できる最大インスタンスの数です。

  2. ログモニタリングの詳細設定のために、次のリンクへ移動してください。

    AWS CloudFormation Setting
  3. パラメータセクションで以下の項目を順番に入力してください。

    • AwsRdsNames: イベントを受信したいRDS Cluster、Instanceの名前一覧

      • 例) database-1、seoul-pro-db-01、seoul-pro-db-01-writer …

      • EventRuleを生成しないためには、noneを入力してください。

    • RdsLogGroupName(1~9): ログを受信したいRDS CloudWatchLogGroup Name

      • 例) /aws/rds/seoul-pro-db-01

      • サブスクリプションフィルターを生成しない場合は、 none を入力します。

      ノート

      CloudWatchLogGroupは一度に最大9つまで接続できます。

    • WhaTapRDSLogArn: 前の段階で生成されたWhaTapRDSLogArn

      AWS CloudFormation output

生成リソースを確認する

AWS CloudFormationからインストールされているリソースを確認します。

AWS RDS Log

  • S3

    • Bucket:WhaTapAWS RDS Logの実行ファイルを保存するAWS S3 Bucket (CopyZips)
  • Lambda

    • Function

      • CopyZipsFunction:WhaTap AWS S3 Bucketからユーザーの環境に実行ファイルを移すAWS Lambda Function

      • WhaTapRDSLog:AWS RDSのモニタリングのためのAWS Lambda Function

    • Permission

      • CWPermission: RDS CloudWatchLogGroupにLogが生成される時、WhaTapRDSLogを実行できるようにするPermission

      • EventBridgePermission: RDS Eventが発生した場合、EventBridgeでWhaTapRDSLogを実行できるようにするPermission

    • Role

      • CopyZipsFuntionがWhaTapのS3からファイルをインポートし、CopyZipsに入れるために必要なRole

      • WhaTapRDSLogがCloudWatchLogGroupにLogを残すために必要なRole

フィルターとルールを確認する

AWS CloudFormation

  • WS CloudWatchLogGroup

    SubscriptionFilter(1~9): RDSの CloudWatch LogGroupに Logが入ってくるとWhatapRDSLogを実行させるフィルター

  • AWS EventBridge

    Rule: AWSイベントで、RDSと関連したイベントが発生するとWhatapRDSLogを実行させるルール

ログモニタリングを開始する

すべての設定を完了した後、ログ > ログ設定メニューにアクセスし、ログモニタリングを活性化します。

ログモニタリングを開始する