logging - Kubernetes Pod 的多行日志事件
问题描述
当 docker 部署到 gcp kubernetes 集群时,即使它通过应用程序记录器记录在多行中,如何将日志事件聚合到单个条目。
对于 AWS,我们可以使用日期时间格式来识别事件的开始。GCP中的替代品是什么。
谢谢。
解决方案
在我看来,您需要一个专门的解决方案来真正有效地管理您的日志。
聚合/管理/共享日志最流行的解决方案之一是ELK 堆栈,即ElasticSearch, Logstash, Kibana
或类似堆栈的另一个版本,但使用Fluentd
而不是Logstash
: EFK stack
。
ELK Stack 有一个流媒体或“数据托运人”列表,名称为beats
. 其中之一是Filebeat
,不出所料,它适用于文件。简而言之,它可以通过tail
方法读取文件。所以你可以读取任何文件。
Filebeat
支持配置选项来解决您的问题。他们是:
multiline.pattern:
multiline.negate:
multiline.match:
一般来说,你应该定义正则表达式,它明确地描述你的行的开头。
所以,试试这个。该堆栈支持与 Kubernetes 的不同类型的集成,例如集群内部署和自动发现
推荐阅读
- r - 长到宽格式与倍数
- javascript - 全高 div 到屏幕大小 - JQuery
- javascript - 上传后无法读取 .docx 文件(nodejs)
- windows - 在 Windows 7 资源管理器中预览 VBA 代码文件
- bluetooth - Arduino 蓝牙价值渗透
- apache - 如何捕获特定目录的所有 url 请求?
- python - 使用 Django rest_framework_jwt,如何允许使用准时使用代码自动登录?
- apiary.io - 移除 github apiary 上的 fork
- html - 选择标签打开和关闭时如何显示另一个文本?
- php - Laravel Cookies 奇怪的行为 - 总是设置相同的值