Grafana Cloud的Jenkins集成

Jenkins是一个免费的开源自动化服务器,可以帮助自动化与构建、测试和部署相关的软件开发方面。它是一个基于服务器的系统,运行在servlet容器中,如Apache Tomcat。

Grafana Cloud的Jenkins集成集中于构建基础设施的状态,以及已定义作业的持续时间和健康状况。这使您能够监视重要的集群运行状况、作业执行和web UI统计信息。指标是由Jenkins prometheus插件发出的,然后Grafana Cloud提供了一个预先构建的仪表板来帮助您监控和可视化它们。

在开始之前

您必须安装普罗米修斯插件在Jenkins集群中发出填充相关Grafana Cloud仪表板所需的指标。关于如何使用Grafana代理抓取度量的说明包含在本文档中。

如果你使用的是非标准的PROMETHEUS_NAMESPACE使用Prometheus插件,您可以通过更改“prefix”模板变量的值来调整仪表板以查询您的指标。

为Grafana Cloud安装Jenkins

  1. 在您的Grafana Cloud实例中,单击集成和连接(闪电图标),然后搜索或导航到詹金斯瓷砖。
  2. 单击Jenkins瓷砖,然后单击安装集成
  3. 安装集成之后,按照配置细节页面设置Grafana代理自动抓取和发送Jenkins指标到您的Grafana云实例。

Jenkins集成的安装后配置

这种集成支持Jenkins的度量。为了将这些指标放到您的Grafana Cloud实例中,Grafana代理必须指向您的Jenkins服务器,该服务器公开了一个/普罗米修斯端点。例如,localhost: 8080agent配置文件示例如下:

Metrics: wal_directory: /tmp/wal configs:—name: integration scrape_configs:—job_name: integration /jenkins metrics_path: /prometheus static_configs:—targets: ['localhost:8080'] remote_write:—url: http://cortex:9009/api/prom/push

指示板

Grafana Cloud的Jenkins集成安装了一个预先构建的仪表板,允许您在一个地方查看所有Jenkins指标。这个预先构建的仪表板可以分为三个单独的部分。

仪表板的“概述”部分主要关注总体集群和作业执行状况。

詹金斯概述部分

仪表板的Jobs部分提供了Jenkins集群中运行的作业的持续时间和运行状况的更细粒度视图。本节允许您深入到与特定作业有关的详细信息。

詹金斯工作组

仪表板的Web UI部分主要关注Jenkins Web UI请求的持续时间和健康状况。

Jenkins web ui部分

由Grafana Cloud的Jenkins集成捕获的度量

该集成提供的Grafana代理配置将为Jenkins收集prometheus插件暴露的所有指标。

假设Jenkins正在当前主机的8080端口上监听,您可以通过运行以下命令查看公开指标的完整列表及其描述:

curl http://localhost: 8080 /普罗米修斯/ | sed nr / #帮助([a-zA-Z0-9 _]+) (.*)$/\ 1 \ 2 / p”

Jenkins预构建的仪表板使用了以下指标:

  • 从Dropwizard的度量导入(metric=http。请求类型= com.codahale.metrics.Timer)

  • 从Dropwizard的度量导入(metric=http.responseCodes. http_responseCodes_badRequest_total)生成。badRequest type = com.codahale.metrics.Meter)

  • http_responseCodes_created_total由Dropwizard的度量导入生成。创建类型= com.codahale.metrics.Meter)

  • http_responseCodes_forbidden_total由Dropwizard的度量导入生成。被禁止的,类型= com.codahale.metrics.Meter)

  • 从Dropwizard的度量导入(metric=http.responseCodes. http_responseCodes_noContent_total)生成。noContent type = com.codahale.metrics.Meter)

  • http_responseCodes_notFound_total由Dropwizard的度量导入生成(metric=http.responseCodes。notFound type = com.codahale.metrics.Meter)

  • http_responseCodes_notModified_total由Dropwizard的metric导入生成。notModified type = com.codahale.metrics.Meter)

  • http_responseCodes_ok_total由Dropwizard的度量导入生成。好的,= com.codahale.metrics.Meter)类型

  • http_responseCodes_other_total由Dropwizard的metric导入生成。other, type=com.codahale.metrics.Meter) http_responseCodes_serverError_total由Dropwizard metric导入生成。serverError type = com.codahale.metrics.Meter)

  • http_responseCodes_serviceUnavailable_total由Dropwizard的metric导入生成。serviceUnavailable type = com.codahale.metrics.Meter)

  • jenkins_executor_count_value由Dropwizard的度量导入生成(metric= jenkins_executor_count .count)。值,类型= jenkins.metrics.impl.JenkinsMetricProviderImpl 12美元)

  • 从Dropwizard的度量导入(metric=jenkins.node.count. count. value)生成。值,类型= jenkins.metrics.impl.JenkinsMetricProviderImpl 9美元)

  • jenkins_node_online_value由Dropwizard的度量导入生成(metric=jenkins.node.online. value)。值,类型= jenkins.metrics.impl.JenkinsMetricProviderImpl 10美元)

  • 从Dropwizard的metric import (metric=jenkins.plugins. plugins. active)生成。活跃,type = jenkins.metrics.impl.JenkinsMetricProviderImpl 20美元)

  • 从Dropwizard的度量导入(metric=jenkins.plugins. plugins. import)生成。失败,type = jenkins.metrics.impl.JenkinsMetricProviderImpl 22美元)

  • 从Dropwizard的metric import (metric=jenkins.plugins. plugins. import)生成。不活跃的,类型= jenkins.metrics.impl.JenkinsMetricProviderImpl 21美元)

  • 从Dropwizard的metric import (metric=jenkins.plugins. plugins. withupdate)生成。withUpdate类型= jenkins.metrics.impl.JenkinsMetricProviderImpl 23美元)

  • 由Dropwizard的度量导入(metric=jenkins.queue.blocked. value)生成。值,类型= jenkins.metrics.impl.JenkinsMetricProviderImpl 5美元)

  • 从Dropwizard的度量导入(metric=jenkins.queue. buildable_value)生成。值,类型= jenkins.metrics.impl.JenkinsMetricProviderImpl 6美元)

  • 由Dropwizard的度量导入(metric=jenkins.queue.pending. value)生成。值,类型= jenkins.metrics.impl.JenkinsMetricProviderImpl 8美元)

  • 从Dropwizard的度量导入(metric=jenkins.queue.stuck. value)生成。值,类型= jenkins.metrics.impl.JenkinsMetricProviderImpl 7美元)

  • 从Dropwizard metric导入生成(metric=jenkins.runs.failure, type=com.codahale.metrics.Meter)

  • 从Dropwizard的度量导入生成(metric=jenkins.runs.success, type=com.codahale.metrics.Meter)

  • vm_uptime_milliseconds由Dropwizard的metric导入生成(metric=vm.uptime.milliseconds, type=jenkins.metrics.impl.VMMetricProviderImpl$2)

  • default_jenkins_up Jenkins是否准备好接收请求

  • default_jenkins_uptime Jenkins机器初始化时间

  • jvm_memory_pool_allocated_bytes_total给定JVM内存池中分配的总字节数。只在GC后更新,而不是连续更新。

成本

通过将Jenkins实例连接到Grafana Cloud,您可能会产生费用。欲了解更多信息,请使用以下链接:

有关增加您的Grafana Cloud帐户用于每个云层中包含的指标的活动系列数量,请参见主动系列和dpm的使用而且云层定价