ウォッチャーチェーンペイロード変換
ペイロード変換は、設定されたペイロード変換の順序付きリストをチェーンで実行し、1つの変換の出力が次の変換の入力として機能します。この変換が受け入れるペイロードは、チェーン内の最初の変換の入力として機能し、チェーン内の最後の変換の出力が全体としてのchain
変換の出力となります。
チェーンペイロード変換を使用して、他の利用可能な変換からより複雑な変換を構築できます。たとえば、次のスニペットに示すように、search
ペイロード変換とscript
ペイロード変換を組み合わせることができます。
Js
"transform" : {
"chain" : [
{
"search" : {
"request": {
"indices" : [ "logstash-*" ],
"body" : {
"size" : 0,
"query" : {
"match" : { "priority" : "error" }
}
}
}
}
},
{
"script" : "return [ 'error_count' : ctx.payload.hits.total ]"
}
]
}
chain ペイロード変換定義 |
|
チェーン内の最初の変換(この場合、search ペイロード変換) |
|
チェーン内の2番目で最終的な変換(この場合、script ペイロード変換) |
この例では、クラスタ上でcount
検索を実行してerror
イベントを探します。検索結果は次に、2番目のscript
ペイロード変換に渡されます。script
ペイロード変換は、合計ヒット数を抽出し、それを新しく生成されたペイロードのerror_count
フィールドに割り当てます。この新しいペイロードはchain
ペイロード変換の出力であり、ウォッチ実行コンテキスト内のペイロードを置き換えます。