Grafana 的 GitLab 数据源
GitLab 数据源插件允许您跟踪详细的 GitLab 统计信息,例如主要贡献者、每日提交或每日部署。您还可以使用模板变量,如项目,为仪表板设置过滤器。您可以将 GitLab API 的数据与其他来源的数据结合使用。
要求
此插件有以下要求
- GitLab 账户
- 以下账户类型之一
- 任何免费或付费的 Grafana Cloud 计划或已激活的 本地 GitLab 企业版许可证。合同云客户应参考其协议。
安装 GitLab 数据源插件
要安装数据源,请参阅 安装
配置 GitLab
创建具有 read_api
范围权限的个人访问令牌
- 前往您的 个人访问令牌。
- 填写 名称 和 过期时间 字段。
- 从 范围 中选择 read_api。
- 单击 创建个人访问令牌 按钮,并复制您的个人访问令牌。
在 Grafana 中配置数据源
通过填写以下字段 添加数据源
- 名称
- 为这个特定的 GitLab 数据源命名
- URL
- 您的 GitLab 实例的根 URL,例如
https://gitlab.com/api/v4
。 - 访问令牌
- 我们的 GitLab 个人访问令牌。
使用配置文件配置数据源
您可以使用带有 Grafana 配置文件的配置文件使用 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
(可选)按环境/状态过滤
使用输入字段按
环境
和/或状态
进行筛选。状态属性可以是以下值之一:
已创建
、运行中
、成功
、失败
和已取消
。
环境
GitLab数据源允许您查询特定项目的环境。
选择资源类型
使用下拉菜单选择
环境
资源类型。根据需要填写选项
使用输入字段添加项目ID,并通过设置其他字段筛选环境。
问题
GitLab数据源允许您查询特定项目的问题。
选择资源类型
使用下拉菜单选择
问题
资源类型。添加项目 ID
使用输入字段添加项目 ID。
(可选)按标题/描述筛选
使用输入字段根据其
标题
和描述
搜索问题。
标签
GitLab数据源允许您查询特定项目的标签。
选择资源类型
使用下拉菜单选择
标签
资源类型。添加项目 ID
使用输入字段添加项目 ID。
合并请求批准
GitLab数据源允许您获取特定的合并请求批准。
选择资源类型
使用下拉菜单选择
合并请求批准
资源类型。添加项目 ID
使用输入字段添加项目 ID。
添加合并请求ID
使用输入字段添加合并请求ID。
合并请求
GitLab数据源允许您查询与设置的Gitlab账户、指定项目或指定组相关的合并请求。
选择资源类型
使用下拉菜单选择
合并请求
资源类型。根据需要填写选项
合并请求可以通过多个字段进行查询。如果没有设置项目ID或组ID,则数据源将返回与指定的GitLab账户相关的所有合并请求。
管道
GitLab数据源允许您查询特定项目的管道。
选择资源类型
使用下拉菜单选择
管道
资源类型。根据需要填写选项
使用输入字段添加项目ID,并通过设置其他字段筛选管道。
项目
GitLab数据源允许您查询项目。
- 从下拉菜单中选择项目资源类型。
- (可选)筛选您拥有的项目
使用下拉菜单选择是
或否
以筛选结果。
注意:请考虑获取所有项目(所有者 = 否
)可能需要很长时间。
发布
GitLab数据源允许您查询特定项目的版本。
选择资源类型
使用下拉菜单选择
版本
资源类型。添加项目 ID
使用输入字段添加项目 ID。
标签
GitLab数据源允许您查询特定项目的标签。
选择资源类型
使用下拉菜单选择
标签
资源类型。添加项目 ID
使用输入字段添加项目 ID。
(可选)按搜索筛选
使用输入字段根据其
名称
搜索标签。您可以使用^term
和term$
来查找以term
开头和结尾的标签。
用户
GitLab数据源允许您查询用户。您必须具有管理员权限才能使用大多数字段。
选择资源类型
使用下拉菜单选择
用户
资源类型。根据需要填写选项
可以通过多个字段查询用户。如果没有提供用户名,则将返回您是管理员的用户,并按其他字段进行筛选。
模板和变量
要添加新的GitLab查询变量,请参阅添加查询变量。使用您的GitLab数据源作为数据源。选择资源类型:发布、项目或标签。
要获取可选择的动态列表,例如项目、标签等,请创建一个查询类型变量。
查询类型变量使用GitLab查询编辑器查询并返回项目、标签等。
示例:创建一个用于参数化查询的项目变量。
- 添加一个名为project的查询类型变量。
- 选择您的GitLab数据源并刷新
在仪表板上载时
。 - 选择资源类型:
项目
,所有者:是
,显示字段:名称
和值字段id
。 - 点击更新,将变量添加到仪表板。
- 您的仪表板上会显示一个下拉列表,包含项目列表。
- 在仪表板上添加一个新的面板,并使用
$project
作为项目ID。 - 现在,从下拉列表中选择时,您将获得属于该项目的结果。
创建变量后,您可以通过使用变量语法在GitLab查询中使用它。有关变量的更多信息,请参阅模板和变量。
使用Grafana转换来回答常见问题
现在您可以使用基本的GitLab查询来查找提交、问题等,您可以使用转换来可视化、聚合、分组和连接数据集,以及许多其他类型的转换,将简单结果转换为复杂问题的答案。以下是一些常见问题及其使用转换回答它们的方法。
问题:我的项目中每天有多少提交/问题/部署?
添加一个查询
a. 选择资源类型:提交。
b. 添加项目ID。
添加一个新的分组转换
a. 分组 =
created_at_date
。b. 计算(
计数
)=id
。选择
图形
可视化。
问题:我的项目中关闭问题的平均时间是多少?
添加一个查询
a. 选择资源类型:问题。
b. 添加项目ID。
添加一个新的添加计算字段转换
a. 模式 = 二进制运算。
b. 运算 =
closed_at
-created_at
。c. 别名 =
resolution_time
。添加一个新的添加计算字段转换
a. 模式 = 二进制运算。
b. 运算 =
resolution_time
/ 86400000(1000 * 3600 * 24)……获取天数。c. 别名 =
resolution_time
。d. 替换所有字段 = True。
选择
统计
可视化。a. 显示 = 计算。
b. 计算 = 平均值。
c. 字段 =
resolution_time
。