jmeter展示内存cpu_基于Docker的jmeter弹性压测(2)监控

f174a5dbe388cecb6df3600944332e26.png

在前面的文章说,我们介绍了基于Docker的Jmeter弹性压测的发压方法。在压测过程中,无论是链路压测,还是单服务压测,我们都需要考量服务器在压测过程中的负载。一般情况下,对于服务器性能指标的监控,比如CPU、内存、网络等,可以由运维部门配合或者提供工具供我们使用,而有些情况下,是需要我们自己来做监控的。传统的监控办法,就是top、vmstat这些linux的命令;或者nmon这种有一定历史的监控工具。现代化的监控的方案,常用的有ELK(elastic search + logstash + kibana)或者grafana + telegraf + influxdb等方式(其他开源的比如open-falcon等)。这里我们主要介绍grafana +telegraf + influxdb的方式进行服务器监控。以下的例子以ubuntu为例。

安装和配置

  • influxdb: 其官网地址为https://www.influxdata.com/
apt install influxdb

安装完成之后即自动启动:

service influxdb status

安装influxdb的客户端:

apt install influxdb-client

安装完成之后我们可以用influx命令连接上本地的influxdb,然后使用如下命令创建一个database:

create database telegraf
  • telegraf: 其官网地址为https://www.influxdata.com/time-series-platform/telegraf/

使用如下命令进行安装:

wget https://dl.influxdata.com/telegraf/releases/telegraf_1.11.4-1_amd64.debsudo dpkg -i telegraf_1.11.4-1_amd64.deb

其他平台的安装方法,可以参考https://portal.influxdata.com/downloads/

安装完成之后,telegraf默认自动启动:

service telegraf status

我们先停掉他。

service telegraf stop

然后我们需要修改下telegraf的默认配置:

vim /etc/telegraf/telegraf.conf

在[[outputs.influxdb]]节点,输入influxdb的地址,因为我是本机,所以ip是127.0.0.1:

urls = ["http://127.0.0.1:8086"]

其他配置不用更改,我们:qw退出之后启动telegraf:

service telegraf start
  • grafana: 下载地址为https://grafana.com/get
wget https://dl.grafana.com/oss/release/grafana_6.3.3_amd64.deb sudo dpkg -i grafana_6.3.3_amd64.deb

其他安装操作系统安装方式请参考https://grafana.com/docs/installation/debian/

安装完成之后,使用

service grafana-server start

启动grafana server,访问地址为http://localhost:3000,默认的用户名和密码均为admin,首次登陆会要求更改密码。

至此,监控中间件安装完成,下面我们看下使用。

实时监控的配置

  • 登录grafana: http://localhost:3000
  • 点击datasources创建一个数据源并选择influxdb:
5fafe40a06cf5578e9f22e327594a5c3.png
  • 输入influxdb的信息:
  • 点击dashboards创建一个新的dashboard:
c7d70e0951e685d00fdeefc2be6c7898.png
  • 在新弹出的页面点击Add Query添加一个查询:
ed9eaa9213138c44b1ba3d8400029913.png
  • 按如下方式进行选择配置,都是下拉框选择:
4d6135f5f8d23a2c839006cde71527a8.png

简单介绍下:从default这个datasource(前面设置的时候influxdb的是默认数据源)选择cpu这个度量,主机名是test-112的,然后呢,我们选择的字段是系统cpu使用量,每10s的平均值。通俗讲,就是我画了一个随时间推移的图,横坐标是时间戳,纵坐标是每10s的系统cpu使用率平均值。

以此类推,我们加上内存的,直接点击下方右侧的Add Query即可:

5d8d2805ef94648117cb6d1204d2ab22.png

然后保存,最终我们可以得到如下的图:

9c3940088848d008c72056908374910b.png
  • 实际压测,我们想看到一个实时刷新的图,点击右上方选择时限:
d813654640e38cb8149b8ec188cb0295.png

然后选择自动刷新间隔:

b30e60f09be5058e151e480687c66787.png
  • 如果想修改图像的title,点击:
e8d3bb539c5d2678d5227ba2caffd4f4.png

然后按如下方式进行设置并保存:

356dad1d41bbf65ea5ab886768913765.png

压测验证

下面我们启动jmeter进行压测,实时观察下服务器的性能指标:

8d0a14fcb4dededba8839e84367d5a28.png

很方便有么有。而且telegraf是使用go语言开发的,在数据采集的过程中对服务器性能损耗基本可以忽略。对于telegraf、grafana的深度用法,我们后续撰文再续。

在进行docker jmeter分布式压测时,如果出现错误,可以按以下步骤进行排查和解决: 1. 首先,检查各台slaver机器是否按照要求安装了相同版本的jdk和jmeter,并且在相同的目录下安装。确保各机器的环境配置一致。 2. 确认/etc/hosts的IP和hostname的映射是否正确配置,确保各机器之间可以相互通信。 3. 修改各机器的jmeter的默认内存参数,根据实际需求调整为合适的大小。这可以提高性能并减少出现异常的可能性。 4. 如果在压测过程中出现异常或错误,可以查看服务端的日志,检查是否有异常或错误信息。根据提示信息定位问题,可以根据服务端的业务架构逐层排查,直到找到发生问题的服务。 5. 对于出现的异常或错误信息,可以自行分析解决。例如,"Response code: 500"通常表示服务端出现问题。可以通过查看服务端的日志,根据提示信息来定位分析问题。对于不熟悉的错误信息,建议使用Google进行搜索,可能会找到一些可行的解决方案。 总结: 在使用docker jmeter进行分布式压测时,如果出现错误,首先要确保各机器的环境配置一致,然后检查配置文件和日志等相关信息,逐步排查问题并尝试解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [微服务项目容器编排docker-compose.yml、Dockerfile文件模板、相关配置文件、shell脚本](https://download.csdn.net/download/qq_45629145/88248761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Jmeter压测思路+实操+报告分析](https://blog.csdn.net/qq_34671951/article/details/96477884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值