在前面的文章说,我们介绍了基于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:
  • 输入influxdb的信息:
  • 点击dashboards创建一个新的dashboard:
  • 在新弹出的页面点击Add Query添加一个查询:
  • 按如下方式进行选择配置,都是下拉框选择:

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

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

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

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

然后选择自动刷新间隔:

  • 如果想修改图像的title,点击:

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

压测验证

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

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

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

  1. 基于Docker的JMeter分布式压测

    一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试.如本网站所示,一个JMeter实例将能够控制许多其他的远程JMeter实例,并对你的应用程序产生更大的负载.JMeter使用Ja ...

  2. 基于Docker的JMeter分布式压测实战讲解

            一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试.如本网站所示,一个JMeter实例将能够控制许多其他的远程JMeter实例,并对你的应用程序产生更大的负载.JM ...

  3. jmeter constant timer 如何添加_阿里巴巴在开源压测工具 JMeter 上的实践和优化

    Apache JMeter 是 Apache 旗下的开源压测工具,创建于 1999 年初,迄今已有超过 20 年历史.JMeter 功能丰富,社区(用户群体)庞大,是主流开源压测工具之一. 性能测试通 ...

  4. JMETER性能测试从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程)

    1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了, ...

  5. JMeter实用案例讲解:生成Mockup/Dummy JSON压测REST API

    在实际工作中我们经常需要做一些性能测试,过去我基本上使用的都是JMeter,这么多年使用下来的一个感受是:JMeter并不太容易上手,但确实强大灵活,可以应对一些复杂的测试场景,一但掌握了,基本就不再 ...

  6. jmeter压测之 监控--nmon

    压测方法整理: 1.     写jmx脚本,整理csv数据文件: 2.     部署测试环境,把jmx和csv放在压测机,把监控脚本nmon放被压测机: 3.     安装nmon: a.     w ...

  7. 性能测试搭建Jmeter分布式压测与监控

    对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题:如果当前架构快达到性能瓶颈了,是横向扩容性能提升大 ...

  8. 搭建 Apache Jmeter 分布式压测与监控

    1.前言 对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题:如果当前架构快达到性能瓶颈了,是横向扩容 ...

  9. 软件测试 | Jmeter 性能测试工具的实战应用《接口性能压测》的操作步骤详解

    嘿.大家好,我是4U: 接口测试可以提前发现软件bug,有效地降低软件的开发成本,而接口性能压测也可以达到同样的效果.如果形容LR是大炮,那么JM则是一把狙击步枪. 那么今天我们来讲讲接口性能压测. ...

最新文章

  1. 今天有了意外收获,原来还可以这样提交数据的
  2. flink 本地_Flink原理Apache Flink漫谈系列 State
  3. Codeforces Round #736 (Div. 1Div2)
  4. 前端学习(528):等分布局存在间距得问题
  5. MakersPlace将启动1美元特价的Beeple限量NFT抽奖活动
  6. python 的库如何开发_如何开发Python第三方库?
  7. c++构造函数分类说明
  8. php 二进制 保存文件,PHP打开一个二进制文件,修改了内容如何再保存回去呢?...
  9. 百趣生物受邀参加代谢组学及脂质组学质谱技术研讨会
  10. python图片批量转换成灰度图像
  11. 第3章基本程序设计结构(java知识点笔记)
  12. python爬虫实训总结报告_python爬虫简单总结(一)
  13. 大数据教孩子如何写好作文
  14. python导入mysqldb_Python导入MySQLdb库
  15. Node.js基础(二)-- 模块化、npm与包
  16. 一个用在手机上的简单js拖拽效果
  17. 机器学习基础——贝叶斯
  18. from .cv2 import * ImportError: libGL.so.1: cannot open shared object file: No such file or direc
  19. 什么是拖延症 ----- 时间管理:终结拖延症小技巧之高效利用时间
  20. 阿里云服务器的使用以及虚拟机创建用户

热门文章

  1. Coloring Dominoes
  2. 3.1.4 操作系统之内存的分配与回收
  3. 计算机专业迎新标语,迎新 || 标题不要了,只要你
  4. 算法练习day9——190327(“之” 字形打印矩阵、在行列都排好序的矩阵中找数、打印两个有序链表的公共部分、判断一个链表是否为回文结构)
  5. leaflet大量marker卡顿_leaflet如何加载10万数据
  6. 绝对强大的三个LINUX指令: AR, NM, OBJDUMP
  7. 数据结构与算法 / 哈希算法
  8. k30pro杀进程严重怎么解决_命运2掉帧严重怎么解决?提高帧数方法介绍
  9. 独立开发人员的自由之路 ——1
  10. 使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)