23

テキストと JSON が混在するログ エントリを解析しようとしています。最初の行はテキスト表現で、次の行はイベントの JSON ペイロードです。考えられる例の 1 つを次に示します。

2016-07-24T21:08:07.888Z [INFO] Command completed lessonrecords-create
{
  "key": "lessonrecords-create",
  "correlationId": "c1c07081-3f67-4ab3-a5e2-1b3a16c87961",
  "result": {
    "id": "9457ce88-4e6f-4084-bbea-14fff78ce5b6",
    "status": "NA",
    "private": false,
    "note": "Test note",
    "time": "2016-02-01T01:24:00.000Z",
    "updatedAt": "2016-07-24T21:08:07.879Z",
    "createdAt": "2016-07-24T21:08:07.879Z",
    "authorId": null,
    "lessonId": null,
    "groupId": null
  }
}

これらのレコードに対して、ログ メトリック フィルターを定義して、a) レコードを照合します。b) 可能であれば、データまたはディメンションを選択します。

AWS ドキュメントによると、JSON パターンは次のようになります。

{ $.key = "lessonrecords-create" }

しかし、それは何にも一致しません。私の推測では、1 つのログ エントリにテキストと JSON が混在しているためです。

1. このログ形式に一致するパターンを定義することは可能ですか? 2. このようなログ形式からディメンションや値を抽出することは可能ですか? 3. これを行うためのパターンを教えてください。

4

6 に答える 6

-2

fluentd エージェントを使用してログを Cloudwatch に送信できます。メトリクス フィルターに基づいてカスタム grok パターンを作成します。

手順:

  • サーバーに fluentd エージェントをインストールする
  • fluent-plugin-cloudwatch-logs プラグインと fluent-plugin-grok-parser プラグインをインストールする
  • ログ形式に基づいてカスタム grok パターンを記述します

    詳細については、このブログ を参照してください

于 2020-02-11T16:43:41.910 に答える