ウォッチャーチェーンペイロード変換

ペイロード変換は、設定されたペイロード変換の順序付きリストをチェーンで実行し、1つの変換の出力が次の変換の入力として機能します。この変換が受け入れるペイロードは、チェーン内の最初の変換の入力として機能し、チェーン内の最後の変換の出力が全体としてのchain変換の出力となります。

チェーンペイロード変換を使用して、他の利用可能な変換からより複雑な変換を構築できます。たとえば、次のスニペットに示すように、searchペイロード変換とscriptペイロード変換を組み合わせることができます。

Js

  1. "transform" : {
  2. "chain" : [
  3. {
  4. "search" : {
  5. "request": {
  6. "indices" : [ "logstash-*" ],
  7. "body" : {
  8. "size" : 0,
  9. "query" : {
  10. "match" : { "priority" : "error" }
  11. }
  12. }
  13. }
  14. }
  15. },
  16. {
  17. "script" : "return [ 'error_count' : ctx.payload.hits.total ]"
  18. }
  19. ]
  20. }
chainペイロード変換定義
チェーン内の最初の変換(この場合、searchペイロード変換)
チェーン内の2番目で最終的な変換(この場合、script
ペイロード変換)

この例では、クラスタ上でcount検索を実行してerrorイベントを探します。検索結果は次に、2番目のscriptペイロード変換に渡されます。scriptペイロード変換は、合計ヒット数を抽出し、それを新しく生成されたペイロードのerror_countフィールドに割り当てます。この新しいペイロードはchainペイロード変換の出力であり、ウォッチ実行コンテキスト内のペイロードを置き換えます。