链式载荷转换
Elastic Stack Serverless
一种载荷转换,它按顺序执行已配置的载荷转换列表,其中一个转换的输出作为链中下一个转换的输入。此转换接受的载荷作为链中第一个转换的输入,链中最后一个转换的输出是整个chain
转换的输出。
您可以使用链式载荷转换,通过其他可用的转换构建更复杂的转换。例如,您可以组合一个search
载荷转换和一个script
载荷转换,如下面的代码片段所示
"transform" : {
"chain" : [
{
"search" : {
"request": {
"indices" : [ "logstash-*" ],
"body" : {
"size" : 0,
"query" : {
"match" : { "priority" : "error" }
}
}
}
}
},
{
"script" : "return [ 'error_count' : ctx.payload.hits.total ]"
}
]
}
chain
载荷转换定义- 链中的第一个转换(在本例中,是一个
search
载荷转换) - 链中的第二个也是最后一个转换(在本例中,是一个
script
载荷转换)
此示例在集群上执行count
搜索以查找error
事件。然后将搜索结果传递给第二个script
载荷转换。script
载荷转换提取总命中计数,并将其分配给新生成的载荷中的error_count
字段。这个新载荷是chain
载荷转换的输出,并替换监视执行上下文中的载荷。