数据源管理
Grafana 支持多种不同的存储后端用于您的时序数据(数据源)。有关在 Grafana 中使用数据源的信息,请参阅 数据源。只有拥有组织管理员角色的用户才能添加数据源。
有关数据源特定文档的链接,请参阅 数据源。
数据源权限
您可以通过配置数据源权限来允许或拒绝某些用户查询、编辑或管理数据源的能力。每个数据源的配置都包括一个“权限”选项卡,您可以在此限制数据源权限以特定用户、服务账户、团队或角色。
查询
权限允许用户查询数据源。编辑
权限允许用户查询数据源,编辑数据源的配置并删除数据源。管理
权限允许用户查询和编辑数据源,更改数据源上的权限以及启用或禁用数据源的查询缓存。
注意
在 Grafana 企业版 和 Grafana Cloud 中可用。
默认情况下,组织中的数据源可以被该组织中的任何用户查询。例如,具有查看者
角色的用户可以对数据源发出任何可能的查询,而不仅仅是他们有权访问的仪表板上的查询。此外,默认情况下,数据源可以被创建数据源的用户以及具有管理员
角色的用户编辑。
为用户、服务帐户、团队或角色分配数据源权限
您可以分配数据源权限给用户、服务帐户、团队和角色,这将允许访问查询、编辑或管理数据源。
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 选择您想分配权限的数据源。
- 在“权限”选项卡上,单击添加权限。
- 选择用户、服务帐户、团队或角色。
- 选择您想修改权限的实体。
- 选择查询、编辑或管理权限。
- 单击保存。
为用户、服务帐户、团队或角色编辑数据源权限
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 选择您想编辑权限的数据源。
- 在“权限”选项卡上,找到您想更新的用户、服务帐户、团队或角色权限。
- 在权限下拉菜单中选择不同的选项。
从用户、服务帐户、团队或角色中删除数据源权限
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 选择您想从其中删除权限的数据源。
- 在“权限”选项卡上,找到您想删除的用户、服务帐户、团队或角色权限。
- 单击权限旁边的X。
查询和资源缓存
启用查询和资源缓存时,Grafana会暂时存储数据源查询和资源请求的结果。当您或其他用户再次提交相同的查询或资源请求时,结果将来自缓存而不是数据源。
在使用Grafana时,查询是指对修改或显示数据帧的请求。资源与任何插件发出的HTTP请求相关,例如,Amazon Timestream插件请求从AWS获取可用数据库列表。有关数据源查询和资源的更多信息,请参阅后端插件的开发者页面。
缓存功能适用于所有后端数据源。您可以在Grafana的配置中全局启用缓存,并为每个数据源单独配置缓存持续时间(也称为生存时间,或TTL)。
注意
在 Grafana 企业版 和 Grafana Cloud 中可用。
以下缓存后端选项可用:内存、Redis和Memcached。
注意
在内存中存储缓存的查询会增加Grafana的内存占用。在生产环境中,强烈推荐使用Redis或Memcached后端。
当面板使用缓存数据查询数据源时,它将根据面板的间隔获取新数据或使用缓存数据。间隔用于将查询时间范围四舍五入到附近的缓存时间范围,从而增加缓存命中的可能性。因此,具有较宽面板和较短时间范围的仪表板比具有较窄面板和较长时间范围的仪表板更频繁地获取新数据。
面板的间隔在查询选项中可见。其计算方式如下:时间范围 / 最大数据点
。最大数据点基于面板的宽度计算。例如,在具有1000数据点
的仪表板上的面板宽度
为1000数据点
,时间范围为过去7天
的面板将每10分钟检索一次新数据:7天 / 1000 = 10分钟
。在这个例子中,该面板的缓存数据将在最多10分钟后由Grafana查询数据源以获取新数据。
您可以通过在面板的查询选项中增加最大数据点设置来配置面板以更频繁地检索数据。
缓存优势
通过减少发送到数据源查询和请求的数量,缓存可以提供以下优势
- 更快的仪表板加载时间,尤其是对于热门仪表板。
- 减少API成本。
- 降低API被速率限制或节流请求的可能性。
支持查询缓存的数据源
查询缓存适用于Grafana的内置数据源和扩展插件SDK中DataSourceWithBackend
类的后端数据源插件。
要验证数据源是否支持查询缓存,请按照以下说明启用并配置查询缓存。如果Grafana已启用缓存但给定数据源的缓存标签不可见,则该数据源不支持查询缓存。
注意
一些数据源,如Elasticsearch、Prometheus和Loki,会自己缓存查询,因此Grafana的查询缓存不会显著提高性能。然而,资源缓存可能会有所帮助。有关详细信息,请参阅插件资源。
启用和配置查询缓存
您必须是组织管理员或Grafana管理员才能为数据源启用查询缓存。有关Grafana角色和权限的更多信息,请参阅关于用户和权限。
默认情况下,数据源查询不进行缓存。要为单个数据源启用查询缓存
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 在数据源列表中,单击您想要启用缓存的数据源。
- 转到“缓存”标签。
- 单击启用。
- (可选)为数据源的查询和资源缓存选择自定义TTL。如果您跳过此步骤,则Grafana将使用默认TTL。
您可以选择覆盖单个仪表板面板配置的TTL。当您有查询结果变化频率与配置TTL不同时,这很有用。在编辑面板视图中,选择启用了缓存的数据库源,展开查询选项,并输入您的TTL(毫秒)。
注意
如果启用了查询缓存但数据源设置中未显示缓存标签,则该数据源不支持查询缓存。
要配置查询缓存的全局设置,请参阅配置Grafana企业版中caching
部分。
禁用查询缓存
要禁用单个数据源的查询缓存
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 在数据源列表中,单击您想要禁用缓存的数据源。
- 在“缓存”标签上,单击禁用。
要禁用整个Grafana实例的查询缓存,请在配置Grafana企业版的caching
部分将enabled
标志设置为false
。您将不再在任何数据源中看到缓存标签,且不会缓存任何数据源查询。
清除缓存
如果您遇到性能问题或重复查询变慢,请考虑清除缓存。
注意
此操作会影响所有启用缓存的数据源。如果您使用Memcached,系统将清除Memcached实例中的所有数据。
- 在左侧菜单中单击连接。
- 在“您的连接”下,单击数据源。
- 在数据源列表中,点击您要清除缓存的数据源。
- 在缓存选项卡中,点击清除缓存。
发送不带缓存的请求
如果数据源查询请求包含X-Cache-Skip
头,则Grafana将跳过缓存中间件,不搜索缓存以查找响应。这在使用cURL调试数据源查询时特别有用。