Grafana 配置
废弃于 16.0 版本。
Grafana 是一种工具,可让您通过图表和仪表盘可视化时间序列指标。极狐GitLab 将性能数据写入 Prometheus,Grafana 允许您查询数据,来显示有用的图表。
废弃捆绑的 Grafana
捆绑的 Grafana 是一项可选的 Linux 软件包安装服务,它为极狐GitLab 指标提供了一个用户界面。
现在不再支持与软件包安装捆绑在一起的 Grafana 版本。如果您使用的是捆绑的 Grafana,则应切换到 Grafana Labs 的更新版本。
切换到新的 Grafana 实例
要从捆绑的 Grafana 切换到 Grafana Labs 的更新版本的 Grafana:
- 从 Grafana Labs 设置一个 Grafana 版本。
- 从捆绑的 Grafana 导出现有仪表盘。
- 在新的 Grafana 实例中导入现有的仪表盘。
- 配置极狐GitLab 使用新的 Grafana 实例。
临时解决方法
在极狐GitLab 16.0 到 16.2 版本中,您仍然可以通过设置以下内容,强制 Linux 软件包安装启用和配置 Grafana:
grafana['enable'] = true
grafana['enable_deprecated_service'] = true
重新配置极狐GitLab 时,您会看到一条关于废弃的消息。
配置 Grafana
先决条件:
- 安装了 Grafana。
- 以管理用户身份登录 Grafana。
- 从 Configuration 菜单中选择 Data Sources。
- 选择 Add data source 按钮。
- 选择所需的数据源类型。例如,Prometheus。
- 填写数据源的详细信息,然后选择 Save & Test 按钮。
Grafana 应指示数据源正在工作。
导入仪表盘
您现在可以导入一组默认 Grafana 仪表盘来开始显示有用的信息:
- 克隆仓库,或下载 ZIP 文件,或 tarball。
-
按照以下步骤分别导入每个 JSON 文件:
- 以管理员用户身份登录 Grafana。
- 从 Dashboards 菜单中选择 Manage。
- 选择 Import 按钮,然后选择 Upload JSON file 按钮。
- 找到要导入的 JSON 文件并选择 Choose for Upload。 选择 Import 按钮。
- 仪表盘导入后,选择顶部栏中的 Save dashboard 图标。
如果您在导入后不保存仪表盘,则当您离开页面时,仪表盘将被删除。对要导入的每个仪表盘重复此过程。
或者,您可以将所有仪表盘导入您的 Grafana 实例。有关此流水线的更多信息,请参阅 Grafana 仪表板的自述文件 仓库。
与极狐GitLab UI 集成
设置 Grafana 后,您可以启用链接,从极狐GitLab 侧边栏中轻松访问它:
- 在顶部栏上,选择 主菜单 > 管理员。
- 在左侧边栏中,选择 设置 > 指标与分析 并展开 指标 - Grafana。
- 选择 添加链接到 Grafana 复选框。
- 配置 Grafana URL:
-
如果 Grafana 通过 Linux 软件包安装在同一服务器上启用,保持 Grafana URL 不变,应该是
/-/grafana
。 - 否则,输入 Grafana 实例的完整 URL。
-
如果 Grafana 通过 Linux 软件包安装在同一服务器上启用,保持 Grafana URL 不变,应该是
- 选择 保存修改。
极狐GitLab 在 主菜单 > 管理员 > 监控 > 指标仪表盘 中显示您的链接。
所需范围
引入于 13.10 版本
通过上述流程设置 Grafana 时,在 主菜单 > 管理员 > 应用 > GitLab Grafana 的页面中不会显示任何范围。但是,read_user
范围是必需的,并且会自动提供给应用。当您尝试使用极狐GitLab 作为 OAuth provider 登录时,设置除 read_user
以外的任何范围而不包括 read_user
会导致此错误:
The requested scope is invalid, unknown, or malformed.
如果您看到此错误,请确保在 GitLab Grafana 配置页面中满足以下条件之一:
- 没有范围出现。
- 包括
read_user
范围。
13.10 之前的版本使用 API 范围而不是
read_user
。在 13.10 之前的 GitLab 版本中,API 范围:
- 需要通过 GitLab OAuth provider 访问 Grafana。
- 通过启用 Grafana 应用程序进行设置,如与 GitLab UI 集成文档中所示。