Fluent Bit是一个轻量高效的开源数据收集代理,适用于日志、指标和追踪。本文探讨了如何监控和警报Fluent Bit中的背压现象,以维护日志管道的健康。背压可能导致内存过高、服务停机和数据丢失。通过设置内存和存储限制、监控关键指标及配置警报,可以有效管理背压。
Cloudflare将日志管道从syslog-ng迁移至OpenTelemetry Collector,以提高日志处理效率。此举简化了工程师的贡献和与内部库的集成,并支持更详细的性能指标。在迁移过程中,Cloudflare开发了自定义组件以解决连接问题和日志收集中断等挑战。未来计划包括更复杂的日志采样技术。其他公司如Shopify和GitHub也在采用OpenTelemetry。
Cloudflare的可观察性平台团队负责管理收集来自Cloudflare基础设施各个服务的调试日志的日志管道。这些管道使用Go的zerolog和C++的KJ_LOG等日志库将日志打印到stdout/stderr流中。然后,日志由systemd-journald和syslog-ng收集,它们在转发日志到核心数据中心之前应用速率限制并添加常见字段。通过将日志复制到两个不同的数据中心实现冗余。Kafka用于缓冲日志,以便轻松添加消费者并容忍瞬时故障。然后,日志存储在ElasticSearch/Logstash/Kibana(ELK)和Clickhouse集群中。未来的项目包括改进多租户功能,迁移到Open Telemetry,实现尾采样和更好地平衡Kafka集群。
完成下面两步后,将自动完成登录并继续当前操作。