使用jwt身份验证在grafana中导入JSON数据

问题描述 投票:0回答:1

我计划创建一个 grafana 仪表板来监控我的网络应用程序性能。 我使用我的自托管 umami 实例收集网站登陆页面的分析。 Umami 提供 REST API 来读取网站统计信息。 文档说,API 身份验证是通过获取 jwt 令牌并将其传递到 http 标头以从端点检索数据来实现的。

Grafana 中的 JSON 插件似乎只适用于基本的 http 身份验证。

我希望存储 jwt 令牌并随后在请求中传递 ist 。在最好的情况下,身份验证过程在每次获取之前都是自动化的。如何实现通过jwt token授权获取数据?

以下是一些在 Grafana 中使用 JWT 令牌授权来获取数据的方法,即使插件似乎只支持基本身份验证:

json authentication jwt grafana analytics
1个回答
0
投票
利用 Grafana 的数据源代理:

    配置反向代理:在 Umami API 之前设置 NGINX 或 Apache 等反向代理。 向代理添加身份验证:配置代理来处理 JWT 身份验证,将带有有效令牌的请求转发到 Umami API。 创建 Grafana 数据源:使用基本身份验证和代理的适当凭据,将数据源指向反向代理的 URL。

编写自定义数据源插件: 开发插件:创建一个专门支持JWT身份验证的Grafana数据源插件。 实现身份验证逻辑:处理令牌检索、存储以及包含在插件内的请求中。 优点:完全控制身份验证和数据检索,针对 Umami 的 API 量身定制。

  1. 使用中间件(如果可用): 检查中间件支持:一些 Grafana 插件可能提供中间件或请求拦截器。 拦截请求:在请求发送到 API 之前,使用中间件将 JWT 令牌注入到请求中。

  2. 利用外部身份验证: 使用 JWT 身份验证配置 Grafana:设置 Grafana 以使用 JWT 身份验证进行用户登录。 利用 Grafana 变量:将 JWT 令牌存储在 Grafana 变量中。 在请求中传递令牌:在数据源查询中引用变量以将令牌包含在授权标头中。 其他注意事项:

  3. 考虑安全影响:仔细评估每种方法的安全性,特别是在令牌存储和传输方面。 选择最合适的方法:选择最适合您的技术专业知识、安全要求和 Grafana 设置的方法。 探索社区资源:查阅 Grafana 文档和社区论坛,获取与 JWT 身份验证相关的具体指南和示例。

  4. 记住要小心处理安全问题,尤其是在处理身份验证令牌时。确保 JWT 令牌安全存储和传输。如果 Umami 的 API 提供令牌过期功能,请确保实施令牌刷新以避免数据检索中断。

© www.soinside.com 2019 - 2024. All rights reserved.