故障排除
编辑故障排除编辑
某些功能无法按预期工作?如果您无法确定问题所在,请不要担心;我们来帮助您!首先,确保您的应用程序与代理的 支持的技术 兼容。
如果您是拥有支持合同的现有 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
来禁用代理。重新启动应用程序以使更改生效。