Jenkins 和 Graphite 集成

通过 Telegraf(由 InfluxData 构建的开源数据连接器)提供支持,实现强大的性能和轻松集成。

info

这不是实时大规模查询的推荐配置。 为了进行查询和压缩优化、高速摄取和高可用性,您可能需要考虑 Jenkins 和 InfluxDB

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB-Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展

收集、组织和处理海量高速数据。 当您将任何数据视为时序数据时,它会更有价值。 借助 InfluxDB,第一时序平台,旨在与 Telegraf 一起扩展。

查看入门方法

输入和输出集成概述

Jenkins 插件通过其 API 从 Jenkins 实例收集有关作业和节点的重要信息,从而实现全面的监控和分析。

Graphite 插件使用户能够通过 TCP 将 Telegraf 收集的指标发送到 Graphite。 此集成允许使用 Graphite 的强大功能高效存储和可视化时序数据。

集成详细信息

Jenkins

Jenkins Telegraf 插件允许用户从 Jenkins 实例收集指标,而无需在 Jenkins 本身安装任何其他插件。 通过利用 Jenkins API,该插件检索有关 Jenkins 环境中运行的节点和作业的信息。 此集成提供了 Jenkins 基础设施的全面概览,包括可用于监控和分析的实时指标。 主要功能包括用于作业和节点选择的可配置过滤器、可选的 TLS 安全设置以及有效管理请求超时和连接限制的能力。 这使其成为依赖 Jenkins 进行持续集成和交付的团队的重要工具,确保他们拥有保持最佳性能和可靠性所需的洞察力。

Graphite

此插件通过原始 TCP 将指标写入 Graphite,从而允许将 Telegraf 收集的指标无缝集成到 Graphite 生态系统中。 使用此插件,用户可以配置多个 TCP 端点以进行负载均衡,从而确保指标传输的高可用性和可靠性。 使用前缀自定义指标命名以及利用各种模板选项的能力增强了数据在 Graphite 中表示方式的灵活性。 此外,对 Graphite 标签的支持以及对指标名称进行严格清理的选项允许进行强大的数据管理,满足用户的各种需求。 对于希望利用 Graphite 强大的指标存储和可视化功能,同时保持对数据表示形式的控制的组织来说,此功能至关重要。

配置

Jenkins

[[inputs.jenkins]]
  ## The Jenkins URL in the format "schema://host:port"
  url = "http://my-jenkins-instance:8080"
  # username = "admin"
  # password = "admin"

  ## Set response_timeout
  response_timeout = "5s"

  ## Optional TLS Config
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use SSL but skip chain & host verification
  # insecure_skip_verify = false

  ## Optional Max Job Build Age filter
  ## Default 1 hour, ignore builds older than max_build_age
  # max_build_age = "1h"

  ## Optional Sub Job Depth filter
  ## Jenkins can have unlimited layer of sub jobs
  ## This config will limit the layers of pulling, default value 0 means
  ## unlimited pulling until no more sub jobs
  # max_subjob_depth = 0

  ## Optional Sub Job Per Layer
  ## In workflow-multibranch-plugin, each branch will be created as a sub job.
  ## This config will limit to call only the lasted branches in each layer,
  ## empty will use default value 10
  # max_subjob_per_layer = 10

  ## Jobs to include or exclude from gathering
  ## When using both lists, job_exclude has priority.
  ## Wildcards are supported: [ "jobA/*", "jobB/subjob1/*"]
  # job_include = [ "*" ]
  # job_exclude = [ ]

  ## Nodes to include or exclude from gathering
  ## When using both lists, node_exclude has priority.
  # node_include = [ "*" ]
  # node_exclude = [ ]

  ## Worker pool for jenkins plugin only
  ## Empty this field will use default value 5
  # max_connections = 5

  ## When set to true will add node labels as a comma-separated tag. If none,
  ## are found, then a tag with the value of 'none' is used. Finally, if a
  ## label contains a comma it is replaced with an underscore.
  # node_labels_as_tag = false

Graphite

