点击上方蓝字⭐️关注“DevOps云学堂”,接收最新技术实践

379ba9ac6742b25144a97296d05cd4e1.gif

今天是「DevOps云学堂」与你共同进步的第 20 


在持续交付标准中度量与反馈很重要,通过度量平台能够度量当前项目的交付情况开发效率等。今天给大家分享的内容是关于如何收集Jenkins流水线中的构建数据并进行分析。

本文分为3个部分,可能需要5-9分钟阅读 整体的架构与方案 技术方案 K8S中安装部署Influxdb 流水线中采集发送数据 使用Grafana展示度量数据

1.整体架构及方案简介

整个过程:在Jenkins流水线中通过Pipeline脚本收集当前项目的构建数据(项目构建时间、单元测试结果、项目构建详细信息等指标),然后将数据通过HTTP API 存入Influxdb中,最后Grafana导入我们的数据模板进行展示。

47cb447c428c98cf7ace2fd37806ccde.jpeg

2.在Kubernetes中部署InfluxDB

编写yaml文件Deployment,创建一个持久化存储卷,暴露8086端口。文件已经存储在了Github中 。https://github.com/zeyangli/devops-on-k8s/blob/master/devops/influxdb.yml

3.Jenkins Pipeline采集数据

使用influxdb Http API,写入数据。

1cd4db09bdf6f425eafde48fb49a5e49.jpeg

305be5de71d7b35917f3277009e93f7c.jpeg

4.导入Grafana模板展示数据

在grafana官方找到了一个不错的模板  id为10557, 根据这个模板最终找到了作者发现是用于Github + Jenkins stage plugin使用的。具体没有深入研究,我是直接将此模板导入然后根据自己当前influxdb中的数据结构更改Select语句。最终实现相同的效果。

官方的图如下

6eff2c4549272b1c994b5598885e3dfe.jpeg

fbcd87a9396640ef84ba47127f585a70.jpeg

最终我模仿的如下,主要是修改了SQL语句。

2cc10e96829ccd6016926271d7abd00c.jpeg

0c2beff65e8f771e48f6c711be000400.png

往期推荐

基于Jira的持续交付流水线实践方式

好物分享|在 Mac 上启动本地数据库实例的免费工具

SonarQube 9.9 LTS 版本特性分析

[课程更新] ArgoCD 应用同步策略

如果这篇文章对您有帮助,欢迎转发点赞分享。您的关注是我持续分享的动力!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