性能测试第五天,搭建jmeter+influxdb+promethues+grafana,监控fecmall压测脚本分析,附带简单报告

541 阅读2分钟
  1. 搭建平台,采用docker-compose的方式搭建

    mkdir ./promethues

image.png

上传文件进入: docker-compose.yml , promethues.yml , node_export**, mysql_exporter**

docker-compose.yml

version: '3.5'
services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    restart: always
    ports:
      - 9090:9090
    volumes:
      - /etc/prometheus.yml:/etc/prometheus/prometheus.yml
  
  grafana:
    image: grafana/grafana
    container_name: grafana
    restart: always
    ports:
      - 3000:3000

networks:
  default:
    external:
      name: huicenetwork

promethues.yml

# my global config

global:

  # 设置抓取数据的时间间隔,间隔设置为每15秒一次。默认为每1分钟。

  scrape_interval:     15s

  # 设定抓取数据的超时时间,默认为10s

  scrape_timeout: 5s
  
  # 设置规则刷新,每15秒刷新一次规则。默认值为每1分钟。

  evaluation_interval: 15s

# 监控报警配置(需要额外安装 alertmanager组件)

#alerting:

#  alertmanagers:

#  - static_configs:

    # 设定alertmanager和prometheus交互的接口,即alertmanager监听的ip地址和端口
#    - targets: ["k8s.dev-share.top:9093"]

# 报警规则文件

#rule_files:

 # - '/home/deploy/alertmanager/rules/*.yml'

# 普罗米修斯与抓取模块交互的接口配置
scrape_configs:

  # 一定要全局唯一, 采集 远程linux的 metrics
  - job_name: linux-app
  
    static_configs:
    # 配置你的虚拟机的ip地址即可
      - targets: ['192.168.44.132:9100']
        labels:
          instance: linux-app
  - job_name: mysql
  # ip地址配置成自己的虚拟机哈
    static_configs:
      - targets: ['192.168.44.132:9104']
        labels:
          instance: mysql

docker-compose up -d 运行

访问默认的端口地址:

image.png

image.png

配置grafana的桌面 访问:grafana.com/grafana/das… 找到对应的id, 或者download json

先配置configuration才可以 image.png

image.png

image.png

回到自己的grafana上来

image.png

image.png

image.png

保存成功之后 就可以看到界面了

image.png image.png

此时,我们需要开启node节点, grafana才可以监听到信息, 这边给出node连接,大家自行去download,下载对应的版本即可, github.com/prometheus/…

解压缩之后进入使用:nohup ./node_exporter &

image.png

如果想看下是否成功启动, tail -10f nohup.out 日志信息是否报错,没有报错,就可以监听到 对应的信息。

image.png

接下来使用influxdb 配置jmeter,通过grafana监听

创建目录 : mkdir influxdb

cd influxdb

使用命令下载

wget dl.influxdata.com/influxdb/re…

image.png

等待下载成功 启动: /usr/bin/influxd

#查看状态
sudo service influxdb status

#启动服务
sudo service influxdb start

#重启服务
sudo service influxdb restart

#停止服务
sudo service influxdb stop

image.png

进入: influx create database jmeter;

image.png

本地开启jmeter:配置后置监听

将地址更改就好了

image.png

切换到grafana界面: configuration, 找到influxDB, 进入, 配置地址,数据库名称,点击保存

image.png

image.png

现在文件都配置好了。

接下来 就是开启压测,上期我们编写的单场景压测脚本,此时就可以进行压测 并且开始监听了:

就拿商品加入购物车这个脚本来进行 线程数:20 , 持续时间 600s

image.png

将jmeter脚本上传到压力机中

开启

image.png

image.png

top 1 ,查看资源利用率情况

image.png

下面是我的一份简单的压测报告:

app.yinxiang.com/fx/2fc008ac…