故障排除
编辑故障排除编辑
希望代理能够正常工作,但根据您的情况,代理可能需要进行一些调整。
首先,要详细了解代理内部发生的情况,您可以增加它写入的日志消息的数量。为此,请使用选项 log_level = 0
设置日志级别,其中 0
是大多数消息的级别,DEBUG
。
在您的 config/elastic_apm.yml
中
log_level: <%= Logger::DEBUG %>
日志消息编辑
队列已满(256 个项目),正在跳过…
编辑
代理有一个内部队列,用于在事件完成后以及在安全地序列化并发送到 APM 服务器之前保存事件。为了避免耗尽所有内存,此队列的大小是固定的。根据您的负载和服务器设置,添加到队列中的事件速度可能会超过它们被消耗的速度,因此会出现警告。
需要考虑的事项
server_url
配置错误或 APM 服务器关闭了吗?如果代理无法连接,您还会看到包含连接错误
或无法建立与 APM 服务器的连接
的日志消息。- 负载过高?代理可以通过更改选项
pool_size
(默认为1
)来生成多个工作线程实例,这些实例从队列中提取事件。 - 如果您的负载很高,您还可以考虑将
transaction_sample_rate
设置为小于1.0
的值。这决定了是否为每个*事务*都包含*跨度*。如果您的流量足够大,跳过一些(可能)相同的跨度不会对您的数据产生明显的影响。
禁用代理编辑
在不太可能的情况下,如果代理导致生产应用程序中断,您可以在进行故障排除时禁用代理。
如果您有权访问动态配置,则可以通过将recording
设置为false
来禁用事件记录。当从受支持的源在运行时更改时,无需重新启动应用程序。
如果这不起作用,或者您无权访问动态配置,则可以通过将enabled
设置为false
来禁用代理。您需要重新启动应用程序才能使更改生效。