0

経過プラグインを使用して時間を計算し、プラグインを集計してから表示しています。経過フィルターにカスタム フィールドを追加しました。以下で確認できます。

 add_field => {
       "status" => "Status"
        "User" => "%{byUser}"
    }

1 つは静的で、もう 1 つはイベントに伴う動的です。logstash の出力では、動的な値ではなく静的な値のみが表示されます。

動的な場合は %{byUser} と表示されます。しかし、タスク ID とステータス フィールドは問題なく機能し、適切な値が得られました。

理由はありますか?

もう少しコード

elapsed {
    unique_id_field => "assetId"
    start_tag => "tag1:tag2"
    end_tag => "tag3:tag4"
    add_field => {
       "wasInStatus" => "tag3"
       "User" => "%{byUser}"
    }
    add_tag => ["CustomTag"]
  }

グルク入力:

 grok {
        match => [
            "message", "%{TIMESTAMP_ISO8601:timestamp} %{NUMBER:assetId} %{WORD:event}:%{WORD:event1} User:%{USERNAME:byUser}"]


if "CustomTag" in [tags] and "elapsed" in [tags] {
    aggregate {
      task_id => "%{assetId}"
       code => "event.to_hash.merge!(map)"
        map_action => "create_or_update"
    }
  }

問題は次のものに関連しています: 経過フィルタ:

new_event_on_match => true/false

new_event_on_match を false に変更すると、パイプラインで修正された問題が true になりましたが、それでもなぜか疑問に思います。

4

1 に答える 1