解析 Logstash 中的嵌套 JSON 字符串

2024-01-27

我正在以 json 格式登录logstash, 我的日志有以下字段,每个字段都是一个字符串,atts字段是字符串化的 json(注意:atts子字段每次都不同)

这是一个例子:

{"name":"bob","last":"builder", "atts":"{\"a\":111, \"b\":222}"}

我想将其解析为这样的内容:

   {
     "name" => "bob",
     "last" => "builder"
     "atss" => {
          "a" => 111,
          "b" => 222}
   }

这是我的配置:

input { stdin { } }  

filter {
  json {
    source => "message"
    target => "parsed"
  }
}
 output { stdout { codec => rubydebug  }}

好的, 所以现在我明白了:

{
    "@timestamp" => 2017-04-05T12:19:04.090Z,
    "parsed" => {
        "atss" => "{\"a\":111, \"b\":222}",
        "name" => "bob",
        "last" => "the builder"
    },
        "@version" => "1",
          "host" => "0.0.0.0"
}

我怎样才能解析atts字段到 json 所以我收到:

{
    "@timestamp" => 2017-04-05T12:19:04.090Z,
    "parsed" => {
        "atss" => 
           {"a" => 111,
            "b" => 222},
        "name" => "bob",
        "last" => "the builder"
    },
        "@version" => "1",
          "host" => "0.0.0.0"
}

感谢@Alcanzar,这就是我所做的

input { 
  stdin { } 
}  

