使用指标进行故障排除

了解存在哪些指标以及如何使用它们来排除错误和性能问题。

对于正在运行的 Keycloak 部署,了解系统性能以及是否达到您的服务级别目标 (SLO) 非常重要。有关 SLO 的更多详细信息,请参阅使用服务级别指标监控性能指南。

本指南将提供方向来回答以下问题:“当我的 SLO 未达到时,我该怎么办?”

Keycloak 由多个组件组成,其中一个组件的问题或错误配置可能会使您的服务级别指标变为不良数值。

本指南提供的指导在以下示例中进行了说明

观察:延迟服务级别目标未达到。

指示问题的指标:

  1. Keycloak 的数据库连接池经常耗尽,并且有线程在排队等待从池中检索连接。

  2. Keycloak 的 users 缓存命中率很低,约为 5%。这意味着每 20 次用户搜索中只有 1 次能够从缓存中获取用户数据,其余的则需要从数据库加载。

建议的可能缓解措施

  • users 缓存大小增加到更高的数值,这将减少从数据库读取的次数。

  • 增加连接池中的连接数。这将需要使用数据库的指标进行检查,并针对更高的负载进行调整,例如,通过增加可用处理器数量。

  • 本指南侧重于 Keycloak 指标。数据库本身的故障排除不在本指南的范围内。

  • 本指南提供一般指导。您应始终通过进行性能测试来确认配置更改,比较旧配置和新配置的相关指标。

以下指标的 Grafana 仪表板可以在在仪表板中可视化活动指南中找到。

在此页上