4

自動テストのログ ダンプを監視する logstash エージェントがあります。

テストの各バルクの開始時にエージェントが開始され、特定のフォルダーをリッスンし、最後に停止する必要があります。

問題は最後にあります-テストが完了したことをlogstashエージェントに何らかの方法で通知し、それ自体を強制終了する必要があります..

どうやってやるの?テストから特定のログ メッセージが表示されたときにエージェントを強制終了するようにエージェントを構成する方法は何ですか?

私の設定ファイル:

input {

  file {
    type => "cloudify-logs"
    path => "<path_to_test_class_folder>/*"
    tags => [ "<suite_name>" , "<test_name>" , "<build_number>" , "<version>" ]
  }
}

output {
  stdout { debug => true debug_format => "json"}
  redis { host => "<host>" data_type => "list" key => "logstash" }
}
4

1 に答える 1

3

1 つのオプションは、ログの最後に次のような行を追加することです。

END TEST

次に、その行にヒットしたときに LogStash によって実行される LogStash の「kill」スクリプトを作成できます。

例えば:

filter
{
    if [message] =~ "^END TEST"
    {
        mutate
        {
            add_tag => ["end"]
        }
    }
}

output
{
    if "end" in [tags]
    {
        exec
        {
            command => "kill_logstash.sh"
        }
    }
}
于 2014-08-12T13:53:50.223 に答える