Grafana 的 GitLab 数据源
GitLab 数据源插件允许您跟踪详细的 GitLab 统计信息,例如顶级贡献者、每天的提交或每天的部署。您还可以使用模板变量(例如项目)为您的仪表盘设置过滤器。您可以将来自 GitLab API 的数据与来自其他来源的数据结合起来。
要求
此插件有以下要求
- GitLab 帐户
- 以下帐户类型之一
- 任何免费或付费的 Grafana Cloud 计划或已 激活的本地 Grafana 企业版许可证。签约的云客户应参考其协议。
安装 GitLab 数据源插件
要安装数据源,请参考 安装
配置 GitLab
创建一个具有 read_api
范围权限的个人访问令牌
- 转到您的 个人访问令牌。
- 填写名称和过期时间字段。
- 从范围中选择read_api。
- 点击创建个人访问令牌按钮,并复制您的个人访问令牌。
在 Grafana 中配置数据源
添加数据源,方法是填写以下字段
- 名称
- 此特定 GitLab 数据源的名称
- URL
- GitLab 实例的根 URL,例如
https://gitlab.com/api/v4
。 - 访问令牌
- 您的 GitLab 个人访问令牌。
使用配置进行数据源配置
可以使用配置文件和 Grafana 的配置系统来配置数据源。您可以在 配置文档页面 上详细了解其工作原理以及可以为数据源设置的所有设置
apiVersion: 1
datasources:
- name: GitLab
type: grafana-gitlab-datasource
access: proxy
basicAuth: false
editable: true
enabled: true
secureJsonData:
accessToken: Access token
url: https://gitlab.com
version: 1
查询数据源
您可以从查询编辑器中选择不同的资源类型。
资源类型
- 审核事件
- 提交
- 部署
- 环境
- 问题
- 标签
- 合并请求批准
- 合并请求
- 管道
- 项目
- 版本
- 标签
- 用户
审核事件
GitLab 数据源允许您查询与设置的 Gitlab 帐户、指定项目或指定组相关的审核事件。此功能仅限于高级帐户(用于项目/组查询)或具有管理员权限的托管 GitLab(例如查询)。
选择资源类型
使用下拉菜单并选择
审核事件
资源类型。根据需要填写选项
在云实例上,只能按项目或组查询审核事件。如果未设置项目 ID 或组 ID,则数据源将返回错误。在自托管 GitLab 上,这两个选项都不需要,数据源将返回与该帐户相关的所有审核事件。
提交
GitLab 数据源允许您查询特定项目上创作的提交。
选择资源类型
使用下拉菜单并选择
提交
资源类型。添加项目 ID
使用输入字段添加项目 ID。
(可选) 按分支/标签进行筛选。
使用输入字段添加分支/标签引用。
部署
GitLab 数据源允许您查询特定项目的部署。
选择资源类型
使用下拉菜单并选择
部署
资源类型。添加项目 ID
使用输入字段添加项目 ID
(可选) 按环境/状态进行筛选
使用输入字段按
环境
和/或状态
进行筛选。状态属性可以是以下值之一:
created
、running
、success
、failed
和canceled
。
环境
GitLab 数据源允许您查询特定项目的环境。
选择资源类型
使用下拉菜单并选择
环境
资源类型。根据需要填写选项
使用输入字段添加项目 ID,并通过设置其他字段来筛选环境。
问题
GitLab 数据源允许您查询特定项目的问题。
选择资源类型
使用下拉菜单并选择
问题
资源类型。添加项目 ID
使用输入字段添加项目 ID。
(可选) 按标题/描述进行筛选
使用输入字段根据其
标题
和描述
搜索问题。
标签
GitLab 数据源允许您查询特定项目的标签。
选择资源类型
使用下拉菜单并选择
标签
资源类型。添加项目 ID
使用输入字段添加项目 ID。
合并请求批准
GitLab 数据源允许您获取特定的合并请求批准。
选择资源类型
使用下拉菜单并选择
合并请求批准
资源类型。添加项目 ID
使用输入字段添加项目 ID。
添加合并请求 ID
使用输入框添加合并请求 ID。
合并请求
GitLab 数据源允许您查询与特定 GitLab 帐户、指定项目或指定组相关的合并请求。
选择资源类型
使用下拉菜单并选择
合并请求
资源类型。根据需要填写选项
可以通过各种字段查询合并请求。如果没有设置项目 ID 或组 ID,则数据源将返回与指定 GitLab 帐户相关的所有合并请求。
管道
GitLab 数据源允许您查询来自特定项目的流水线。
选择资源类型
使用下拉菜单并选择
流水线
资源类型。根据需要填写选项
使用输入框添加项目 ID,并通过设置其他字段过滤流水线。
项目
GitLab 数据源允许您查询项目。
- 从下拉菜单中选择项目资源类型。
- (可选) 过滤您拥有的项目
使用下拉菜单并选择是
或否
来过滤结果。
注意:请注意,获取所有项目 (Owned = No
) 可能需要很长时间。
版本
GitLab 数据源允许您查询来自特定项目的发布。
选择资源类型
使用下拉菜单并选择
发布
资源类型。添加项目 ID
使用输入字段添加项目 ID。
标签
GitLab 数据源允许您查询来自特定项目的标签。
选择资源类型
使用下拉菜单并选择
标签
资源类型。添加项目 ID
使用输入字段添加项目 ID。
(可选) 按搜索过滤
使用输入框根据
名称
搜索标签。您可以使用^term
和term$
来查找以term
开头和结尾的标签。
用户
GitLab 数据源允许您查询用户。您必须是管理员才能使用大多数字段。
选择资源类型
使用下拉菜单并选择
用户
资源类型。根据需要填写选项
可以通过各种字段查询用户。如果没有提供用户名,它将返回您是管理员且受其他字段过滤的用户。
模板和变量
要添加新的 GitLab 查询变量,请参考添加查询变量。使用您的 GitLab 数据源作为您的数据源。选择一种资源类型:发布、项目或标签。
要获取动态项目、标签等的列表以供选择,请创建一个查询类型变量。
查询类型变量使用 GitLab 查询编辑器查询并返回项目、标签等。
示例:创建一个项目变量来参数化您的查询。
- 添加一个名为project 的查询类型变量。
- 选择您的 GitLab 数据源并在
仪表板加载时
刷新。 - 选择资源类型:
项目
,owned:是
,显示字段:名称
,值字段id
。 - 单击更新将变量添加到仪表板。
- 您的仪表板会出现一个下拉菜单,其中列出了项目。
- 向仪表板添加一个新面板,并使用
$project
作为项目 ID。 - 现在,当您从下拉菜单中进行选择时,您将获得属于该项目的結果。
创建变量后,您可以使用变量语法 在您的 GitLab 查询中使用它。有关变量的更多信息,请参阅模板和变量。
使用 Grafana 的转换来回答常见问题
现在,您可以执行基本的 GitLab 查询来查找提交、问题等,您可以使用转换来可视化、聚合、分组和联接数据集,以及许多其他类型的转换,将简单结果转换为复杂问题的答案。以下是几个常见问题以及如何使用转换来回答它们。
问题:我的项目每天有多少提交/问题/部署?
添加一个查询
a. 选择资源类型:提交。
b. 添加项目 ID。
添加一个新的按分组转换
a. 按分组 =
created_at_date
。b. 计算 (
Count
) =id
。选择图表可视化。
问题:我的项目中关闭问题的平均时间是多少?
添加一个查询
a. 选择资源类型:问题。
b. 添加项目 ID。
添加一个新的从计算中添加字段转换
a. 模式 = 二进制运算。
b. 操作 =
closed_at
-created_at
。c. 别名 =
resolution_time
。添加一个新的从计算中添加字段转换
a. 模式 = 二进制运算。
b. 操作 =
resolution_time
/ 86400000 (1000 * 3600 * 24) …to get days。c. 别名 =
resolution_time
。d. 替换所有字段 = True。
选择统计可视化
a. 显示 = 计算。
b. 计算 = 平均值。
c. 字段 =
resolution_time
。