系统的可观察性是指什么?

发布时间:2024年01月17日

系统的可观察性是指什么?

本文转自 公众号 ByteByteGo,如有侵权,请联系,立即删除

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

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

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

img

01 日志记录(Logging)

日志记录系统中的离散事件。例如,我们可以将收到的请求或对数据库的访问记录为事件。它的工作量最大。通常使用 ELK(Elastic-Logstash-Kibana)栈来构建日志分析平台。我们通常会定义一种标准化的日志格式,供不同的团队实施,以便在搜索海量日志时利用关键字。

02 追踪(Tracing)

追踪通常以请求为范围。例如,用户请求会经过 API 网关、负载均衡、服务 A、服务 B 和数据库,这些都可以在追踪系统中可视化。这在我们试图找出系统瓶颈时非常有用。我们使用 OpenTelemetry 展示典型的架构,它将 3 个支柱统一在一个框架中。

03 指标(Metrics)

度量指标通常是系统中可汇总的信息。例如,服务 QPS、API 响应速度、服务延迟等。原始数据记录在 InfluxDB 等时间序列数据库中。Prometheus 根据预定义的警报规则提取数据并转换数据,然后将数据发送到 Grafana 以供显示,或发送到报警管理服务,由其发送电子邮件、短信或 Slack 通知或警报。

文章来源:https://blog.csdn.net/Go_ahead_forever/article/details/135638283
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。