网站首页 > 精选文章 / 正文
在持续交付标准中度量与反馈很重要,通过度量平台能够度量当前项目的交付情况开发效率等。今天给大家分享的内容是关于如何收集Jenkins流水线中的构建数据并进行分析。
本文分为3个部分,可能需要5-9分钟阅读
- 整体的架构与方案
- 技术方案
- K8S中安装部署Influxdb
- 流水线中采集发送数据
- 使用Grafana展示度量数据
1.整体架构及方案简介
整个过程:在Jenkins流水线中通过Pipeline脚本收集当前项目的构建数据(项目构建时间、单元测试结果、项目构建详细信息等指标),然后将数据通过HTTP API 存入Influxdb中,最后Grafana导入我们的数据模板进行展示。
2.在Kubernetes中部署InfluxDB
编写yaml文件Deployment,创建一个持久化存储卷,暴露8086端口。文件已经存储在了Github中 。
https://github.com/zeyangli/devops-on-k8s/blob/master/devops/influxdb.yml
---
kind: Deployment
apiVersion: apps/v1
metadata:
labels:
k8s-app: influxdb
name: influxdb
namespace: devops
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: influxdb
template:
metadata:
labels:
k8s-app: influxdb
namespace: devops
name: influxdb
spec:
containers:
- name: influxdb
image: influxdb:1.7.9
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8086
name: web2
protocol: TCP
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 500m
memory: 512Mi
volumeMounts:
- name: dbhome
mountPath: /var/lib/influxdb
volumes:
- name: dbhome
hostPath:
path: /data/devops/influxdb/
type: Directory
---
apiVersion: v1
kind: Service
metadata:
name: influxdb
namespace: devops
labels:
k8s-app: influxdb
spec:
selector:
k8s-app: influxdb
type: NodePort
ports:
- name: web
port: 8086
targetPort: 8086
nodePort: 30086
3.Jenkins Pipeline采集数据
使用influxdb Http API,写入数据。
4.导入Grafana模板展示数据
在grafana官方找到了一个不错的模板 id为10557, 根据这个模板最终找到了作者发现是用于Github + Jenkins stage plugin使用的。具体没有深入研究,我是直接将此模板导入然后根据自己当前influxdb中的数据结构更改Select语句。最终实现相同的效果。
官方的图如下
最终我模仿的如下,主要是修改了SQL语句。
Tags:grafana是什么
猜你喜欢
- 2025-05-30 构建高性能的慢查询分析平台(pgBadger + TimescaleDB + Grafana)
- 2025-05-30 Grafana 重置 admin 密码
- 2025-05-30 grafana-1:恢复admin用户为默认密码
- 2025-05-30 CentOS7安装Grafana7.1 添加Zabbix数据
- 2025-05-30 打造炫丽的Linux服务器监控平台——Grafana + Prometheus
- 2025-05-30 Grafana之Graph Panel使用(第六篇)
- 2025-05-30 学习HackerOne上Flink、Grafana、jolokia攻击手法
- 2025-05-30 Prometheus之Grafana钉钉告警
- 2025-05-30 分享20份大屏可视化模板,用工具直接套用
- 2025-05-30 grafana使用webhook告警