故障排除
编辑故障排除
编辑希望代理能够“即装即用”,但根据您的情况,代理可能需要一些调优。
首先,要了解代理内部发生的情况,您可以增加它写入的日志消息数量。为此,可以使用选项 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
来禁用代理。您需要重新启动应用程序才能应用这些更改。