elasticsearch - 在 grok 中提取子字符串作为新字段
问题描述
我是新手,没有 ELK 堆栈,我有一个日志文件,我需要创建一个新字段作为服务,以使用日志中的子字符串识别从哪个服务生成日志。下面给出了一个示例日志。我需要一个 grok 表达式来将****SyncLeaveRecord started*****
字符串过滤为新字段。
TID: [-1234] [] [2019-08-08 00:44:00,009] INFO {org.apache.synapse.mediators.builtin.LogMediator} - STATUS = ****SyncLeaveRecord started***** {org.apache.synapse.mediators.builtin.LogMediator}
解决方案
由于您没有说 if ****SyncLeaveRecord started*****
always 具有此值,因此我将 grok 模式基于它周围的元素,假设这些元素不会改变。
grok {
match => {message =>
"STATUS = %{DATA:newField} \{"
}
}
其中,给定示例日志行,创建一个名为 的新字段newField
,其中包含****SyncLeaveRecord·started*****
。
推荐阅读
- c# - .Net Core 中的 SignInResult() 和 SignOutResult() 用于什么?
- python-3.x - 在 pyCharm 中调试 python 代码并在运行时更改变量
- c++ - Correct way to implement inline assembler in c++ for xor operations on variables
- flutter - Flutter,如何获取小部件的大小?
- jsf - dataList 中的 Primefaces dataTable 重复活动页面链接并更新
- express - Pug 文件不渲染我的 iframe 而是在一个变量中,渲染为 false
- c# - 使用 Azure 人脸 API 从本地存储中的人脸列表中查找匹配人脸
- python - Python 生成器表达式:如何从循环中添加 AND 条件?
- mongodb - MongoDB 中的子结构与平面数据结构 - NoSQL
- azure - 更改 Azure 限制行为