logstash - 如何在 Logstash 中的消息事件前面添加新字段?
问题描述
我正在尝试找到一种方法来将新字段添加到logstash中消息的开头。
背景:我正在摄取 JSON 格式的数据,并使用 mutate.add_field 插件向消息中添加新字段。
但是,我似乎找不到定义这个新字段位置的方法。然后将消息作为字符串输出到文件。从这里开始,还有其他进程会获取此文件并应用正则表达式来提取所需的信息。为了简化正则表达式模式,我希望将关键字段放在消息的开头。
解决方案
您将需要添加一个具有所需顺序的新字段并删除其他字段。
例如,如果您的文档有字段fieldA
,fieldB
并且在您的管道中添加字段otherFieldC
并且otherFieldD
您希望出现在您的消息前面,您应该执行以下操作:
mutate {
add_field => {
"all_fields" => "%{otherFieldC} %{otherFieldD} %{fieldA} %{fieldB}"
}
remove_field => ["fieldA","fieldB","otherFieldC","otherFieldD"]
}
您的输出将是一个独特的字段,其中包含原始字段的信息以及您在管道中添加的字段。
推荐阅读
- c - 双指针队列、deQueue、enQueue
- devise - rails devsie_ldp 如何忽略证书验证?
- api - 如果 CORS 标头“Access-Control-Allow-Origin”为“*”且 CORS 请求未成功,则不支持凭据
- ios - 如何使用数组方法在模型中添加多个项目?
- java - 是否可以将kafka消费者寻找到主题分区的开头并再次轮询所有记录
- python - 将 url 从浏览器拖放到文本字段(tkinter 或 kivy)
- hyperledger-fabric - 事务处理器功能 - 我如何知道何时提交/认可数据
- python - 在列表列表中查找最常见的元素
- react-native - React Native 和 Redux Persist 不将状态保存到持久存储
- java - 使用 Java 8 流 API 将列表扁平化为列表