MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

Influxdb+Grafana存储并展示流水线中的构建数据信息

2025-05-30 15:04 huorong 精选文章 5 ℃ 0 评论




在持续交付标准中度量与反馈很重要,通过度量平台能够度量当前项目的交付情况开发效率等。今天给大家分享的内容是关于如何收集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是什么

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言