0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】CloudWatchのログをKinesisで抽出してS3に保存する【ログ抽出】

Last updated at Posted at 2023-10-23

初めに

AWSのサービスを使用したログはCloudWatchLogsに集約することができるが、そのログの中で特定のパターンのログを抽出してS3に保存したい場面がある。
今回の記事ではCloudWatchLogsのログをKinesisDataFitehoseで抽出/変換してS3にファイル出力する構成を記事にした。

使うAWSサービス

・Amazon CloudWatch
・Amazon Kinesis Data Firehose
・AWS Lambda
・Amazon S3

実現方法

アーキテクチャ

CW→Kinesis→S3.png

①Lambda関数の作成


・使用用途に応じたLambda関数を作成する

②KinesisDataFirehoseの設定

<KinesisDataFirehose配信ストリームを作成する>

「ソースと送信先を選択」

・以下の設定を行う
ソース:DirectPUT
送信先:Amazon S3
Kinesis設定1.PNG

「レコードを変換及び転換」

・以下の設定を行う
データ変換をオンにする:チャックボックスを有効化
AWS Lambda関数:①で作成したLambda関数を指定する
Kinesis設定2.PNG

「送信先の設定」

・以下の設定を行う
S3バケット:抽出/変換結果を保存するS3バケットを指定する
S3バケットプレフィックス(オプション):プレフィックスの指定がある場合や、年月日単位でプレフィックスを分けたいなどの場合は入力する
Kinesis設定3.PNG
Kinesis設定4.PNG

③CloudWatchの設定

<サブスクリプションフィルターを作成する>

「ロググループ」

・以下の順に選択してサブスクリプションフィルターを作成する画面を表示する
ロググループ > サブスクリプションフィルター > KinesisFirehoseサブスクリプションフィルターを作成
CloudWatchLog設定1.PNG

「Kinesis Firehose配信ストリームを選択」

・②で設定したKinesis Firehoseストリームを選択する
CloudWatchLog設定2.PNG

最後に一言

CloudWatchのログを確認する際にどうしても目的のもの以外のログが多く、なかなか目的のログが発見できないことがある。その対策のためにあらかじめKinesis経由で目的の内容だけ抽出した結果をS3に残しておけば例えば障害発生時の調査などで利用できるのではないかと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?