filter {
  json {
    source => "message"
    target => "message"
  }
  json {
    source => "[message][atts]"
    target => "[message][atts]"
  }

}
 output { stdout { codec => rubydebug  }}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析 Logstash 中的嵌套 JSON 字符串 的相关文章

  • Logstash 文件输入插件

    目前 我正在使用文件输入插件来检查我的日志存档 但文件输入插件对我来说不是正确的解决方案 因为文件输入插件本质上期望该文件是事件流而不是静态文件 现在 这给我带来了很大的问题 因为我的日志存档有 100 000 多个日志文件 而我的 Log
  • Logstash 与 java10 出现错误:无法识别的 VM 选项“UseParNewGC”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在跑logstashJava 10 如下 logstash f std std conf 但我收到此错误 Unrecognize
  • 在 ElasticSearch 中以微秒格式保存日期

    我正在尝试使用 jdbc 输入插件和 Logstash 将一组事件从 MySQL 数据库保存到弹性搜索中 数据库中的事件记录包含微秒格式的日期字段 实际上 数据库中存在几微秒之间的记录 导入数据时 Elasticsearch 会将微秒日期格
  • Logstash 无法使用多个文件通配符路径

    Logstash 似乎无法读取带有通配符的路径 这是我的配置文件 input file path gt C logs app log type gt MyType filter output elasticsearch 我通过用斜杠替换反斜
  • 从 activemq 主题获取消息时,logstash 输入速度非常慢

    我已经在logstash中配置了JMS输入来订阅JMS主题消息并将消息推送到弹性搜索 input jms id gt my first jms yaml file gt D softwares logstash 6 4 0 config j
  • Logstash grok 测试与 rspec 有不同的行为?

    我正在为 grok 过滤器创建一个测试套件 有些日志由logstash 正确丰富 但不是rspec 测试 为了测试这一点 我启动了一个 Logstash 实例 其中包含 stdin stdout 和 json 用于输入和输出 这是示例日志
  • Logstash可以直接读取远程日志吗?

    我是 Logstash 的新手 几天来我一直在阅读有关它的内容 和大多数人一样 我试图拥有一个集中式日志系统并将数据存储在 elasticsearch 中 然后使用 kibana 来可视化数据 我的应用程序部署在许多服务器中 因此我需要从所
  • 解析 Logstash 中的嵌套 JSON 字符串

    我正在以 json 格式登录logstash 我的日志有以下字段 每个字段都是一个字符串 atts字段是字符串化的 json 注意 atts子字段每次都不同 这是一个例子 name bob last builder atts a 111 b
  • Logstash 的流行为不一致 - ELK

    我有一个包含几个平面字段和几个嵌套字段的索引 我正在尝试通过 Logstash 将 SQL Server 中的信息通过特定 ID 流式传输到嵌套字段中 当我流式传输数据时only one然后它就完全成功地通过了 没有任何问题 另一方面 当我
  • 如何使用logstash插件-logstash-input-http

    我正在探索 Logstash 以接收 HTTP 上的输入 我已经使用以下方式安装了 http 插件 插件安装logstash input http 安装成功 然后我尝试使用以下命令运行logstash Logstash e 输入 http
  • 用于自定义日志的 Logstash Grok 过滤器

    我有两个相关问题 第一个是如何最好地处理具有 混乱 间距等的日志 第二个 我将单独询问 是如何处理具有任意属性值对的日志 看 Logstash Grok 过滤器用于具有任意属性值对的日志 https stackoverflow com qu
  • 将数据从 Dynamodb 发送到 Amazon Elasticsearch 的最佳方式

    我想知道将数据从 dynamoDB 发送到 elasticsearch 的最佳方式是什么 AWS SDK js https github com Stockflare lambda dynamo to elasticsearch blob
  • 将 CloudTrail 日志导入 Logstash

    我正在尝试将日志从 CloudTrail 获取到 ElasticSearch 中 以便我们可以更好地了解 AWS 账户中发生的情况 我已经在我的机器 Ubuntu 14 04 上设置了 Logstash 和 ElasticSearch 并且
  • Logstash 错误 Java::JavaLang::NoClassDefFoundError 无法解决

    我是elasticsearch ES 和logstash 的新手 我已经使用它成功设置了elasticsearch和kibanalink https www youtube com watch v hVgrXi 9L6Y 之后我尝试使用lo
  • Logstash 解析时间戳半天上午/下午

    Logstash 新手 真的很喜欢它 尝试解析包含时间戳的 CSV 文件 想要解析时间戳并将其用作 timestamp字段 我的 CSV 输入示例 input stdin filter filter the input by csv i e
  • 按字段关联 ELK 中的消息

    相关 在ELK中合并日志和查询 https stackoverflow com questions 28429607 combine logs and query in elk 我们正在设置 ELK 并希望在 Kibana 4 中创建可视化
  • Logstash 删除事件过滤器

    在我的日志文件中 我有如下条目 2014 06 25 12 36 18 176 10 null INFO s null u null Hello from Serilog running as David Program 2014 06 2
  • Logstash删除类型并保留_type

    我有一个logstash 客户端和服务器 客户端将带有logstash的udp输出的日志文件发送到服务器 服务器也运行logstash来获取这些日志 在服务器上 我有一个 json 过滤器 它会在实际日志的字段中提取 json 格式的消息
  • wildfly-logstash 不将日志发送到logstash

    我正在使用 jboss keycloak 11 0 2 和 wildfly logstash https github com kifj wildfly logstash https github com kifj wildfly logs
  • Logstash if 语句与正则表达式示例

    谁能告诉我什么是if带有正则表达式的语句看起来像在logstash中 我的尝试 if fieldname 0 9 if fieldname 0 9 两者都不起作用 我打算做的是检查 fieldname 是否包含整数 将其他答案合并成一个有凝

