12.3、后端服务Dashboard
后端服务 Dashboard
欢迎回到第 12 章的学习。在上一节,我们学习了前端性能 Dashboard。现在我们要学习后端服务 Dashboard,这是后端监控的核心。
本节将学习:API 性能指标、服务健康状态、数据库性能、微服务依赖关系图、以及错误追踪面板。
API 性能指标
API 性能指标的作用是什么? 追踪 API 的性能表现,识别慢 API,优化 API 性能。
API 性能指标包括哪些呢?
第一个:请求速率(Rate)。 每秒请求数(QPS)、每秒事务数(TPS)。
第二个:错误率(Errors)。 API 错误率、错误数量、错误类型。
第三个:响应时间(Duration)。 API 响应时间、延迟分布(P50、P95、P99)。
这是典型的 RED 方法应用,适用于服务监控。
PromQL 查询示例:
# Rate(请求速率) sum(rate(http_requests_total[5m])) by (service, endpoint) # Errors(错误率) sum(rate(http_requests_total{status=~"5.."}[5m])) by (service, endpoint) sum(rate(http_requests_total{status=~"5.."}[5m])) by (service) / sum(rate(http_requests_total[5m])) by (service) # Duration(响应时间) histogram_quantile(0.50, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service)) histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service)) histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service))
服务健康状态
服务健康状态的作用是什么? 监控服务的可用性,识别服务故障,快速响应问题。
服务健康状态包括哪些呢?
第一个:服务启动时间。 服务的启动时间和运行时长。
第二个:健康检查状态。 健康检查端点的状态。
第三个:服务实例状态。 服务实例的运行状态。
第四个:服务依赖状态。 服务依赖的其他服务的状态。
服务健康状态监控:
# 服务可用性 up{job="order-service"} # 服务启动时间 process_start_time_seconds{job="order-service"} # 健康检查状态 probe_success{job="order-service"}
数据库性能
数据库性能的作用是什么? 监控数据库查询性能,识别慢查询,优化数据库性能。
数据库性能包括哪些指标呢?
第一个:查询执行时间。 数据库查询的平均执行时间、P95、P99 执行时间。
第二个:连接池状态。 连接池使用率、连接等待时间。
第三个:慢查询数量。 慢查询的数量和趋势。
数据库性能监控查询:
# 查询执行时间 avg(db_query_duration_seconds{db_system="mysql"}) histogram_quantile(0.95, db_query_duration_seconds_bucket{db_system="mysql"}) # 连接池状态 hikari_connections_active / hikari_connections_total hikari_connections_pending # 慢查询数量 sum(db_query_duration_seconds{db_system="mysql"} > 0.1)
微服务依赖关系图
微服务依赖关系图的作用是什么? 可视化微服务之间的依赖关系,识别服务依赖问题,优化服务架构。
如何设计微服务依赖关系图? 使用服务映射图,展示服务之间的调用关系,标注调用量和错误率。
微服务依赖关系可视化:
错误追踪面板
错误追踪面板的作用是什么? 追踪和分析 API 错误,识别错误模式,快速修复问题。
错误追踪面板包括哪些呢?
第一个:错误趋势。 错误数量的时间趋势。
第二个:错误分类。 错误类型的分类统计。
第三个:错误详情。 错误的详细信息,包括错误堆栈、请求上下文等。
第四个:错误关联。 错误与 Trace 的关联,完整的错误追踪链路。
本节小结
在本节中,我们学习了后端服务 Dashboard:
第一个是 API 性能指标。 追踪请求速率、错误率、响应时间,应用 RED 方法。
第二个是服务健康状态。 监控服务的可用性,识别服务故障,快速响应问题。
第三个是数据库性能。 监控数据库查询性能,识别慢查询,优化数据库性能。
第四个是微服务依赖关系图。 可视化微服务之间的依赖关系,识别服务依赖问题,优化服务架构。
第五个是错误追踪面板。 追踪和分析 API 错误,识别错误模式,快速修复问题。
后端服务 Dashboard 设计流程: 选择关键指标 → 设计可视化 → 配置告警 → 建立基线 → 持续优化。
这就是后端服务 Dashboard。通过后端服务 Dashboard,我们可以全面监控后端应用的性能和健康状况。
在下一节,我们将学习基础设施 Dashboard。学习如何设计基础设施监控 Dashboard。