Jenkins 可观测最佳实践

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。示例如下:
ini 复制代码
[[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 故障快速定位与流水线效率优化。

相关推荐
IAR Systems4 天前
松下电工借助IAR CI/CD解决方案,实现品质与效率双重飞跃
ci/cd
Cherry的跨界思维4 天前
【AI测试全栈:质量】47、Vue+Prometheus+Grafana实战:打造全方位AI监控面板开发指南
vue.js·人工智能·ci/cd·grafana·prometheus·ai测试·ai全栈
古斯塔夫歼星炮4 天前
Dify + Jenkins 实现AI应用持续集成与自动化部署
ci/cd·jenkins·dify
codingWhat5 天前
手把手系列之——前端工程化
ci/cd·devops·前端工程化
测试渣5 天前
持续集成中的自动化测试框架优化实战指南
python·ci/cd·单元测试·自动化·pytest
我的xiaodoujiao6 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 51--CI/CD 4--推送本地代码到Git远程仓库
python·学习·测试工具·ci/cd·pytest
deephub7 天前
并行多智能体系统的协调测试实战:从轨迹捕获到CI/CD的六个步骤
人工智能·ci/cd·大语言模型·aiagent
你的论文学长7 天前
文本处理的 CI/CD:用 NLP 静态分析解决查重飘红与 Format Error
人工智能·ci/cd·自然语言处理·重构·论文·学习方法
Elastic 中国社区官方博客9 天前
Agentic CI/CD:使用 Kubernetes 部署门控,结合 Elastic MCP Server
大数据·人工智能·elasticsearch·搜索引擎·ci/cd·容器·kubernetes
莫比乌斯之梦9 天前
使用 Docker 运行 Jenkins:快速搭建高效 CI/CD 环境指南
ci/cd·docker·jenkins