google-cloud-platform - 使用 Loki 解析 GCP 日志
问题描述
我正在向 loki 发送 GCP 日志,我想解析jsonPayload
as 标签。当我运行查询时,我知道我可以做到query
| json 但是有没有办法通过 yaml 配置来做到这一点?
jsonPayload 对于不同的日志可以有不同的字段,所以我不想在 json 管道阶段对每个字段进行硬编码
解决方案
通常,不推荐使用动态标签。更具体地说,它取决于您发送给 Loki 的标签的基数。本文介绍了为什么选择标签集很重要。
简而言之,标签中键/值对的每个唯一组合都会生成一个新流。这些流作为块保存在您的存储中,Loki 使用查询时间中的标签作为“索引”来查找要获取的正确内容(块)。
另一篇文章更深入地探讨了该主题。最后,您可以查看Loki 标签最佳实践。
实际上,您可以在管道配置中将字段添加到labels
操作阶段,但需要手动维护该列表。AFAIK 无法将日志行中的所有字段设置为标签,如果您有复杂的 JSON 日志行(想想具有嵌套对象的字段),这甚至可能不容易实现。
推荐阅读
- javascript - 递归访问?
- ffmpeg - ffmpeg 如何在覆盖的图像上滚动(绘制文本)而不是在主视频上
- laravel - 有没有办法在服务提供商启动方法(无状态 api 模式)中访问当前(登录)用户?
- python - Python getattr 默认值求值
- join - 在表上为 ID 和 TIMESTAMP 创建关系
- javascript - jQuery在使用vue.js插入后按类获取元素
- deep-learning - 深度学习中的目标列编码和输出层
- python - 不透明颜色熊猫
- haskell - 为什么这个 Haskell TCP 服务器在接受时会生成一个“无效参数”错误?
- sql-server - 数据库恢复后如何更正 SQL Server 映射?