数据输入
input{
tcp{
host => "127.0.0.1"
port => 9100
codec => "json"
}
}
数据过滤
filter{
mutate{
lowercase=>["springAppName"] 转为小写 索引不能有大写
}
if ![traceId] or ![spanId] or [traceId]==[spanId]{
mutate{
add_field => {"info"=>"service inner call not sent to es"}
}
}
}
数据输出
output{
if [info] 判断 info
{
elasticsearch{
action => "index"
hosts => "127.0.0.1:9200"
index => "%{springApName}" 动态索引
}
stdout{codec=>rubydebug} 控制台输出
}
}
-
说明
if ![traceId] or ![spanId] or [traceId]==[spanId]
- ![traceId] 表示 字段traceId 不存在
- or 表示条件 或
- ![spanId] 表示 字段 spanId 不存在
- [traceId]==[spanId] 表示字段traceId 和spanId 相等
-
mutate
mutate是 filter中的一个常用插件 配合if语句 可以对输入的文本内容进行处理 可选的操作 在官网有详细的说明
ps
- 而是在指定 索引(index)的时候 索引名 要全是小写 不能有大写字母
- %{springApName} 这个表示将springApName字段的值拿出来