点击箭头处“蓝色字”,关注我哦!!
Jmeter + Grafana搭建实时监控
![](https://i-blog.csdnimg.cn/blog_migrate/f6c89d50cdf5f0e541a0ae4a6ae80b99.png)
小贴士: 建议使用jmeter3.3+版本,在这个版本以后才有backend listener 对接influxDB.
Jmeter中backend listener如图
influxdbUrl :http://localhost:8086/write?db=jmeter
#host写安装influxdb服务的ip地址+端口,如修改填写修改后的端口
db创建数据库:jmeter
application :随便起个名字,后面grafana会用到
jmeter中添加请求运行, 执行的数据就会记录到influxDB
安装influxDB
OS X (via Homebrew)
brew update
brew install influxdb
MD5: 4f0aa76fee22cf4c18e2a0779ba4f462
Ubuntu & Debian (64-bit)
wget https://dl.influxdata.com/influxdb/releases/influxdb_0.13.0_amd64.deb
sudo dpkg -i influxdb_0.13.0_amd64.deb
MD5: bcca4c91bbd8e7f60e4a8325be67a08a
Ubuntu & Debian (ARM)
wget https://dl.influxdata.com/influxdb/releases/influxdb_0.13.0_armhf.deb
sudo dpkg -i influxdb_0.13.0_armhf.deb
MD5: b64ada82b6abf5d6382ed08dde1e8579
RedHat & CentOS (64-bit)
wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0.x86_64.rpm
sudo yum localinstall influxdb-0.13.0.x86_64.rpm
MD5: 286b6c18aa4ef37225ea6605a729b61d
RedHat & CentOS (ARM)
wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0.armhf.rpm
sudo yum localinstall influxdb-0.13.0.armhf.rpm
MD5: 4cf99debb5315fbbb26166506807d965
Standalone Binaries (64-bit)
wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0_linux_amd64.tar.gz
tar xvfz influxdb-0.13.0_linux_amd64.tar.gz
MD5: 187854536393c67f7793ada1c096da8e
Standalone Binaries (ARM)
wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0_linux_armhf.tar.gz
tar xvfz influxdb-0.13.0_linux_armhf.tar.gz
Docker Image
docker pull influxdb
在实际安装过程中,只需要选好对应的版本,然后按照命令执行就可以了。
如果你使用的x86架构的机器的话,推荐使用编译好的二进制版本,在没有root权限时使用非常方便。
InfluxDB启动
1)服务端启动
如果是通过包安装的,可以使用如下语句启动:
sudo service influxdb start
如果直接下载的二进制包,则通过如下方式启动
进入InfluxDB目录下的usr/bin,执行:
influx //这样就启动了服务端。
InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。
其主要特色功能
1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
2)可度量性:你可以实时对大量数据进行计算
3)基于事件:它支持任意的事件数据
#启动服务
launchctl
load ~/Library/LaunchAgents/homebrew.mxcl.influxdb.plist
#停止服务
launchctl
unload ~/Library/LaunchAgents/homebrew.mxcl.influxdb.plist
#前台启动
influxd -config /usr/local/etc/influxdb.conf
查看influxdb运行配置
influxd config
influxdb需要修改配置文件 /etc/influxdb/influxdb.conf
vim /etc/influxdb/influxdb.conf
搜索graphite 去掉对应的#号
[graphite]
# Determines whether the graphite endpoint is enabled.
enabled =true
database ="jmeter"
# retention-policy=""
bind-address=":2003"
protocol ="tcp"
consistency-level="one"
[http]
# Determines whether HTTP endpoint is enabled.
# enabled = true
# The bind address used by the HTTP service.
bind-address = ":8086"
启动influxDB
创建DB
influx -port xxxx 我用的是8086
# 创建数据库 >后面输入命令 create database xxx
> create database jmeter
# 查看数据库
InfluxDB shell version: v1.7.2
Enter an InfluxQL query
> show databases
name: databases
name
----
_internal
jmeter
运行jmeter里的HTTP请求数次后, 再去influxDB中查看结果
有数据就说明jmeter入库成功
选择数据库
> use jmeter
执行sql语句查看刚刚的请求数据是否有插入
> select * from jmeter
是不是和MySQL很类似.
安装grafana
官方安装文档: http://docs.grafana.org/installation/
Mac下安装brew这个包管理工具,再安装grafana就方便多了
brew update
brew install grafana
出现如下提示,则说明安装完成
To have launchd start grafana now and restart at login:
brew services start grafana
Or, if you don't want/need a background service you can just run:
grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /usr/local/share/grafana cfg:default.paths.logs=/usr/local/var/log/grafana cfg:default.paths.data=/usr/local/var/lib/grafana cfg:default.paths.plugins=/usr/local/var/lib/grafana/plugins
启停命令
通过下面命令可以后台启动/停止grafana,默认端口3000
start brew services start grafana //启动
stop brew services stop grafana //停止
浏览器登录:http://localhost:3000/
官网模板库地址:https://grafana.com/dashboards?dataSource=influxdb 如jmeter官方模板:copy id
添加完成后就会出现了以下界面了
完美!
是不是很炫酷, 赶快动手来实践吧!
今日精选推荐
Charles手机抓包-最新最全
咨询工作加微信
扫描二维码
视觉设计师
上海 / 经验1-3年 / 全职
1.负责一线品牌客户的品牌Logo、VI、推广海报、活动专题页、h5页面等设计工作;
2.负责一线品牌客户的日常宣传、策划设计、线下物料的设计与制作;
3.能够根据品牌策略及设计需求,完成各项项目的提案;
4.协助并配合各部门完成设计任务,对设计的画面布局合理、美观程度负责.
职位要求:
1.广告、美术或相关设计专业出身,学历不限;
2.两年及以上广告创意及视觉设计工作经验,有广告公司、品牌互动公司经验优先;
3.能够把握品牌调性,主导设计思路;
4.熟悉PS,AI
5.投简历时请附上作品.
前端架构师
20k-40k /上海 / 经验5-10年 / 本科及以上 / 全职
职位诱惑:
人工智能
职位描述:
1.深入理解业务和需求,识别系统风险,负责平台前端架构的建立和实施,主导前端框架开发,并据此制定合理有效的开发规范;
2.负责完成产品各模块及核心框架的搭建及督导编码实现;
3.负责系统整体相关架构和技术规划质量控制,主导团队技术方案评审等工作;
任职资格:
1.五年以上前端开发的工作经验,有大型网站的前端架构部署和实践经验
2.精通Web前端技术(HTML/CSS/JavaScript等)以及掌握Vue、React等框架中的一种或两种,熟悉MVC、MVVM等前端开发模型;精通vue(必备:vue/vue-router/vuex)技术栈或者react(必备:react/react-router/redux/mobx/immutable)
3.掌握主流前端框架的源码实现,理解框架背后的思想,可以持续改进完善业务框架;
4.对前后端的协作模式、产品和项目流程有深入理解;
5.熟悉http/https协议和restfulapi接口标准,熟练掌握前后端交互的技术和常用的框架(如ajax);
6.有实际框架或系统的设计经验,或是作为核心成员开发过复杂的产品级的Web应用;
7.关注前端前沿技术,具备较强的学习能力,各大前端技术社区活跃者、有自己的开源项目者优先;
8.具备很强的沟通能力、分析和解决问题的能力;
工作地址
上海 - 市区
欢迎自荐和推荐, 需要的微信推送简历!
(微信公众号:测试工程师成长之道)
请猛戳上面的二维码关注吧,更多精彩内容等待着你!