使用 OpenTelemetry 进行追踪和附加指标
在开发和性能运行时,使用 OpenTelemetry 收集追踪和附加指标。
关于 OpenTelemetry
OpenTelemetry 提供高质量、无处不在且可移植的遥测技术,以实现有效的可观察性。
本项目使用它来收集来自 Keycloak 的追踪信息
-
追踪信息允许深入了解 Keycloak,并将请求分解为内部和数据库调用的树状结构。
这使用了 Keycloak 26 及更高版本中内置的 OpenTelemetry 功能。
访问 OpenTelemetry 网站 了解有关该工具的更多信息,以及以下关于如何访问和使用这些信息的部分。
设置 OpenTelemetry
OpenTelemetry 默认禁用。需要通过自定义设置 KC_OTEL
来启用它。
根据设置 KC_OTEL_SAMPLING_PERCENTAGE
,出于性能原因,可能只记录一部分追踪信息。
与其他设置相反,这里没有使用 OpenTelemetry 收集器,而是直接将追踪信息发送到 Jaeger。 |
访问 OpenTelemetry 追踪信息
Grafana 和 Jaeger 可用于访问追踪信息,两者都默认部署。
假设命令 minikube ip
返回 192.168.39.39
,Grafana 可在 http://grafana.192.168.39.39.nip.io 上访问,Jaeger 可在 http://jaeger.192.168.39.39.nip.io 上访问
使用浏览器通过 Jaeger 数据源在 Grafana 中搜索追踪信息,或者直接使用 Jaeger UI。
在 Grafana 中搜索追踪信息时,至少选择服务 keycloak
以查看追踪信息。可以使用操作和追踪信息的标签进一步限制结果。

Jaeger UI 类似。与 Grafana UI 中一样,在搜索之前选择 Keycloak 服务。
要了解有关该工具的更多信息,请访问 Jaeger 首页。
在 Jaeger UI 中运行搜索后,搜索时间戳是固定的,并编码在 URL 中。因此,重新运行搜索或设置不同的筛选选项将不会找到在第一次搜索后创建的追踪信息。要使用最新的时间戳开始搜索,请单击菜单工具栏中的 Search。 |
