用途:为 Klaviyo 集成建立可观测性,覆盖 API 调用指标、链路追踪、结构化日志与告警,重点针对 Klaviyo 的速率限制和错误模式。核心做法是让所有 Klaviyo 调用经过同一个埋点包装器,使 profiles、events、webhooks 的指标、追踪和日志保持一致。
主要能力:跟踪 klaviyo_api_requests_total、klaviyo_api_duration_seconds、klaviyo_api_errors_total、klaviyo_rate_limit_remaining、klaviyo_profiles_synced_total、klaviyo_events_tracked_total、klaviyo_webhook_received_total 等指标;可选 OpenTelemetry 追踪;pino 结构化日志并对邮箱脱敏;五条告警规则(错误率、429、延迟、服务不可用、限流余量不足);暴露 GET /metrics。
使用方式:先阅读现有 Klaviyo 客户端代码,再按顺序构建各层。编写 src/klaviyo/instrumented-client.ts,通过 instrumentedCall(endpoint, method, () => ...) 统一包装调用;可选添加 tracedKlaviyoCall();添加 pino 日志;放置 prometheus/klaviyo-alerts.yml;暴露 /metrics。完整源码见 references/instrumentation.md,告警与 Grafana 面板见 references/alerting.md。
适用场景:需要监控 Klaviyo API 调用量、延迟、错误率、限流余量及 profile/event/webhook 吞吐的集成项目。
限制与注意:需 Prometheus 或兼容后端,OpenTelemetry SDK 与 Grafana 为可选;标签基数过高会导致高基数问题,应使用 endpoint 分组而非完整 URL;告警阈值需按实际流量调整,避免告警风暴;日志需用序列化器脱敏邮箱等 PII。资料未提供具体价格、平台支持范围等信息。