升级到 Grafana v12.0
我们建议您经常升级 Grafana,以便及时获取最新的修复和增强功能。由于 Grafana 升级向后兼容,升级过程非常简单,仪表盘和图表不会发生变化。
除了适用于所有 Grafana 版本应完成的常见任务外,某些版本可能还需要完成额外的升级任务。
注意
某些版本可能存在重大变更。我们会在
新增功能 文档中概述所有这些变更。
对于早于 v9.2 的 Grafana 版本,我们在 发布说明 中发布了更多信息。
如有更改,我们会在 变更日志 中列出所有更改并附带指向拉取请求或问题的链接。
注意
如果可能,建议您在测试或开发环境中测试 Grafana 升级过程。
备份 Grafana
本主题解释了如何备份本地 Grafana 部署,包括配置、插件数据和 Grafana 数据库。
备份 Grafana 配置文件
将您在 Grafana 部署中可能修改过的 Grafana 配置文件复制到备份目录。
Grafana 配置文件位于以下目录
- 默认配置:
$WORKING_DIR/defaults.ini(请勿更改此文件) - 自定义配置:
$WORKING_DIR/custom.ini
有关查找配置文件的更多信息,请参阅 配置文件位置。
注意
如果您使用
deb或rpm包安装了 Grafana,则您的配置文件位于/etc/grafana/grafana.ini。此路径在 Grafana 的init.d脚本中使用--config文件参数指定。
备份插件数据
在 Grafana 中安装插件会为每个插件创建一个文件夹,其中包含相关的文件和数据。将此位置的所有文件和文件夹递归复制到您的备份仓库。
Grafana 插件文件位于以下目录
- 二进制或源代码安装中插件的默认位置:
$WORKING_DIR/data/plugins - 在
deb或rpm包中插件的默认位置:/var/lib/grafana/plugins。此路径在 Grafana init.d 脚本中使用--config文件参数指定。
备份 Grafana 数据库
建议您备份 Grafana 数据库,以便在需要时可以回滚到先前版本。
SQLite
默认的 Grafana 数据库是 SQLite,它将数据存储在磁盘上的一个文件中。要备份此文件,请将其复制到您的备份仓库。
注意
为确保数据完整性,在备份 SQLite 数据库之前请关闭 Grafana 服务。
SQLite 数据库文件位于以下目录之一
- 二进制或源代码安装中 SQLite 数据的默认位置:
$WORKING_DIR/data/grafana.db - 在
deb或rpm包中 SQLite 数据的默认位置:/var/lib/grafana/grafana.db。此路径在 Grafana init.d 脚本中使用--config文件参数指定。
MySQL
要备份或恢复 MySQL Grafana 数据库,请运行以下命令
backup:
> mysqldump -u root -p[root_password] [grafana] > grafana_backup.sql
restore:
> mysql -u root -p grafana < grafana_backup.sqlPostgres
要备份或恢复 Postgres Grafana 数据库,请运行以下命令
backup:
> pg_dump grafana > grafana_backup
restore:
> psql grafana < grafana_backup升级 Grafana
以下部分提供了根据您的安装方法升级 Grafana 的说明。有关查找配置文件的更多信息,请参阅 配置文件位置。
Debian
要升级从 Debian 包(.deb)安装的 Grafana,请完成以下步骤
在您当前的 Grafana 安装中,将您的自定义配置更改保存到名为
<grafana_install_dir>/grafana.ini的文件中。这使您能够在升级 Grafana 时不会丢失配置更改。
下载 最新版本的 Grafana。
运行以下
dpkg -i命令。wget <debian package url> sudo apt-get install -y adduser sudo dpkg -i grafana_<version>_amd64.deb
APT 仓库
要升级从 Grafana Labs APT 仓库安装的 Grafana,请完成以下步骤
在您当前的 Grafana 安装中,将您的自定义配置更改保存到名为
<grafana_install_dir>/grafana.ini的文件中。这使您能够在升级 Grafana 时不会丢失配置更改。
运行以下命令
sudo apt-get update sudo apt-get upgrade
当您运行 apt-get upgrade 时,Grafana 会自动更新。
二进制 .tar 文件
要升级从二进制 .tar.gz 包安装的 Grafana,请完成以下步骤
在您当前的 Grafana 安装中,将您的自定义配置更改保存到自定义配置文件
custom.ini或grafana.ini。这使您能够在升级 Grafana 时不会丢失配置更改。
下载 二进制
.tar.gz包。提取下载的包并覆盖现有文件。
RPM 或 YUM
要使用 RPM 或 YUM 升级安装的 Grafana,请完成以下步骤
在您当前的 Grafana 安装中,将您的自定义配置更改保存到名为
<grafana_install_dir>/grafana.ini的文件中。这使您能够在升级 Grafana 时不会丢失配置更改。
根据您的安装执行以下步骤之一。
如果您下载了 RPM 包 安装 Grafana,则请完成文档中的步骤在 Red Hat、RHEL 或 Fedora 上安装 Grafana 或在 SUSE 或 openSUSE 上安装 Grafana 来升级 Grafana。
如果您使用了 Grafana YUM 仓库,请运行以下命令
sudo yum update grafana如果您在 openSUSE 或 SUSE 上安装了 Grafana,请运行以下命令
sudo zypper update
Docker
要升级在 Docker 容器中运行的 Grafana,请完成以下步骤
使用 Grafana 环境变量 保存您的自定义配置;这是推荐的方法。此外,您也可以通过访问已部署的容器手动查看配置文件。
这使您能够在升级 Grafana 时不会丢失配置更改。
运行类似于以下命令的命令。
注意
这是一个示例。您输入的参数取决于您如何配置 Grafana 容器。
docker pull grafana/grafana docker stop my-grafana-container docker rm my-grafana-container docker run -d --name=my-grafana-container --restart=always -v /var/lib/grafana:/var/lib/grafana grafana/grafana
Windows
要升级在 Windows 上安装的 Grafana,请完成以下步骤
在您当前的 Grafana 安装中,将您的自定义配置更改保存到名为
<grafana_install_dir>/conf/custom.ini的文件中。这使您能够在升级 Grafana 时不会丢失配置更改。
下载 Windows 二进制包。
将包的内容提取到您安装 Grafana 的位置。
提示时,您可以覆盖现有文件和文件夹。
Mac
要升级在 Mac 上安装的 Grafana,请完成以下步骤
在您当前的 Grafana 安装中,将您的自定义配置更改保存到自定义配置文件
custom.ini。这使您能够在升级 Grafana 时不会丢失配置更改。
下载 Mac 二进制包。
将包的内容提取到您安装 Grafana 的位置。
提示时,您可以覆盖现有文件和文件夹。
更新 Grafana 插件
升级 Grafana 后,建议您更新所有插件,因为新版本的 Grafana 可能会导致旧版本插件无法正常工作。
运行以下命令更新插件
grafana cli plugins update-all技术说明
Grafana 数据源 UID 格式强制执行
确保您的数据源 UID 遵循正确的标准
多年来(至少从 Grafana v5 开始),我们对 Grafana 对象的 UID 定义方式都有标准。虽然我们所有的内部代码都符合此格式,但我们尚未在允许创建和更新数据源的 REST API 和配置路径中严格强制执行此格式。
在 Grafana v11.1 中,我们引入了一个警告,每次使用无效的 UID 格式创建或更新数据源实例时,都会发送到 Grafana 服务器日志。
在 Grafana v11.2 中,我们添加了一个名为 failWrongDSUID 的新功能开关,默认关闭。启用后,REST API 和配置将拒绝任何创建或更新 UID 不正确的数据源实例的请求。
在 Grafana v12.0 中,我们将默认开启功能开关 failWrongDSUID。
正确的 UID 格式
您可以在 grafana/grafana 仓库中找到确切的正则表达式定义。
数据源 UID 只能包含
- 拉丁字符(
a-Z) - 数字(
0-9) - 破折号(
-)
我如何知道我是否受到影响?
- 您可以使用
/api/datasourcesAPI 获取所有数据源。如文档中所示,查看uid字段,并与正确格式进行比较。以下脚本可以提供帮助,但请注意它缺少您必须自行添加的身份验证
curl https://:3000/api/datasources | jq '.[] | select((.uid | test("^[a-zA-Z0-9\\-_]+$") | not) or (.uid | length > 40)) | {id, uid, name, type}'- 或者,您可以检查服务器日志中是否有
Invalid datasource uid错误。
如果我受到影响怎么办?
您需要创建一个具有正确 UID 的新数据源,并更新您的仪表盘和告警规则以使用它。
如何更新我的仪表盘以使用新的或已更新的数据源?
- 转到使用该数据源的仪表盘,并通过在面板下方的选择器中选择新的或已更新的数据源来进行更新。
或
直接使用查找和替换更新仪表盘的 JSON 模型。
导航到仪表盘 JSON 模型 并仔细替换所有旧的
uid为新创建的uid。![Updating JSON Model of a Dashboard]()
如何更新我的告警规则以使用新的或已更新的数据源?
打开您要调整的告警规则,并查找用于查询/告警条件的数据源。然后,从下拉列表中选择新的数据源并保存告警规则。
在插件 CLI 安装命令中强制执行更严格的版本兼容性检查
自 Grafana 10.2 起,使用 grafana cli plugins install 安装插件时检查兼容版本的端点发生了变化,导致不再考虑 Grafana 依赖版本。这可能导致 CLI 安装的插件未能完全兼容,尽管其通过 grafanaDependency 属性在 plugin.json 文件声明了兼容性。
如果我想忽略兼容性检查怎么办?
我们不建议安装声明为不兼容的插件。但是,如果您需要在插件被声明为不兼容的情况下强制安装,请参阅从 ZIP 文件安装插件 指南。




