Elasticsearch > Filebeat > 標準のModuleにフィールドを追加する方法


apacheモジュールの場合

module/apache/access/ingest/pipeline.ymlを編集する

pipeline.yml

- set:
    field: event.addfield
    value: custom

- script:
    lang: painless
    ignore_failure: true
    source: >-
      def parts = ctx.url.original?.splitOnToken("?");
      if (parts.length != 2) {
        ctx.url.endpoint = ctx.url.original;
        return;
      }

      ctx.url.endpoint = parts[0];
      ctx.url.param = parts[1];

変更の反映

ここがドキュメントの深くにしか書いてなかったが、
https://www.elastic.co/guide/en/beats/devguide/7.10/filebeat-modules-devguide.html#_metafields_yml_2

pipeline.ymlを変更しただけではfilebeatのパイプラインに反映されない。
以下のコマンドで変更をfilebeatのfields.ymlに反映する

./filebeat setup --pipelines

実行する

./filebeat -e -c filebeat.yml