ECS環境からSumo Logicにログを送信する

2023.04.21

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ECS上で動いているアプリケーションのログをSumo Logicに送りたい時の送信パターンをまとめてみました。
ECS(Fargate)の場合を中心に、ECS(EC2)とのそれぞれで見ていきたいと思います。

ECS(Fargate)の場合

ECS (Fargate)の場合、firelensを使ったサイドカー方式でのログ送信になりますが、その中でもいくつかのアーキテクチャがありますが下記の2パターンが考えられます。

収集方法 実装方法 Sumo Logic Source
Firelens(Fluent Bit) サイドカーとしてFirelens(Fluent Bit)を設置 HTTP Logs and Metrics Source
Firelens(Fluent Bit) + S3 サイドカーとしてFirelens(Fluent Bit)を設置 S3 Source

Firelens(Fluent Bit)

1つ目はFluent BitからSumo LogicのHTTPエンドポイントへ直接ログを送信していくパターンです。

この設定手順についてはSumo Logicのドキュメントに記載されているのでこちらを参照して設定していくとよいでしょう。

HTTP Logs and Metrics Source

このドキュメントにも記載されている通り、アプリケーションのログの送信に加え、Fluent Bit自体の正常性を監視するため、CloudWatch Logsに一度入れた後、Kinesis Firehose経由でSumo Logicに取り込むログ送信設定を入れておくと安全です。

Kinesis Firehose Source

Firelens(Fluent Bit) + S3

2つ目はFluent BitからS3に一度保存して、Sumo Logicに取り込んでいくパターンです。AWS上でも長期保存用にS3に入れておきたい場合などに検討できそうです。

S3 Source

Fluent Bit自体のエラーログは先程と同じです。
Kinesis Firehose Source

Firelens(Fluent Bit)のログルーティングまわりの設定についてはこちらの記事にも紹介されているので参考にしてみてください。

ECS(EC2)の場合

ECS(EC2)の場合、主に下記の4パターンがあります。
Sumo LogicのSourceの設定方法については、リンク先の公式ドキュメントで確認できます。

収集方法 実装方法 Sumo Logic Source
Sumo Logic Docker Logging Driver Sumo Logic製のログドライバーを利用 HTTP Logs and Metrics Source
Firelens(Fluent Bit) 同じホスト上にFirelens(Fluent Bit)を設置(詳細はFargateの場合) HTTP Logs and Metrics Source
Installed Collector on Host EC2インスタンスにログエージェントをインストール Local File Source など
Installed Collector on sumologic Container sumologicコンテナを同じホスト上にデプロイ Docker Source / Syslog Source / Local File Source

おわりに

ECSのログを外部環境にプッシュしたい時のパターンについてまとめてみました。今回はSumo Logicを対象としてご紹介しましたが、その他のサードパーティーへの連携にてついても大体は同じ方法でログを送っていくことになるかと思います。
わたし自身も網羅的に確認することで良い整理になりました。