如何抓取受 OAuth2-proxy 和 Keycloak 保护的 Prometheus

如何抓取受 OAuth2-proxy 和 Keycloak 保护的 Prometheus

我有 2 个 prometheus,都通过 oauth2-proxy 进行前向身份验证,它们在单个 keycloak 中具有相同的客户端凭据。我希望一个 prometheus 联合另一个。这是我在 prometheus.yml 中用于身份验证的配置片段

    oauth2:
      client_id: "oauth-proxy"
      client_secret: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      token_url: "https://keycloak.mydomain.tld/realms/master/protocol/openid-connect/token"

我甚至不确定他们是否应该使用 oauth-proxy 客户端 ID,或者使用不同的 ID,但我猜这并不重要。

正如您所看到的,我正在使用新的基于 quarkus 的 keycloak,它的 UI 与旧的基于 wildfly 的 keycloak 略有不同。

一开始,我收到一个错误,提示 keycloak 客户端不允许使用服务帐户令牌。我通过在客户端中启用“服务帐户角色”设置解决了这个问题。现在,抓取 prometheus 显然能够从 keycloak 获取令牌,但目标仍然显示为“401 未授权”。我在这里遗漏了什么?

相关内容