0

是什么让 Kibana 不在“日志”选项卡下的 APM“事务”页面中显示 docker 容器日志。我验证了日志已成功生成,并带有与正确链接关联的“trace.id”。

在此处输入图像描述 在此处输入图像描述

我通过 docker-compose 拥有完全相同的环境和配置(7.16.2),并且运行良好。无法弄清楚为什么此功能在本地有效,但未在 Elastic Cloud 部署中显示。

在此处输入图像描述

更新解决方案:

我刚刚解决了这个问题。它与 Filebeat 版本有关。从 7.16.0 开始,事务/日志链接停止工作。将 Filebeat 恢复到版本 7.15.2 并再次开始工作。

4

1 回答 1

0

例如,如果您不使用文件节拍 - 我们推出了自己的日志记录实现,以使用批量 API 从队列中批量发送日志。

我们有自己的“ElasticLog”类,然后使用属性来匹配logs-*日志流的模式。

特别是我们必须确保它trace.id与实际的 Tracestrace.id属性相同。然后日志开始显示在这里(有时确实需要几分钟)

在此处输入图像描述

有关如何获取 ID 的更多信息

我们对 Traces 使用 OpenTelemetry 导出器,对 Logs 使用 ILoggerProvider。火关批次彼此独立。

我们在类实例化时将 Trace Id 填充为默认值。这样你就在Activity的上下文中了。还有助于在创建日志时准确设置时间戳。

在此处输入图像描述

然后LogEntry将其传递到 ElasticLogger 处理器并如上所示映射到ElasticLog具有 ES 所需属性的条目

于 2022-01-07T11:10:36.533 回答