# Configuration for Graphite server to send metrics to
[[outputs.graphite]]
  ## TCP endpoint for your graphite instance.
  ## If multiple endpoints are configured, the output will be load balanced.
  ## Only one of the endpoints will be written to with each iteration.
  servers = ["localhost:2003"]

  ## Local address to bind when connecting to the server
  ## If empty or not set, the local address is automatically chosen.
  # local_address = ""

  ## Prefix metrics name
  prefix = ""

  ## Graphite output template
  ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
  template = "host.tags.measurement.field"

  ## Strict sanitization regex
  ## This is the default sanitization regex that is used on data passed to the
  ## graphite serializer. Users can add additional characters here if required.
  ## Be aware that the characters, '/' '@' '*' are always replaced with '_',
  ## '..' is replaced with '.', and '\' is removed even if added to the
  ## following regex.
  # graphite_strict_sanitize_regex = '[^a-zA-Z0-9-:._=\p{L}]'

  ## Enable Graphite tags support
  # graphite_tag_support = false

  ## Applied sanitization mode when graphite tag support is enabled.
  ## * strict - uses the regex specified above
  ## * compatible - allows for greater number of characters
  # graphite_tag_sanitize_mode = "strict"

  ## Character for separating metric name and field for Graphite tags
  # graphite_separator = "."

  ## Graphite templates patterns
  ## 1. Template for cpu
  ## 2. Template for disk*
  ## 3. Default template
  # templates = [
  #  "cpu tags.measurement.host.field",
  #  "disk* measurement.field",
  #  "host.measurement.tags.field"
  #]

  ## timeout in seconds for the write connection to graphite
  # timeout = "2s"

  ## Optional TLS Config
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

输入和输出集成示例

Jenkins

  1. 持续集成监控:使用 Jenkins 插件通过收集作业持续时间和失败率的指标来监控持续集成管道的性能。 这可以帮助团队识别管道中的瓶颈并提高整体构建效率。

  2. 资源分配分析:利用 Jenkins 节点指标来评估不同代理之间的资源使用情况。 通过了解资源的分配方式,团队可以优化其 Jenkins 架构,从而可能重新分配代理或调整作业配置以获得更好的性能。

  3. 作业执行趋势:分析历史作业性能指标以识别作业执行随时间变化的趋势。 通过这些数据,团队可以在潜在问题扩大之前主动解决这些问题,并根据需要对作业或其配置进行调整。

  4. 作业失败警报:实施利用 Jenkins 作业指标的警报,以便在作业失败时通知团队成员。 这种主动方法可以提高运营意识并加快对失败的响应时间,从而确保有效监控关键作业。

Graphite

  1. 动态指标可视化:Graphite 插件可用于将来自各种来源(例如应用程序性能数据或服务器运行状况指标)的实时指标馈送到 Graphite 中。 这种动态集成使团队能够创建交互式仪表板,以可视化关键绩效指标、跟踪随时间变化的趋势并做出数据驱动的决策以提高系统性能。

  2. 负载均衡指标收集:通过在插件中配置多个 TCP 端点,组织可以实现指标传输的负载均衡。 此用例确保指标交付既有弹性又高效,从而降低了高流量期间数据丢失的风险,并保持了可靠的信息流向 Graphite。

  3. 自定义指标标记:借助对 Graphite 标签的支持,用户可以使用 Graphite 插件来增强指标的粒度。 使用相关信息(例如应用程序环境或服务类型)标记指标,可以进行更精细的查询和分析,使团队能够深入研究特定感兴趣的领域,从而获得更好的运营洞察力。

  4. 增强的数据清理:利用插件的严格清理选项,用户可以确保其指标名称符合 Graphite 的要求。 这种主动措施消除了指标名称中无效字符可能引起的问题,从而实现了更简洁的数据管理和更准确的可视化。

反馈

感谢您成为我们社区的一份子! 如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。 请在 InfluxDB 社区 Slack 中提交您的反馈。

强大的性能,无限的扩展

收集、组织和处理海量高速数据。 当您将任何数据视为时序数据时,它会更有价值。 借助 InfluxDB,第一时序平台,旨在与 Telegraf 一起扩展。

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

HTTP 插件从一个或多个 HTTP(S) 端点收集指标。 它支持各种身份验证方法和数据格式的配置选项。

查看集成

Kafka 和 InfluxDB 集成

此插件从 Kafka 读取消息,并允许基于这些消息创建指标。 它支持各种配置,包括不同的 Kafka 设置和消息处理选项。

查看集成

Kinesis 和 InfluxDB 集成

Kinesis 插件允许从 AWS Kinesis 流读取指标。 它支持多种输入数据格式,并提供使用 DynamoDB 的检查点功能,以实现可靠的消息处理。

查看集成