基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

admin 2023年3月27日20:16:43评论63 views字数 3910阅读13分2秒阅读模式


基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

通过grafana监控web展示,prometheus收集exporter提供的应用资源监控信息。通过influxdbs收集jmeter性能测试脚本结果信息。对性能测试及应用环境监控的效果。

一、监测服务部署

1.1 yum源及基础环境

# yum更新到最新
yum update
# 安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
# yum源为阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.2 docker安装

# 安装docker
yum install docker-ce
# 启动docker
systemctl start docker
# 查看docker版本
docker -v

1.3 influxdb安装

# 下载influxdb
docker pull influxdb
# 创建名为influxdb的容器并运行
docker run -d --name influxdb -p 8086:8086 -p 8083:8083 influxdb


influxdb初始化并申请token

通过网页打开http://ip:8086  ip是安装docker的服务器地址

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

点击Continue后到下面这个界面,选择第1个进入

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

进入后创建Token并复制这个Token

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

influxdb命令行

# 进入容器内容docker exec -it influxdb /bin/bash
# influx命令行配置influx config create --active -n config-name -u http://10.80.31.170:8086 -t rTxMYOEV97Aa4IuYmEokQs3Dvm0-bSgBPEVgIYfrEHVelOpQnOxpXV2tDHdL8VTtoCMVy2MVcY2VubOu742vuQ== -o admin# 进入命令行操作influx v1 shell

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

influxdb中库表字段和mysql数据中不同,对比如下:

ID
influxdb
mysql
备注
1
bucket
database

2
measurement
table
3
point
column
数据列

创建数据库jmeter

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

1.4 Grafana安装

# 下载镜像docker pull grafana/grafana# 创建容器并启动docker run -d --name grafana -p 3000:3000 grafana/grafana

浏览器访问验证 http://IP:13000  ip安装grafana的服务器

访问后需要登录账号密码,默认都是admin,登录后配置influxdb数据源

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

进入grafana官网下载对应模板,比如influxdb2的模板可以使用下面

https://grafana.com/grafana/dashboards/13644-jmeter-load-test-org-md-jmeter-influxdb2-visualizer-influxdb-v2-0-flux/

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

导入模板文件

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

1.5 prometheus监控系统安装

docker pull prom/prometheusmkdir /usr/local/prometheuscd /usr/local/prometheusmkdir datacd datavim prometheus.yml

prometheus.yml配置内容如下:

# my global config
global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s).
# Alertmanager configurationalerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.rule_files: # - "first_rules.yml" # - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus'
# metrics_path defaults to '/metrics' # scheme defaults to 'http'.
static_configs: - targets: ['localhost:9090']

运行docker

docker run -d -p 9090:9090 --name prom -v /usr/local/prometheus/data:/data  prom/prometheus --config.file=/data/prometheus.yml

访问http://ip:9090  ip软件安装服务器地址

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

二、压力机部署(Jmeter安装)

2.1 安装Jmeter

压力机主要部署的是Jmeter压力测试工具,访问Jmeter官网 https://jmeter.apache.org/

Jmeter需要jdk环境,所以压力机上还要安装JDK。

设置环境变量 %JMETER_HOME%libextApacheJMeter_core.jar; %JMETER_HOME%libjorphan.jar;

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

在取样器http请求下增加一个查看结果树的监听器

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

2.2 集成influxDB + Jmeter

在Jmeter中添加后端监听器并进行配置

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

配置好再运行压测,在influxdb中jmeter库下很自动创建表字段和填充数据

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

2.3  集成influxdb和grafana到jmeter

Jmeter包下载解压缩即可。安装Grafana中模板中提到的插件

https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/releases

拷贝插件内容到Jmeter安装目录下的lib/ext下。

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

设置jmeter的后端监听器并配置

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

运行测试脚本,查看grafana统计图表,就发现有数据了

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

三、资源服务安装

3.1 应用服务器

3.1.1 安装node_exporter

wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gztar zxvf  node_exporter-1.5.0.linux-amd64.tar.gzmv node_exporter-1.5.0.linux-amd64 /usr/local/node_exportercd /usr/local/node_exporter/# 启动服务nohup ./node_exporter &

http://ip:9100  ip应用服务器IP地址,默认端口9100

3.1.2 集成prometheus + node_exporter

修改prometheus.yml配置文件,增加下面内容

# 脱敏系统服务器  - job_name: 'tmd'    static_configs:    - targets: ['10.80.31.179:9100']  #安装node_exporter的主机IP

重启prometheus容器

docker restart prom

查看集成结果

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

3.1.3 集成grafana和prometheus

增加prometheus的数据源

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

导入模板

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

编辑导入模板

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

效果查看

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

3.2  Mysql数据库

3.2.1 mysqld-exporter安装

docker pull prom/mysqld-exporterdocker run -d --name mysqld_exporter -p 9104:9104 -e DATA_SOURCE_NAME="root:123456@(10.80.31.102:3306)/" prom/mysqld-exporter

查看启动情况

http://ip:9104/metrics   IP安装mysqld-exporter的机器

3.2.2 集成prometheus

prometheus.yml文件修改内容如下:

 - job_name: mysqld    static_configs:      - targets: ['10.80.31.170:9104']        labels:          instance: mysqld

启动服务器

docker restart prom

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

3.2.3 集成grafana+prometheus+ mysqld-exporter

导入模板

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

查看效果

基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

原文始发于微信公众号(数据安全治理技术):基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月27日20:16:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   基于grafana+influxdb+prometheus+jmeter性能监控环境的搭建http://cn-sec.com/archives/1634054.html

发表评论

匿名网友 填写信息