Sumo LogicのAWS Observabilityを使ってみた

2022.10.20

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

AWS Observabilityとは

AWS Observabilityとは、AWSのCloudWatchまたはSumo Logic Installed Collectorから収集されるメトリクスをSumo Logicに送って、統括的で階層的なダッシュボードとアラートを提供するSumo LogicのBuilt-inのAppになります。

展開方法

AWS Observabilityをインストールするには、AWS CloudFormationかTerraformを利用することができます。今回はAWS CloudFormationを使って、実際にやってみようと思います。

事前準備

AWS CloudFormationによる、Appのインストールをする前にSumo Logicのアクセスキーを発行しておく必要がありますので、設定しておきます。

Access IDとAccess Keyを控えておきます。

また、Sumo LogicのOrganization IDもCloudFormationの実行の時に必要となるので、確認しておきます。

AWS側では、Sumo Logicが提供しているCloudFormationのテンプレートを実行する必要があります。そのCloudFormationを実行するためのAWSロールを確認しておきます。

(必要なAWSロール)

Sumo LogicおよびAWSの権限設定が適切にされているかチェックするためのCloudFormationもあるので、事前にチェックすることが可能です。

確認用CloudFormationテンプレート

AWSのCloudFormationで実行して、確認していきます。

先程のAccess ID、Access Key、Organization IDを入力します。

残りの項目は特に入力の必要がないので、そのまま実行してチェックした結果にエラーがないことを確認しておきます。

CloudFormationを使ってAWS Observabilityをインストールする

事前の準備と確認ができましたので、展開用のCloudFormationテンプレートを実行していきます。

展開用CloudFormationテンプレート

各種パラメーターを入れていきます。※Sumo Logic側に既にAWSのソースを作成している場合や、AWSの各種ログの保存場所についてはご自身の環境で適宜入力する必要があります。今回はSumo Logicに特にAWS用のソース設定を入れていなかった場合を例に補足説明していきます。

(※また、CloudFormationテンプレートの実行にあたって、AWSリソースの作成が発生します。作成されるリソースについてはこちらのドキュメントを確認してください。)

  1. Sumo Logic Access Configuration (Required)
    • Sumo Logic Deployment Name: 使っているSumo Logicのリージョンを入力します。日本の場合は必ず「jp」を選択する必要があります。
    • Sumo Logic Access ID、Sumo Logic Access Key、Sumo Logic Organization id: 事前準備で確認していたものと同じものを入れます。
  2. AWS Account Alias
    • AWS Account Alias: AWSアカウントの任意のエイリアス名を入れます。
  3. Sumo Logic AWS Observability Apps and Alerts
    • Install AWS Observability Apps and Alerts: 最初の展開時にだけYesを選択します。
  4. Sumo Logic AWS CloudWatch Metrics Sources
    • Select the kind of CloudWatch Metrics Sources: Kinesis Firehose Metrics Sourceを選択します。
    • Sumo Logic AWS Metrics Namespaces: 取得したいメトリクスのNamespaceを指定することが可能です。
  5. Sumo Logic AWS ALB Log Source
    • Enable ALB Access logging: Bothを選択します。
    • Create Sumo Logic ALB Logs Source: Yesを選択します。
    • Amazon S3 Bucket Name: ALBログを保存しているS3のバケットがあればそのバケット名を入力します。
    • Path Expression for existing ALB logs: Amazon S3 Bucket Nameのパスを入力します。
  6. Sumo Logic AWS CloudTrail Source
    • Create Sumo Logic CloudTrail Logs Source: Yesを選択します。
    • Amazon S3 Bucket Name: CloudTrailログを保存しているS3のバケットがあればそのバケット名を入力します。
    • Path Expression for existing CloudTrail logs: Amazon S3 Bucket Nameのパスを入力します。
  7. Sumo Logic AWS Lambda CloudWatch Logs Source
    • Select the Sumo Logic CloudWatch Logs Sources: Kinesis Firehose Log Sourceを選択します。
    • Subscribe log groups to Sumo Logic CloudWatch Logs Forwarder: Both
    • Regex for AWS Lambda Log Groups: lambda
  8. Sumo Logic Root Cause Explorer Sources
    • Select the Sumo Logic Root Cause Explorer Sources: Both
  9. Sumo Logic AWS ELB classic Log Source
    • Enable ELB Access logging: Both
    • Create Sumo Logic ELB Logs Source: Yes
  10. App Installation and Sharing
    • Location where you want the App to be Installed: Personal Folder
    • Do you want to share App with whole organisation: True

最後にCreate Stackで実行します。

完了するまでにしばらく時間がかかりますので、待った後、正常に実行されたことを確認します。

Sumo Logicで、パーソナルフォルダ内にAWS Observabilityのフォルダが出来ているので、「+New」から「Explore」を開きます。

Explore byのところでAWS Observabilityを選択すると、

AWS環境のメトリクスや各種ログが取得され、ダッシュボードに反映されました。

アカウント毎、リージョン毎、サービス毎に各ディメンションが階層的に表示することができるようになりました。
AWS全体を俯瞰的に確認しながら、階層上にドリルダウンして、システムの状況やセキュリティ状況を確認できそうです。

まとめ

今回は、AWSのメトリクスやイベントログ、トレース(AWS X-Ray)をSumo Logicに取得して一元的に管理するAWS Observabilityをご紹介しました。

Sumo LogicはSIEM基盤としてセキュリティに強みを持っていますが、AWSのシステム状態やトレース情報によるObservability(可観測性)の用途においても効果的に使えそうですね。