json - Grok 使用嵌套 JSON 解析日志文件
问题描述
我正在尝试使用 Grok 解析器(在 Datadog 的日志服务内部)来提取以下日志行中的 json 键:值(别担心,我随机化了一些值):
[INFO] 2021-08-09T23:20:48.282Z 49be9ba-000c-4d90-1011-10101001 Received event: {"PayloadData": "Yq==", "WirelessDeviceId": "abcd1234-abc12-3456-78910-abc9adkasd", "WirelessMetadata": {"LoRaWAN": {"ADR": true, "Bandwidth": 125, "ClassB": false, "CodeRate": "4/5", "DataRate": "3", "DevAddr": "019cf43e", "DevEui": "844oda0000006a80", "FCnt": 2530, "FOptLen": 0, "FPort": 10, "Frequency": "903900000", "Gateways": [{"GatewayEui": "abc123fffp09fd12", "Rssi": -102, "Snr": 8}], "MIC": "31p41ed2", "MType": "UnconfirmedDataUp", "Major": "LoRaWANR1", "Modulation": "LORA", "PolarizationInversion": false, "SpreadingFactor": 7, "Timestamp": "2021-08-09T23:20:47Z"}}}
但我无法完全弄清楚如何正确地做到这一点。Grok 感觉非常乏味和脆弱。日志的格式与上面相同,但显然值在不断变化。
关于如何开始正确的道路的任何建议?
解决方案
推荐阅读
- rust - 如何将 dyn FnMut 转换为自定义特征对象?
- java - Akka Streams - 为 mapAsync 定义超时
- list - 如何遍历MyBatis中的动态列表并访问列表的对象
- dataframe - 如何在 Spark 数据框中添加具有当前日期的额外列
- javascript - 试图在我的 React 应用程序中找到给定时间和当前时间的时差(以分钟为单位)
- javascript - 画布闪烁,img.src访问
- c# - 来自外部链接的 PhysicalFileResult 之后的 ASP.NET Core 重定向
- python - 使用 tensorflow 的句子相似度
- ios - 无法在 Jenkins Execute Shell 中使用 zsh/bash
- regex - 正则表达式匹配炒作之前的所有内容 - 多重匹配