Observability #
可观测性是通过系统的外部输出来理解其状态和行为的一种实践和能力。可观测性框架会生成遥测数据,这些数据由分析工具使用,以帮助查询或可视化相关信息。这些框架从应用程序代码、底层节点基础设施、编排系统等生成日志(logs)、指标(metrics)以及跟踪数据(traces)。这些数据既可以是关于节点上可用磁盘空间数量的简单统计信息,也可以是从客户端到服务器再返回的端到端用户事务等复杂信息。
解决的问题 #
系统通常具有复杂性,并可能以多种方式发生故障或性能下降。可观测性帮助您了解系统中单个服务或基础设施组件的健康状况,跟踪重要统计值的变化,调试生产环境中的问题,并支持更广泛的功能。
提供的帮助 #
在大规模部署和运行云原生系统时,运维人员和开发人员需要高质量的遥测数据来了解系统状态,从而快速响应系统中的异常或突发事件,并就如何改进系统做出明智的决策。可观测性能够帮助操作人员更高效地处理事件,帮助开发人员在生产环境中调试应用程序,还能帮助组织深入了解用户行为,以及系统性能如何影响业务目标。
技术基础 #
云原生可观测性在概念上与传统应用程序监控相似,但存在几个关键区别。对象通常具有短生命周期,而系统复杂性往往会随着部署服务数量的增加呈指数趋势增长。这使得结构化数据和模式(schemas)成为分析和诊断系统状态的重要手段,同时也对数据存储提出了更高要求。在这一领域的许多项目,例如 OpenTelemetry 和 Prometheus,都是基于这种模型设计的。
Keywords #
- Monitoring - 监控
- Time series - 时间序列
- Alerting - 告警
- Metrics - 指标
- Logging - 日志
- Tracing - 跟踪
Projects #
- OpenTelemetry
- Prometheus
- Grafana
- Loki
- Tempo
- Jaeger
- VictoriaMetrics
- VictoriaLog(关注)
- vector (Rust)