Sumo LogicにログをS3から取り込む方法
AWSのログをAWS内で集約や保管しようとした時に、S3にデータを保管しておくケースが非常に多いかと思います。今回は、AWSからのログ取り込みを行う際の一番ベーシックなS3からの取り込み方法についてご紹介いたします。
では早速見ていきましょう。
はじめに
Sumo Logicへのログ取り込みには2通りの方法があります。Sumo Logicではデータ収集を担う機能をコレクターと呼びます。ホストやインスタンスにインストールするタイプのエージェント型(Installed Collector)と今回ご紹介するS3(AWS環境であればCloud Watch、Microsoft 365の監査ログ、等々)のようなサービスについてはエージェントレス型(Hosted Collector)とがございます。
次に、取り込みたい対象となるログの種類毎に、ソースを定義して、そのソースをコレクターと紐付けることでログの収集が開始されます。ソースはログの種類に応じて、ログの場所やログにアクセスするためのクレデンシャル、ポーリングやログ取得条件など、様々な定義をするための設定となります。
手順
大きく以下のような手順で取り込み設定を行います。
- Sumo Logicで、Hosted Collectorを作成する
- Sumo Logicで、作成したコレクターにソースを追加する
- ソース設定中にAWS側のコンソールで権限の設定(IAMロール)
Sumo Logicでは、ユーザーの負担ができるだけ少なくなるように設定方法もシンプルに設計されています。わずかなステップでログの連携が可能ですね。
1. Sumo Logicで、Hosted Collectorの作成
サイドバーのManage DataのCollectionをクリック
Add Collector -> Hosted Collectorの順に選択
好きな名前でコレクターを設定します。タイムゾーンも設定しておきます。
2. Sumo Logicで、作成したコレクターにソースを追加
Sumo Logicコンソール
新規コレクター作成の場合、そのままソースを追加を選択するか、作成したコレクターの「Add source」をクリックします
「Amazon S3」を選びます。CloudTrailをS3に保存している場合は、「AWS CloudTrail」を選択します。
ソースの設定画面ではまず以下の項目を埋めます。
- Name: 好きな名前でOKです
- Backet Name: 取得したログが保存されているバケットを指定します
- Path Expression: 取得するバケット内のパスを指定します。(アスタリスクが使えます。パス内におけるアスタリスクは一度だけで、path/*.logのようにもかけます)
- Source Category: ログ検索時などでログを特定するためのメタデータを任意の値でつけます。「aws/prod/vpc」のように階層的な意味のある定義が推奨とされています。Sumoの本番利用の際には事前にこちらの名前設計をおすすめします。詳しくは下記のブログを参照ください
- Access Methodのところで「Generate role-based access template」をクリックします。そうすると、CloudFormationのYAMLテンプレートがダウンロードされますので、ここからAWSの管理コンソールに移って、SumoがあなたのAWS環境のS3ログにアクセスできるためのIAMロールの設定を行います。
AWSコンソール
- AWSコンソールのCloudFormationでダウンロードしたYAMLファイルを使って、先程指定したバケットに対してSumo LogicがGet APIを叩くためのIAMロールを作成します
-
CloudFormationの作成が完了したら、作成したStackのOutputなどから、作成されたIAMロールのARNを確認します
Sumo Logicコンソール
- ここまで設定したら、Sumo Logicのコンソールに戻って、先程作成したロールのARNを入力します。
-
他の詳細な設定が必要でなければ、後の設定はブランクでも構いません。設定を保存すれば、ログの収集が開始されます。(※設定保存時にエラーメッセージが表示され確定できない時は、誤りがあります。前の項目に戻って設定内容を確認してみましょう)
ログが取り込まれていることを確認する
Collectionのソースのところから、あるいは新しくLog Searchの画面を出して、ログが取り込まれていることを確認します。もし取り込まれていない場合、しばらく待ってから試してみてください。
まとめ
今回は、AWSからのログ取り込みの中でも最もベーシックなS3からの取り込みについてご紹介いたしました。まずはこれからSumo Logicを試してみようとされている方にぜひ本記事をご参考いただければと思います。