Observability time series vs logging vs tracing
本文就 Monitoring 涉及到的三种数据结构:Time Series, Log Event, Tracing Span 提供了通用解决方案。
- TimeSeries: 监控的时间序列数据,自搭首选 Prometheus,买服务用 DataDog。InfluxDB 可以作为 Prometheus 的另外一个方案。不推荐 Cassandra, Elastic,写性能太差。
- Log Event: 应用产生的日子条目,数据量大,自搭首选 Elastic 全家桶,买服务用 Splunk。这里的日志特指已经把日志解析成 JSON 这样的结构化数据。
- Tracing:服务追踪产生的数据,首选 Jaeger(k8s), Zipkin,OpenAPM。这类服务太贵了,建议自搭。
结论:要想做好服务的 Observability,这三类数据是无论如何要收集好的。Prometheus, Grafana, Elastic, Kibana 这几个工具经过蛮多年的积累,已经挺不错够成熟了。