数据源管理
Grafana 支持许多不同的存储后端来存储您的时间序列数据(数据源)。有关在 Grafana 中使用数据源的更多信息,请参阅 数据源。只有具有组织管理员角色的用户才能添加数据源。
有关数据源特定文档的链接,请参阅 数据源。
数据源权限
您可以配置数据源权限,以允许或拒绝某些用户查询、编辑或管理数据源。每个数据源的配置都包含一个“权限”选项卡,您可以在其中将数据源权限限制为特定用户、服务帐户、团队或角色。
query
权限允许用户查询数据源。edit
权限允许用户查询数据源,编辑数据源的配置并删除数据源。admin
权限允许用户查询和编辑数据源,更改数据源的权限,并为数据源启用或禁用查询缓存。
注意
在 Grafana 企业版 和 Grafana Cloud 中可用。
默认情况下,组织中的数据源可以被该组织中的任何用户查询。例如,具有 Viewer
角色的用户可以对数据源发出任何可能的查询,而不仅仅是他们有权访问的仪表盘中存在的查询。此外,默认情况下,数据源可以由创建该数据源的用户以及具有 Admin
角色的用户进行编辑。
为用户、服务帐户、团队或角色分配数据源权限
您可以为用户、服务帐户、团队和角色分配数据源权限,这将允许访问查询、编辑或管理数据源。
- 单击左侧菜单中的“连接”。
- 在“您的连接”下,单击“数据源”。
- 选择您要分配权限的数据源。
- 在“权限”选项卡上,单击“添加权限”。
- 选择“用户”、“服务帐户”、“团队”或“角色”。
- 选择您要修改权限的实体。
- 选择“查询”、“编辑”或“管理”权限。
- 单击“保存”。
编辑用户、服务帐户、团队或角色的数据源权限
- 单击左侧菜单中的“连接”。
- 在“您的连接”下,单击“数据源”。
- 选择您要编辑权限的数据源。
- 在“权限”选项卡上,找到您要更新的“用户”、“服务帐户”、“团队”或“角色”权限。
- 在“权限”下拉菜单中选择不同的选项。
删除用户、服务帐户、团队或角色的数据源权限
- 单击左侧菜单中的“连接”。
- 在“您的连接”下,单击“数据源”。
- 选择您要删除权限的数据源。
- 在“权限”选项卡上,找到您要删除的“用户”、“服务帐户”、“团队”或“角色”权限。
- 单击权限旁边的“X”。
查询和资源缓存
当您启用查询和资源缓存时,Grafana 会临时存储数据源查询和资源请求的结果。当您或其他用户再次提交相同的查询或资源请求时,结果将从缓存中返回,而不是从数据源返回。
在使用 Grafana 时,查询是指请求要修改或显示的数据帧。资源是指插件发出的任何 HTTP 请求,例如 Amazon Timestream 插件从 AWS 请求可用数据库列表。有关数据源查询和资源的更多信息,请参阅有关 后端插件 的开发者页面。
缓存功能适用于 所有 后端数据源。您可以在 Grafana 的 配置 中全局启用缓存,并为每个数据源单独配置缓存持续时间(也称为生存时间或 TTL)。
注意
在 Grafana 企业版 和 Grafana Cloud 中可用。
以下缓存后端选项可用:内存中、Redis 和 Memcached。
注意
将缓存的查询存储在内存中会增加 Grafana 的内存占用。在生产环境中,强烈建议使用 Redis 或 Memcached 后端。
当面板查询具有缓存数据的源时,它将根据面板的 间隔 检索新数据或使用缓存数据。间隔用于将查询时间范围舍入到附近的缓存时间范围,从而提高缓存命中的可能性。因此,具有较短时间范围的较宽面板和仪表盘比具有较长时间范围的较窄面板和仪表盘更频繁地检索新数据。
面板的间隔在查询选项中可见。它是按如下方式计算的:时间范围 / 最大数据点
。最大数据点是根据面板的宽度计算的。例如,在时间范围为过去 7 天
的仪表板中,一个宽度为1000 个数据点
的宽面板将每 10 分钟检索一次新数据:7d / 1000 = 10m
。在此示例中,该面板的缓存数据将在 Grafana 需要再次查询数据源以获取新数据之前最多提供 10 分钟。
可以通过在面板的查询选项中增加最大数据点设置来配置面板以更频繁地检索数据。
缓存优势
通过减少发送到数据源的查询和请求数量,缓存可以提供以下优势
- 更快的仪表板加载时间,尤其是在流行的仪表板中。
- 降低 API 成本。
- 降低 API 限速或限制请求的可能性。
支持查询缓存的数据源
查询缓存适用于 Grafana 的内置数据源,以及后端数据源插件,这些插件扩展了插件 SDK 中的DataSourceWithBackend
类。
要验证数据源是否支持查询缓存,请按照下面的说明进行操作,以启用和配置查询缓存。如果在 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 调试数据源查询时,这将特别有用。