数据源管理
Grafana 支持多种不同的时间序列数据存储后端(数据源)。有关在 Grafana 中使用数据源的更多信息,请参阅数据源。只有拥有组织管理员角色的用户才能添加数据源。
有关数据源特定文档的链接,请参阅数据源。
数据源权限
您可以配置数据源权限以允许或拒绝某些用户查询、编辑或管理数据源。每个数据源的配置都包含一个“权限”选项卡,您可以在其中限制数据源权限仅限于特定用户、服务账号、团队或角色。
query
权限允许用户查询数据源。edit
权限允许用户查询数据源、编辑数据源配置和删除数据源。admin
权限允许用户查询和编辑数据源,更改数据源权限以及启用或禁用数据源的查询缓存。
注意
默认情况下,组织中的数据源可以被该组织中的任何用户查询。例如,具有 Viewer
角色的用户可以向数据源发出任何可能的查询,而不仅仅是他们有权访问的仪表盘上的查询。此外,默认情况下,数据源可以由创建数据源的用户以及具有 Admin
角色的用户编辑。
为用户、服务账号、团队或角色分配数据源权限
您可以为用户、服务账号、团队和角色分配数据源权限,这将允许其访问数据源进行查询、编辑或管理。
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 选择您要分配权限的数据源。
- 在“权限”选项卡上,单击添加权限。
- 选择用户、服务账号、团队或角色。
- 选择您要修改权限的实体。
- 选择查询、编辑或Admin权限。
- 单击保存。
编辑用户、服务账号、团队或角色的数据源权限
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 选择您要编辑权限的数据源。
- 在“权限”选项卡上,找到您要更新的用户、服务账号、团队或角色权限。
- 在“权限”下拉列表中选择不同的选项。
移除用户、服务账号、团队或角色的数据源权限
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 选择您要移除权限的数据源。
- 在“权限”选项卡上,找到您要移除的用户、服务账号、团队或角色权限。
- 单击权限旁边的 X。
查询和资源缓存
启用查询和资源缓存后,Grafana 会暂时存储数据源查询和资源请求的结果。当您或另一个用户再次提交相同的查询或资源请求时,结果将从缓存而不是数据源返回。
使用 Grafana 时,查询是指修改或显示数据帧的请求。资源是指插件发出的任何 HTTP 请求,例如 Amazon Timestream 插件请求 AWS 中可用数据库列表。有关数据源查询和资源的更多信息,请参阅开发者页面关于后端插件的内容。
缓存功能适用于所有后端数据源。您可以在 Grafana 的配置中全局启用缓存,并为每个数据源单独配置缓存持续时间(也称为生存时间或 TTL)。
注意
提供以下缓存后端选项:内存、Redis 和 Memcached。
注意
将缓存的查询存储在内存中会增加 Grafana 的内存占用。在生产环境中,强烈建议使用 Redis 或 Memcached 后端。
当面板查询带有缓存数据的数据源时,它会根据面板的间隔来获取新数据或使用缓存数据。间隔用于将查询时间范围舍入到附近的缓存时间范围,从而增加缓存命中率。因此,宽度较大的面板和时间范围较短的仪表盘比宽度较小的面板和时间范围较长的仪表盘更频繁地获取新数据。
面板的间隔在查询选项中可见。其计算方式如下:时间范围 / 最大数据点数
。最大数据点数根据面板的宽度计算。例如,在时间范围为“最近 7 天”的仪表盘上,具有 1000 个数据点的宽面板将每 10 分钟检索一次新数据:7 天 / 1000 = 10 分钟
。在此示例中,此面板的缓存数据将最多提供 10 分钟,然后 Grafana 需要再次查询数据源以获取新数据。
您可以通过增加面板查询选项中的最大数据点数设置来配置面板更频繁地检索数据。
缓存的益处
通过减少发送到数据源的查询和请求数量,缓存可以提供以下益处
- 更快的仪表盘加载时间,特别是对于热门仪表盘。
- 降低 API 成本。
- 降低 API 限速或限制请求的可能性。
支持查询缓存的数据源
查询缓存适用于 Grafana 的内置数据源,以及扩展插件 SDK 中 DataSourceWithBackend
类的后端数据源插件。
注意
CloudWatch 数据源的 Logs Insights 不支持查询缓存,因为其从 AWS 请求日志的方式。
要验证数据源是否支持查询缓存,请按照以下说明启用和配置查询缓存。如果在 Grafana 中启用了缓存,但给定数据源的“缓存”选项卡不可见,则该数据源不支持查询缓存。
注意
一些数据源(如 Elasticsearch、Prometheus 和 Loki)本身就缓存查询,因此 Grafana 的查询缓存不会显著提高性能。但是,资源缓存可能会有所帮助。详情请参阅插件资源。
启用和配置查询缓存
您必须是组织管理员或 Grafana 管理员才能为数据源启用查询缓存。有关 Grafana 角色和权限的更多信息,请参阅关于用户和权限。
默认情况下,数据源查询不进行缓存。要为单个数据源启用查询缓存,请执行以下操作:
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 在数据源列表中,单击您要启用缓存的数据源。
- 转到“缓存”选项卡。
- 单击启用。
- (可选)为数据源的查询和资源缓存选择自定义 TTL。如果您跳过此步骤,Grafana 将使用默认 TTL。
您可以选择为单个仪表盘面板覆盖数据源配置的 TTL。当您有一些查询结果的更改频率高于或低于配置的 TTL 时,此功能会很有用。在“编辑面板”视图中,选择已启用缓存的数据源,展开“查询选项”,然后以毫秒为单位输入您的 TTL。

注意
如果启用了查询缓存,但数据源设置中未显示“缓存”选项卡,则该数据源不支持查询缓存。
要配置查询缓存的全局设置,请参阅配置 Grafana Enterprise 的 caching
部分。
禁用查询缓存
要为单个数据源禁用查询缓存,请执行以下操作:
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 在数据源列表中,单击您要禁用缓存的数据源。
- 在“缓存”选项卡上,单击禁用。
要为整个 Grafana 实例禁用查询缓存,请在配置 Grafana Enterprise 的 caching
部分将 enabled
标志设置为 false
。您将不再在任何数据源上看到“缓存”选项卡,并且不会缓存任何数据源查询。
清除缓存
如果您遇到性能问题或重复查询执行变慢,请考虑清除缓存。
注意
此操作会影响所有已启用缓存的数据源。如果您使用的是 Memcached,系统将清除 Memcached 实例中的所有数据。
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 在数据源列表中,单击您要清除缓存的数据源。
- 在“缓存”选项卡上,单击清除缓存。
发送不使用缓存的请求
如果数据源查询请求包含 X-Cache-Skip
头部,Grafana 将跳过缓存中间件,并且不会在缓存中查找响应。这在调试使用 cURL 的数据源查询时特别有用。