使用elasticsearch 8.4.3 的管道解析日志(kibana操作)

举报
神的孩子在歌唱 发表于 2024/06/30 23:39:53 2024/06/30
【摘要】 以下是一个简单的文档解析案例,更多的操作解析可以看 : 官方文档前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱什么是 pipeline管道可让您在插入数据之前 对数据执行常见转换。例如,您可以使用管道删除字段、从文本中提取值以及丰富数据。管道由一系列称为 处理器的可配置任务组成。每个处理器按顺序运行,对传入文档进行特定更改。处理器运...

以下是一个简单的文档解析案例,更多的操作解析可以看 : 官方文档

前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱



什么是 pipeline


管道可让您在插入数据之前 对数据执行常见转换。例如,您可以使用管道删除字段、从文本中提取值以及丰富数据。

管道由一系列称为 处理器的可配置任务组成。每个处理器按顺序运行,对传入文档进行特定更改。处理器运行后,Elasticsearch 将转换后的文档添加到您的数据流或索引中。

image-20240221171424301

案例


比如我的文档数据如下,是一个json字符串,我想在它插入的时候转成json插入,这时候就可以用到管道

"{\"status\":true,\"log_type\":[\"system\",\"access_log\",\"security_log\"]}"


首先我们创建一个 test_pipline 管道


PUT _ingest/pipeline/test_pipline
{
  "description": "提取消息",
  "processors": [
    {
      "json": {
        "field": "message",
        "target_field": "data"
      }
    }
  ]
}

也可以通过kibana的页面操作,首先进入到Stack Management > Ingest Pipelines页面,点击 Create pipeline -> Add a processor -> Save pipeline 就可以了

image-20240221160314783

我们的管道创建好了,接下来插入文档数据测试

首先我们插入一条没经过管道的数据

POST /customer/_doc
{
  "message":"{\"status\":true,\"log_type\":[\"system\",\"access_log\",\"security_log\"]}"
}
​
GET /customer/_search
{
 "query": {
 "match_all": {}
 } 
}



image-20240221160758546

然后在插入一条经过管道的

POST /customer/_doc?pipeline=test_pipline
{
  "message":"{\"status\":true,\"log_type\":[\"system\",\"access_log\",\"security_log\"]}"
}

image-20240221160914475

再次查询发现输出的第二条日志有一个data字段,里面就是我们通过message转成json后的值

作者:神的孩子都在歌唱 本人博客:https://blog.csdn.net/weixin_46654114 转载说明:务必注明来源,附带本人博客连接。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。