blackbox grafana没有数据_Influxdb+Grafana存储并展示流水线中的构建数据信息

c65c351dcdaeb8c542fb7cc0bc005031.png
4fe14206a305fdd1bc44e84e6a7afec9.png

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

本文分为3个部分,可能需要5-9分钟阅读

  • 整体的架构与方案
  • 技术方案
    • K8S中安装部署Influxdb
    • 流水线中采集发送数据
    • 使用Grafana展示度量数据

1.整体架构及方案简介

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

e136ce52c5f44837cb2163b63de092d3.png

2.在Kubernetes中部署InfluxDB

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

---kind: DeploymentapiVersion: apps/v1metadata:  labels:    k8s-app: influxdb  name: influxdb  namespace: devopsspec:  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: v1kind: Servicemetadata: name: influxdb namespace: devops labels:   k8s-app: influxdbspec: selector:   k8s-app: influxdb type: NodePort ports: - name: web   port: 8086   targetPort: 8086   nodePort: 30086

3.Jenkins Pipeline采集数据

使用influxdb Http API,写入数据。

e2548175ef9da2d0f7e1b414141f8d39.png
6394adee4a986bff69f88e8c385ba3f5.png

4.导入Grafana模板展示数据

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

官方的图如下

5f18175bcac65d617a7cee8457c98bf5.png
49cba4aaef82f83f5ccdbb77e05a0d74.png

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

85c1277fa4669fa9309bf45cf65b0a8f.png

e64be6787b40d746a093bc8695993c80.png
bcdb59337efd29a971b050bdebdefcb1.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值