Jenkins 介绍
Jenkins 作为持续集成与持续部署(CI/CD)的核心工具,其自动化流程的稳定性和执行效率对保障软件开发周期流畅性至关重要。通过构建可视化的流水线管理体系,可实时把控代码集成、测试验证及部署发布的全流程状态,精准定位构建失败节点、优化资源调度效率并降低人为干预成本,为敏捷开发模式提供坚实的工程实践支撑。
观测云
观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。
安装 DataKit
登陆观测云控制台,点击左侧「集成」选择顶部「DataKit」,即可看到各种方式的安装命令。
本文选择 Linux 方式安装,执行安装命令即可。
DataKit 采集 Jenkins 指标
- 在 JenKins 管理页面
your_manage_host/configure
生成Metric Access keys
- 进入 DataKit 安装目录下的
conf.d/jenkins
目录,复制jenkins.conf.sample
并命名为jenkins.conf
。示例如下:
[[inputs.jenkins]]
## Set true if you want to collect metric from url below.
enable_collect = true
## The Jenkins URL in the format "schema://host:port",required
url = "http://my-jenkins-instance:8080"
## Metric Access Key ,generate in your-jenkins-host:/configure,required
key = ""
# ##(optional) collection interval, default is 30s
# interval = "30s"
ddinfo_resp = '''{ "endpoints": ["/v0.3/traces"] }'''
## Set response_timeout
# response_timeout = "5s"
## Set true to enable election(default: true)
# election = true
## Optional TLS Config
# tls_ca = "/xx/ca.pem"
# tls_cert = "/xx/cert.pem"
# tls_key = "/xx/key.pem"
## Use SSL but skip chain & host verification
# insecure_skip_verify = false
## set true to receive jenkins CI event
enable_ci_visibility = true
## which port to listen to jenkins CI event
ci_event_port = ":9539"
# [inputs.jenkins.log]
# files = []
# #grok pipeline script path
# pipeline = "jenkins.p"
[inputs.jenkins.tags]
# some_tag = "some_value"
# more_tag = "some_other_value"
# ...
[inputs.jenkins.ci_extra_tags]
# some_tag = "some_value"
# more_tag = "some_other_value"
配置好后,重启 DataKit 即可。
datakit service -R
Jenkins 配置
Jenkins 安装 datadog 插件
修改 Jenkins datadog 插件的上报地址:
http://{ jenkins_ip }:{ jenkins_port }/manage/configure
勾选 "Enable Visibility","Enable log Collection"。
执行构建测试
观测云效果
CI 数据正常上报
Jenkins 指标数据正常上报
总结
通过 DataKit 与 Jenkins 插件的协同接收 Jenkins 全链路可观测数据,能帮助我们快速搭建灵活的 CI/CD 流水线观测体系。我们既可以利用 Jenkins 原生插件与 Datadog 的标准化能力,统一采集流水线构建指标、运行日志与链路数据,又能借助 DataKit 强大的数据处理和集成功能,将这些数据统一传输到观测云平台,充分利用平台的分析可视化能力,并协同基础设施、应用链路等维度数据,实现 Jenkins 故障快速定位与流水线效率优化。