jck28 - 小柒 - 性能监控系统部署

一,cpu、mem、net、io性能数据收集

1,Prometheus搭建

  • Prometheus是一种由go语言(golang)开发的开源监控、报警系统

  • 部署方法: Docker 部署

  • 准备prometheus.yml配置文件

  • 下载docker 镜像: docker pull prom/prometheus

  • 启动docker容器: docker run -d --name prometheus -p 9090:9090 -v
    :/etc/prometheus prom/prometheus

  • 访问验证 http://:9090/targets

2,部署node-exporter工具(收集cpu、mem、net、io性能数据)

下载安装

  • node-exporter是一款用于采集系统指标的工具,由Prometheus官方提供
  • 部署方法:docker 部署
  • 拉取镜像: docker pull quay.io/prometheus/node-exporter
  • 启动脚本:
docker run -d --name node_exporter -p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
quay.io/prometheus/node-exporter

配置 prometheus.yml

  • node-exporter 容器启动之后,配置prometheus.yml,将node-exporter的实际位置设定到prometheus.yml配置文件中
    image

  • 配置完成后,重启prometheus系统,检查node-exporter targets数据是否显示正常

3,将Prometheus作为数据源添加到Grafana中

image

4,在Grafana中添加node exporter for prometheus dashboard

image

5,检查系统监控面板展示内容

二,实时压测结果收集

1,压测监控平台组成

  • JMeter:压测工具, 产生压测数据
  • InfluxDB: 开源时序数据库, 特别适合用于处理和分析资源监控数据,用于存储压测数据
  • Grafana:度量分析与可视化图标展示工具,可以支持不同种类的数据源,用于将存储于InfluxDB中的数据以图表的形式展示出来

2,监控平台部署 - influxDB

  • 部署方法: Docker 部署

事先准备:

  • 安装Docker
  • 下载influxDB镜像: docker pull influxdb:1.8

启动 influxDB 容器

  • 将新 influxDB 容器命名为 jmeterdb, 执行docker创建容器命令:
    • docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb influxdb:1.8
  • 执行如下命令进入容器内部 : docker exec –it jmeterdb bash

在容器内部创建jmeter数据库,用于收集JMeter发送的压测数据

  • 执行 influx命令进入命令台
  • 执行类sql语句 创建jmeter数据库:create database jmeter;
  • 创建完jmeter数据库之后执行如下命令验证数据库已经创建成功: show databases;

3,监控平台部署 - JMeter

在JMeter中添加 Backend Listener 组件,用于收集数据并发送给influxdb

  • 在Backend Listener implementation 中选择 InfluxdbBackendListenerClient (注意:必须使用jmeter 5.0以上版本,否则需要单独装插件才可以看到这个组件)
  • 在influxdbURL中将实际的influxdb hostname填写进去
  • application中填写 baidu (根据项目自定义)
  • 在testTitle中填写 Baidu Testing (根据项目自定义)
  • percentiles 中填写 50;90;95;99(默认是90,95,99,也可以自行添加)
  • 将 summaryOnly 设置为false (为true则只会把汇总数据发送给fluxDB)
  • 其余配置保持不变

运行JMeter , 然后在 influxdb中检验是否已经能够接受到数据

4,监控平台部署 -Grafana

安装部署

  • 部署方法: Docker 部署

  • 下载镜像: docker pull grafana/grafana

  • 启动镜像: docker run -d -p 3000:3000 --name= -v :/var/lib/grafana grafana/grafana

  • 访问 Grafana 的控制台链接, http://localhost:3000/ 验证它已经运行正常

  • 默认用户名/密码:admin / admin,登录之后请跳过修改密码

在Grafana中添加数据源

配置InfluxDB 数据源

  • 输入 URL : http://[hostname or IP]:8086 (这里填写influxDB所在服务器ip地址)

  • Access : browser

  • Database : jmeter

  • 其余参数保持默认值
    image

  • 单击 Save & Test 按钮,确认返回消息提示正确确认信息

在Grafana 内导入JMeter Dashboard