AWS

[AWS CloudWatch] Amazon CloudWatch Agent は、ログフィルタ式をサポートするようになったようです

この記事は約3分で読めます。

こんにちは。高瀬です。

今回は、「Amazon CloudWatch Agent は、ログフィルタ式をサポートするようになったようです」を解説します。

CloudWatch エージェントとは

CloudWatch エージェントとは、AWSから提供されているソフトウェアの一つです。Amazon EC2や、オンプレミスサーバにインストールすることで、メトリクスやログを収集し、CloudWatchへ送信することができます。

Collecting metrics and logs from Amazon EC2 instances and on-premises servers with the CloudWatch agent - Amazon CloudWatch
Explains how to use the CloudWatch agent to collect metrics and logs from Amazon EC2 instances and on-premises servers.

CloudWatch エージェント 設定ファイルを手動で作成する

CloudWatch エージェントをインストールした後は、CloudWatch エージェント 設定ファイルを作成しなければなりません。ウィザードを利用して作成することもできますが、手動で作成することもできます。

CloudWatch エージェント 設定ファイルは、3つのセクションを持つJSONファイルです。

  • agent セクション
    • エージェントの全体的な構成について
  • metrics セクション
    • CloudWatch に送信するためのカスタムメトリクスについて
  • logs セクション
    • CloudWatch Logs に送信されるログファイルについて

ログフィルタ式について

今回追加されたログフィルタ式は、logs セクションです。

この中で、filters の中でログフィルタを設定することができます。

expression に使用できるのは、RE2 Syntaxです。

Syntax · google/re2 Wiki
RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. - Sy...

logs の例

"logs": {
  "logs_collected": {
    "files": {
      "collect_list": [
        {
          "file_path": "/var/log/test.log",
          "log_group_name": "test.log",
          "log_stream_name": "test.log",
          "timezone": "Local",
          "filters": [
            {
              "type": "exclude",
              "expression": "INFO"
            }
          ]
        }
      ]
    }
  },
  "log_stream_name": "example_stream",
  "force_flush_interval": 30
}

参考AWSブログ記事

Amazon CloudWatch Agent adds Support for Log Filter Expressions