適用方法
WhaTapは、データベースのログモニタリングを提供します。 サーバーインストール型データベースと、クラウドサービスであるAWS RDSのログを収集できます。 これにより、WhaTapのログモニタリング機能であるログTail、ログトレンドメニューからデータベースの散在したログをひと目で確認できます。
ログモニタリングを適用した後、各メニューのカテゴリ項目とログ一覧からインストール型DBは#DB
、AWS RDSは#RDS_LOG
および#RDS_EVENT
と表示されます。
サーバーインストール型DBに適用する
サーバーに設置されたデータベースのログをモニタリングするには、WhaTapの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のモニタリング向けに様々な情報を提供しますが、これらの情報を確認するにはAWSコンソールから直接アクセスする必要があります。 しかし、WhaTapのAWS RDS LogはデータベースモニタリングのログメニューからRDSのログとイベントを提供します。
WhaTapのAWS RDS LogはAWS 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": "*"
}
]
}
インストールと設定
-
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が予約された同時性を使用したときに、同時に実行できる最大インスタンスの数です。
-
-
ログモニタリングの詳細設定のために、次のリンクへ移動してください。
AWS CloudFormation Setting -
パラメータセクションで以下の項目を順番に入力してください。
-
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からインストールされているリソースを確認します。
-
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
-
-
フィルターとルールを確認する
-
WS CloudWatchLogGroup
SubscriptionFilter(1~9): RDSの CloudWatch LogGroupに Logが入ってくるとWhatapRDSLogを実行させるフィルター
-
AWS EventBridge
Rule: AWSイベントで、RDSと関連したイベントが発生するとWhatapRDSLogを実行させるルール
ログモニタリングを開始する
すべての設定を完了した後、ログ > ログ設定メニューにアクセスし、ログモニタリングを活性化します。