故障排除

编辑

某些功能无法按预期工作?不用担心,如果您无法找出问题所在,我们会提供帮助!首先,请确保您的应用程序与代理的支持的技术兼容。

如果您是拥有支持合同的 Elastic 现有客户,请在Elastic 支持门户中创建工单。其他用户可以在APM 讨论论坛中发帖。

请将您的完整调试日志上传到诸如GitHub Gist之类的服务,以便我们分析问题。日志应包含从应用程序启动到第一个请求执行的所有内容。启用日志记录的说明如下。

日志记录

编辑

代理日志对于调试过程至关重要。默认情况下,此日志记录是禁用的。要启用它,请使用ELASTIC_APM_LOG_FILE设置日志输出文件。或者,如果您使用 Docker 或 Kubernetes,并且可以接受混合代理和应用程序日志,则可以设置ELASTIC_APM_LOG_FILE=stderr

代理不会轮换日志文件。日志轮换必须在外部进行处理。

启用日志记录后,使用ELASTIC_APM_LOG_LEVEL来提高代理日志记录的粒度。例如:ELASTIC_APM_LOG_LEVEL=debug

在发布日志文件之前,请确保对您的应用程序执行了一些请求。每个请求都应在日志中添加类似于以下行的内容

{"level":"debug","time":"2020-07-23T11:46:32+08:00","message":"sent request with 100 transactions, 0 spans, 0 errors, 0 metricsets"}

如果您没有看到这样的行,则可能是您没有正确检测您的应用程序。

禁用代理

编辑

如果代理意外导致生产应用程序中断,您可以在进行故障排除时禁用代理。

如果您有权访问动态配置,则可以通过将ELASTIC_APM_RECORDING设置为false来禁用事件记录。当从支持的源在运行时更改时,无需重新启动应用程序。

如果这不起作用,或者您无权访问动态配置,则可以通过将ELASTIC_APM_ACTIVE设置为false来禁用代理。重新启动应用程序以应用更改。