随机推荐

  • 神秘的填充物..?

    我最近设计并完成了 2 份时事通讯 但是当我回去进行快速更改 在容器外部添加背景颜色 时 我意识到内容和背景颜色之间存在一些神秘的填充 我想要完成的是获取背景颜色正好与主要内容的边缘相对应 我已经对 CSS 进行了很多尝试 但仍然没有找到解
  • 如何将具有自定义 ID 的文档添加到 firestore

    是否有机会使用自定义生成的 id 而不是由 firestore 引擎生成的 id 将文档添加到 firestore 集合中 要使用自定义 ID 您需要使用 set 而不是 add 这将创建一个 ID 为 LA 的文档 db collecti
  • AWS API Gateway 二进制损坏

    我遇到一个问题 我的 API 网关 Lambda 集成正在通过 API 网关进行某种形式的内容映射 我有一个 API 网关 其端点使用 Lambda 代理集成 我已启用二进制媒体类型 图片 jpeg 图片 png 图片 网页 图像 端点获取
  • Python argparse 不带参数的命令行标志

    如何向命令行参数添加可选标志 例如 所以我可以写 python myprog py or python myprog py w I tried parser add argument w 但我只是收到一条错误消息说 Usage w W er
  • 从回调中返回值

    我以前没有任何 JavaScript 经验 我正在尝试实现以下函数 我希望用它来返回值 lat 和 lng function get address var geocoder new google maps Geocoder geocode
  • 如何测试泛型接口的类型?

    我不确定标题是否有意义 但我希望您能通过一些代码理解我的问题 给出以下发布 订阅框架的代码 type IMessage interface B1794F44 F6EE 4E7B 849A 995F05897E1C end ISubscrib
  • 从纬度/经度获取邮政编码

    我有一个控件 允许用户输入邮政编码或在 iframe 中打开谷歌地图 然后单击地图来选择位置 我目前已经完成了所有工作 iframe 会将点击事件中的纬度 经度发送回父级 我还设置了一个数据库表 其中的纬度 经度字段映射到邮政编码 但是 纬
  • 如何在其派生类中重写列表的切片功能

    我做了一个如下所示的课程 class MyList list def init self lst self list lst 我希望在 MyList 中覆盖切片功能 您需要提供定制 getitem http docs python org
  • 当我运行这个小鼠标钩子应用程序时,为什么我的鼠标出现滞后?

    这是我几年前编写的一个小鼠标钩子应用程序 我只是想知道为什么每当我运行它时它都会使我的鼠标滞后 我记得在某处读过 我必须调用一些方法来手动处理资源或使用 MouseListener 进行处理 每当我拖动时 它都会使我的鼠标滞后any屏幕周围
  • c# 使用excel打开xml文件[重复]

    这个问题在这里已经有答案了 如何使用 Excel 和 C winforms 打开 xml 文件 我正在将数据保存到 XML 文件 并且我需要用户在应用程序更新 xml 文件后能够立即看到该文件 我需要用 Excel 打开该文件 Proces
  • git-tf checkin 线程“main”中出现异常 java.lang.StackOverflowError

    我正在尝试使用现有的 git 存储库并使用 git tf 将其签入到 TFS Preview 当我尝试签入时收到错误 这是我到目前为止所做的事情 git 克隆 bhttps github com https github com git 来
  • 在更大的项目上处理 javascript 的方法?

    几年前发现 jQuery 后 我意识到无需编写代码书籍即可真正创建交互式且用户友好的网站是多么容易 随着项目规模的增加 进行任何调试或可能实现更改或新功能所需的时间也随之增加 通过阅读各种博客并保持一定的更新 我读到了类似的库骨干网 js
  • bootstrap-vue:大多数图标未显示

    我导入all图标 如文档所述 import Vue from vue import BootstrapVue BootstrapVueIcons from bootstrap vue Vue use BootstrapVue Vue use
  • Yii2:如何通过 Composer 添加 JavaScript 库?

    我已经设置了一个基本应用程序 https github com yiisoft yii2 app basic根据这个指南 安装 Yii http www yiiframework com doc 2 0 guide start instal
  • 如何找到 ASP.NET 中哪些对象无法序列化?

    我在我的应用程序中收到以下错误 无法序列化会话状态 在 StateServer 和 SQLServer 模式下 ASP NET 将序列化会话 状态对象 结果 不可序列化的对象或 MarshalByRef 对象不是 允许的 同样的限制 如果类
  • jQuery.live() 无法在插件内部工作

    我正在编写一个插件 需要实时绑定点击 当我进行正常的单击绑定但不是实时绑定时 该插件工作正常 我已经将插件归结为基础知识 function fn liveBindTest function return this each function
  • foreach 语句中需要类型和标识符 csharp 中的错误

    我正在将这段代码的 VB net 转换为 C Dim files As String files Directory GetFiles E text txt Dim filename As String Dim file As String
  • 如何在 python pandas 中使用 df.loc 和 if 条件删除一行

    我想用if条件和df loc 比较同一列中的两个值 如果前一个值高于下一个值 我想删除整行 这是我尝试过的和我的例子 import pandas as pd data cycle 1 1 2 2 3 3 4 4 A 0 1 0 5 0 2
  • Android Base64 音频文件编码/解码

    Doing 我目前正在录制语音并将其保存为 sdCard 中的文件 该文件在 MediaPlayer 中运行正常 我想要的是 当我将此文件编码为 Base64 并发送到服务器时 一切正常 但是当我将 Base64 字符串解码为 audio
  • 解析 Logstash 中的嵌套 JSON 字符串

    我正在以 json 格式登录logstash 我的日志有以下字段 每个字段都是一个字符串 atts字段是字符串化的 json 注意 atts子字段每次都不同 这是一个例子 name bob last builder atts a 111 b