Prometheus integration

原文:https://docs.gitlab.com/ee/user/project/integrations/prometheus.html

Prometheus integration

在 GitLab 9.0 中引入 .

GitLab 提供与Prometheus 的强大集成,可直接在 GitLab 中监视您的应用程序的关键指标. 从 Prometheus 检索每个环境的度量,然后在 GitLab 界面中显示.

Environment Dashboard

有两种方法可以设置 Prometheus 集成,具体取决于应用程序的运行位置:

启用后,GitLab 将自动从度量标准库中的已知服务中检测度量标准 . 您还可以添加自己的指标并创建自定义仪表板 .

Enabling Prometheus Integration

Managed Prometheus on Kubernetes

在 GitLab 10.5 中引入 .

GitLab 可以在连接的 Kubernetes 集群上无缝部署和管理 Prometheus,从而使对应用程序的监视变得容易.

Requirements

Getting started

拥有连接的 Kubernetes 集群后,只需单击即可轻松部署托管的 Prometheus.

  1. 转到操作> Kubernetes页面以查看已连接的集群
  2. 选择您要部署 Prometheus 的集群
  3. 单击安装按钮以将 Prometheus 部署到群集

Managed Prometheus Deploy

About managed Prometheus deployments

使用官方 Helm 图表将 Prometheus 部署到gitlab-managed-apps命名空间中. Prometheus 仅可在集群中访问,并且 GitLab 通过Kubernetes API 进行通信.

Prometheus 服务器将自动检测和监视节点,吊舱和端点. 要配置 Prometheus 监视的资源,只需设置以下Kubernetes 批注

  • prometheus.io/scrapetrue以启用对资源的监视.
  • prometheus.io/port定义度量标准端点的端口.
  • prometheus.io/path来定义度量标准端点的路径. 默认为/metrics .

CPU 和内存使用情况受到监视,但是需要使用命名约定来确定环境. 如果您使用的是Auto DevOps ,则会自动处理.

由 GitLab 部署到群集的NGINX Ingress会自动添加注释,以进行监视,以提供关键的响应指标:延迟,吞吐量和错误率.

Manual configuration of Prometheus

Requirements

与 Prometheus 集成需要满足以下条件:

  1. GitLab 9.0 或更高版本
  2. 必须将 Prometheus 配置为收集支持的指标之一
  3. Each metric must be have a label to indicate the environment
  4. GitLab 必须与 Prometheus 服务器具有网络连接

Getting started

安装和配置 Prometheus 来监视应用程序非常简单.

  1. Install Prometheus
  2. 设置受支持的监视目标之一
  3. 配置 Prometheus 服务器以收集其指标

Configuration in GitLab

GitLab 中 Prometheus 集成的实际配置非常简单. 您只需要与您要集成的 Prometheus 服务器的域名或 IP 地址. 如果 Prometheus 资源由 Google 的身份识别代理(IAP)保护,则可以传递其他信息,例如客户端 ID 和服务帐户凭据,GitLab 可以使用这些信息来访问资源. 有关从服务帐户进行身份验证的更多信息,请参见 Google 的” 从服务帐户进行身份验证”文档.

  1. 导航至位于的” 集成”页面 设置>集成 .
  2. 单击Prometheus服务.
  3. 对于API URL ,请提供服务器的域名或 IP 地址,例如http://prometheus.example.com/http://192.0.2.1/ .
  4. (可选)在Google IAP Audience Client ID 中 ,提供受 Google IAP 保护的 Prometheus OAuth Client 的 Client ID.
  5. (可选)在Google IAP 服务帐户 JSON 中 ,提供被授权访问 Prometheus 资源的服务帐户凭据文件的内容.
  6. Click 保存更改.

Configure Prometheus Service

Thanos configuration in GitLab

您可以使用 GitLab 将Thanos配置为 Prometheus 的替代品. 您将需要与之集成的 Thanos 服务器的域名或 IP 地址.

  1. 导航到” 集成”页面 .
  2. 单击Prometheus服务.
  3. 提供服务器的域名或 IP 地址,例如http://thanos.example.com/http://192.0.2.1/ .
  4. Click 保存更改.

Precedence with multiple Prometheus configurations

尽管可以同时启用 Prometheus 的手动配置自动配置 ,但仅使用其中之一:

Determining the performance impact of a merge

版本历史

开发人员可以在合并请求工作流程中查看其更改对性能的影响.

Note: Requires Kubernetes metrics.

将源分支部署到环境后,将出现迷你图和平均内存消耗的数值比较. 在迷你图上,圆点指示部署当前更改的时间,前后最多显示 30 分钟的性能数据. 比较结果显示了部署前后 30 分钟平均值之间的差异. 部署每个提交后,将更新此信息.

合并并重新部署目标分支后,指标将切换为显示此修订版已部署到的新环境.

性能数据将在 Prometheus 服务器上持久保存的时间内可用.

Merge Request with Performance Impact