系统的可观察性是指什么

系统的可观察性是系统设计的重要一环。不可观察的系统无法度量、无法监控、无法改进。

日志、追踪和度量是系统可观测性的三大支柱

下图显示了它们的定义和典型架构。

图片[1]-系统的可观察性是指什么-不念博客

1、日志记录(Logging)

日志记录系统中的离散事件。例如,我们可以将收到的请求或对数据库的访问记录为事件,它的工作量最大。

通常使用 ELK(Elastic-Logstash-Kibana)栈来构建日志分析平台。

我们通常会定义一种标准化的日志格式,供不同的团队实施,以便在搜索海量日志时利用关键字。

2、追踪(Tracing)

追踪通常以请求为范围。例如,用户请求会经过 API 网关、负载均衡、服务 A、服务 B 和数据库,这些都可以在追踪系统中可视化。

这在我们试图找出系统瓶颈时非常有用。

我们使用 OpenTelemetry 展示典型的架构,它将 3 个支柱统一在一个框架中。

3、指标(Metrics)

度量指标通常是系统中可汇总的信息。

例如,服务 QPS、API 响应速度、服务延迟等。

原始数据记录在 InfluxDB 等时间序列数据库中。

Prometheus 根据预定义的警报规则提取数据并转换数据,然后将数据发送到 Grafana 以供显示,或发送到报警管理服务,由其发送电子邮件、短信或 Slack 通知或警报。

© 版权声明
THE END