You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Grafana中使用Access Token调用REST API获取Keycloak登录事件数据

在Grafana Infinity数据源中用Access Token调用Keycloak登录事件API的配置方案

1. 把已获取的Access Token存为Grafana变量

  • 进入Grafana后台,打开「Configuration」→「Variables」,点击「New variable」
  • 变量类型选「Query」,数据源指定你已配置好的Infinity数据源
  • 在「Query」输入框里,填入你之前成功获取Token的API请求(比如POST https://your-auth-domain/token,附带账号密码或其他认证参数)
  • 用正则提取Token:在「Regex」栏填写"access_token": "([^"]+)"(适配标准JWT返回格式,若你的返回结构不同,调整正则匹配对应字段)
  • 给变量命名(比如keycloak_access_token),保存后可以在变量预览区确认Token是否正确提取

2. 配置Keycloak事件API的Infinity查询

  • 新建或编辑面板,选择Infinity数据源
  • 请求方法选GET(按Keycloak API要求调整),填入事件API地址,比如https://your-keycloak-server/auth/admin/realms/your-realm/events
  • 切换到「Headers」标签,添加授权头:
    • 键:Authorization
    • 值:Bearer ${keycloak_access_token}(用变量引用刚才存储的Token)
  • (可选)如果需要过滤事件,在「Parameters」标签添加参数,比如type=LOGIN(指定只获取登录事件)、max=100(限制返回条数)

3. 处理Token过期自动刷新

  • 回到变量配置页,在「Refresh」选项里选择「On Dashboard Load」,或设置固定刷新间隔(比如5分钟,和你的Token有效期匹配)
  • 确保获取Token的API请求能正确返回新Token,避免因过期导致查询失败

4. 验证配置有效性

  • 点击查询面板的「Run Query」,检查是否能正常返回Keycloak登录事件数据
  • 若报错,优先排查:
    • 变量预览里的Token是否有效
    • Authorization头格式是否正确(必须是Bearer 加Token,注意空格)
    • 当前Token是否拥有访问Keycloak事件API的权限(需在Keycloak里配置对应角色)

内容的提问来源于stack exchange,提问作者Bhushan Deshmukh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 15:51:53