Grafana的GitLab数据源

GitLab数据源插件允许你跟踪详细的GitLab统计数据,比如最多的贡献者、每天提交的数据或者每天部署的数据。您还可以使用模板变量(例如项目)为仪表板设置过滤器。您可以将来自GitLab API的数据与来自其他来源的数据结合起来。

需求

这个插件有以下要求:

  • 一个GitLab账号
  • 以下帐户类型之一:
    • Grafana Cloud:专业客户、高级客户或启用企业插件的专业试用用户
    • Grafana企业:客户有一个激活许可证以及具有Grafana服务器或组织管理的用户权限
  • 启用企业插件插件

已知的限制

报警这个插件还不支持转换,因为警报查询中不支持转换,而且转换是从GitLab API原始数据中获得有意义的聚合指标的唯一方法。

安装GitLab数据源插件

要安装数据源,请参见安装

配置GitLab

对象的权限创建个人访问令牌read_api范围:

  1. 去你的个人访问令牌
  2. 填写的名字而且到期字段。
  3. 作用域中,选择read_api
  4. 单击创建个人访问令牌按钮,复制您的个人访问令牌。

在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(用于实例查询)。

  1. 选择资源类型:

    使用下拉菜单并选择审计事件资源类型。

  2. 根据需要填写选项:

    在云实例上,审计事件只能按项目或组查询。如果没有设置项目ID或组ID,则数据源将返回一个错误。在自托管的gitlab上,这些选项都不需要,数据源将返回与该帐户相关的所有审计事件。

提交

GitLab数据源允许您查询提交撰写于一个特定的项目。

  1. 选择资源类型:

    使用下拉菜单并选择提交资源类型。

  2. 添加项目Id:

    使用输入字段添加项目Id。

  3. (可选)按分支/标签过滤。

    使用输入字段添加分支/标记引用。

部署

GitLab数据源允许您查询部署从一个特定的项目。

  1. 选择资源类型:

    使用下拉菜单并选择部署资源类型。

  2. 添加项目Id:

    使用输入字段添加项目Id:

  3. (可选)按环境/状态过滤

    使用输入字段进行筛选环境和/或状态

    status属性可以是以下值之一:创建运行成功失败的,取消了

环境

GitLab数据源允许您查询环境从一个特定的项目。

  1. 选择资源类型:

    使用下拉菜单并选择环境资源类型。

  2. 根据需要填写选项:

    使用输入字段添加项目Id,并通过设置其余字段对环境进行筛选。

问题

GitLab数据源允许您查询问题从一个特定的项目。

  1. 选择资源类型:

    使用下拉菜单并选择问题资源类型。

  2. 添加项目Id:

    使用输入字段添加项目Id。

  3. (可选)按标题/描述过滤:

    使用输入字段搜索问题标题而且描述

标签

GitLab数据源允许您查询标签从一个特定的项目。

  1. 选择资源类型:

    使用下拉菜单并选择标签资源类型。

  2. 添加项目Id:

    使用输入字段添加项目Id。

合并请求批准

GitLab数据源允许您获得特定的合并请求批准

  1. 选择资源类型:

    使用下拉菜单并选择合并请求审批资源类型。

  2. 添加项目Id:

    使用输入字段添加项目Id。

  3. 添加合并请求Id

    使用输入字段添加合并请求Id。

合并请求

GitLab数据源允许您查询合并请求与设置的Gitlab账号、指定项目或指定组相关。

  1. 选择资源类型:

    使用下拉菜单并选择合并请求资源类型。

  2. 根据需要填写选项:

    合并请求可以通过各种字段进行查询。如果未设置项目Id或组Id,则数据源将返回与指定的GitLab帐户相关的所有合并请求。

管道

GitLab数据源允许您查询管道从一个特定的项目。

  1. 选择资源类型:

    使用下拉菜单并选择管道资源类型。

  2. 根据需要填写选项:

    使用输入字段来添加项目Id,并通过设置其余字段来过滤管道。

项目

GitLab数据源允许您查询项目

  1. 从下拉菜单中选择项目资源类型。
  2. (可选)根据您拥有的项目进行筛选

使用下拉菜单并选择是的没有过滤结果。

注意:考虑获取所有的项目(拥有=否)可能需要很长时间。

释放

GitLab数据源允许您查询释放从一个特定的项目。

  1. 选择资源类型:

    使用下拉菜单并选择释放资源类型。

  2. 添加项目Id:

    使用输入字段添加项目Id。

标签

GitLab数据源允许您查询标签从一个特定的项目。

  1. 选择资源类型:

    使用下拉菜单并选择标签资源类型。

  2. 添加项目Id:

    使用输入字段添加项目Id。

  3. (可选)搜索过滤:

    使用输入字段搜索标签的名字.你可以使用^术语而且一项美元查找以开始和结束的标记术语

用户

GitLab数据源允许您查询用户.您必须是管理员才能使用大多数字段。

  1. 选择资源类型:

    使用下拉菜单并选择用户资源类型。

  2. 根据需要填写选项:

    用户可以通过各个字段进行查询。如果没有提供用户名,它将返回您是管理员的用户,并由其他字段过滤。

模板和变量

若要添加新的GitLab查询变量,请参见添加查询变量.使用您的GitLab数据源作为您的数据源。选择资源类型:释放项目,或标签

要获得项目、标签等可供选择的动态列表,请创建一个Query类型变量。
查询类型变量使用GitLab查询编辑器来查询和返回项目、标签等。

示例:创建一个Project变量来参数化您的查询。

  1. 添加类型为Query named的变量项目
  2. 选择您的GitLab数据源并刷新关于仪表盘负载
  3. 选择资源类型:项目拥有:是的,显示字段:的名字和值域id
  4. 单击Update将变量添加到仪表板。
  5. 在仪表板上出现一个下拉列表,其中包含项目列表。
  6. 向仪表板添加一个新面板并使用美元的项目作为项目Id。
  7. 现在,当从下拉菜单中进行选择时,您将获得属于该项目的结果。

创建变量后,可以在GitLab查询中使用变量的语法.有关变量的更多信息,请参见模板和变量

充分利用插件

使用来自Grafana的转换来回答常见问题

现在您可以执行基本的GitLab查询来查找提交、问题等,您可以使用转换来可视化、聚合、分组和连接数据集,以及许多其他类型的转换,以将简单的结果转换为复杂问题的答案。下面是一些常见的问题以及如何使用转换来回答这些问题。

问:在我的项目中,每天有多少次提交/发布/部署?

  1. 添加一个查询:

    a.选择资源类型:提交

    b.添加业务群组Id。

  2. 添加一个新的集团转换:

    a.分组by =created_at_date

    b.计算() =id

  3. 选择可视化。

问:在我的项目中关闭问题的平均时间是多少?

  1. 添加一个查询:

    a.选择资源类型:问题

    b.添加业务群组Id。

  2. 添加一个新的从计算中添加字段转换:

    a.模式=二进制操作。

    b.操作=closed_at-created_at

    c. Alias =resolution_time

  3. 添加一个新的从计算中添加字段转换:

    a.模式=二进制操作。

    b.操作=resolution_time/ 86400000(1000 * 3600 * 24)

    c. Alias =resolution_time

    d.替换所有字段= True。

  4. 选择统计可视化:

    a. Show = Calculate。

    b.计算=平均值。

    c.字段=resolution_time