Cloudflare日志管道概览
原文英文,约1600词,阅读约需6分钟。发表于: 。In this post, we’re going to go over what that looks like, how we achieve high availability, and how we meet our Service Level Objectives (SLOs) while shipping close to a million log lines per second
Cloudflare的可观察性平台团队负责管理收集来自Cloudflare基础设施各个服务的调试日志的日志管道。这些管道使用Go的zerolog和C++的KJ_LOG等日志库将日志打印到stdout/stderr流中。然后,日志由systemd-journald和syslog-ng收集,它们在转发日志到核心数据中心之前应用速率限制并添加常见字段。通过将日志复制到两个不同的数据中心实现冗余。Kafka用于缓冲日志,以便轻松添加消费者并容忍瞬时故障。然后,日志存储在ElasticSearch/Logstash/Kibana(ELK)和Clickhouse集群中。未来的项目包括改进多租户功能,迁移到Open Telemetry,实现尾采样和更好地平衡Kafka集群。