IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Jmeter+InfluxDB+Grafana+telegraf性能监控平台(实战) -> 正文阅读

[系统运维]Jmeter+InfluxDB+Grafana+telegraf性能监控平台(实战)

目录

前言

Jmeter:开源性能压测工具
安装位置:自己电脑
作用:并发测试、压测测试、稳定性测试
InfluxDB:开源时序型数据库
安装位置:性能服务器
作用:按时间标签的方式存放各种性能测试指标
Grafana:开源可视化监控工具
安装位置:性能服务器
作用:生成各种漂亮的性能指标图,方便插入性能测试报告中
telegraf:收集服务器性能代理程序
安装位置:性能服务器
作用:收集性能服务器的各种系统资源指标

一、安装Docker

1.查看内核版本

安装Docker需要3.10以上的内核

uname -r

在这里插入图片描述

2.使用 root 权限登录 Centos,确保 yum 包更新到最新。

yum update

遇到的问题:有时会出现进程占用的情况。
在这里插入图片描述
解决:重启服务器,之前有试过直接杀死,但是发现进程很多,咱们这里直接重启就好了

init 6

更新完成
在这里插入图片描述

3.卸载旧版本docker

sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-engine

在这里插入图片描述

4.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述

5.设置yum源

国外

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

阿里云(推荐)

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6.查看仓库中所有docker版本

yum list docker-ce --showduplicates | sort -r

7.安装docker

sudo yum install docker-ce-17.12.0.ce

8.启动docker并加入开机启动

sudo systemctl start docker
sudo systemctl enable docker

9.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

docker version

在这里插入图片描述

10.备注:设置docker下载镜像地址

第一步:

sudo mkdir -p /etc/docker

第二步:

sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://hub-mirror.c.163.com”]
}
EOF

第三步:

sudo systemctl daemon-reload

第四步:

sudo systemctl restart docker

第五步:查看docker下载镜像地址是否设置成功

docker info

在这里插入图片描述

二、安装并配置InfluxDB

1.下载influxDB镜像

docker pull influxdb

在这里插入图片描述

2.查看下载的镜像

docker images

在这里插入图片描述

3.后台启动influxDB镜像

docker run --name myinfluxdb -p 8086:8086 -p 8083:8083 -d influxdb

–name myinfluxdb 启动镜像后就是个容器,给容器起个名字叫myinfluxdb
-p 8086:8086 -p 8083:8083 指定宿主机(Linux)的8086和8083端口与myinfluxdb容器的8086、8083端口对应
-d 后台运行
Influxdb 启动的镜像名
在这里插入图片描述

4.查看运行中的docker

docker ps

在这里插入图片描述

5.从浏览器中打开InfluxDB

地址:http://ip地址:8086/
例如:http://192.168.0.104:8086/

6.点击Get Dtarted(开始)

在这里插入图片描述

7.配置登录账号、密码、组织、桶

输入Username(用户名):admin,Password(密码):123456789,Confirm Password(确认密码),Initial Organization Name(初始组织名称):org-jmeter,Inital Bucket Name(初始桶名称):jmeter,点击Continue(继续)。注意:Inital Bucket Name(初始桶名称)必须是jmeter。
在这里插入图片描述

8.点击Configure Later(稍后配置)

在这里插入图片描述

9.点击Load your data(加载数据)

在这里插入图片描述

10.创建外部读写Token

点击Tokens,点击Generate Token(生成Token令牌),点击Read/Write Token(读/写Token)
在这里插入图片描述
填写Description(描述):jmeter,选择Read和Write的桶jmeter,点击Save(保存)。
在这里插入图片描述

11.下载Jmeter

注意:必须使用5.2以上版本
参考链接:后续补充

12.打开Jmeter,添加线程组,HTTP请求,察看结果树,聚合报告,后端监听器。

在这里插入图片描述

13.配置HTTP请求。

在这里插入图片描述

14.配置后端监听器。

在后端监听器实现中选择InfluxdbBackendListenerClient,在influxdbURL中将自己的influxdb的ip、org、bucket填写进去,在application 中输入InfluxDB2,点击添加,在左侧输入influxdbToken,右侧输入在InfluxDB中配置的外部读写Token:jmeter-token。
在这里插入图片描述
在这里插入图片描述

15.更改线程数为500,点击运行。

在这里插入图片描述

16.点击Explore(浏览),左上角选择图形类型,选择桶jmeter,选择表jmeter,选择几个字段,点击Submit(提交)。

注意:有时候可能没图,是因为你jmeter设置的线程数太低导致画不出来图,多跑几遍就好了。
在这里插入图片描述

三、安装并配置Grafana

1.下载Grafana镜像

docker pull grafana/grafana

在这里插入图片描述

2.查看所有下载的镜像

docker images

在这里插入图片描述

3.后台启动grafana镜像

docker run --name mygrafana -p 3000:3000 -d grafana/grafana

–name mygrafana启动镜像后就是个容器,给容器起个名字叫mygrafana
-p 3000:3000 指定宿主机(Linux)的3000端口与mygrafana容器的3000端口对应
-d 后台运行
grafana/grafana 启动的镜像名
在这里插入图片描述

4.从浏览器中打开Grafana

地址:http://ip地址:3000/
例如:http://192.168.0.104:3000/

5.输入默认用户名:admin,默认密码:admin,点击Log in(登录)。

在这里插入图片描述

6.点击Skip(跳过)。如果你想要设置新的密码的话,需要输入新密码和确认密码,点击Submit(提交),这里咱们跳过就好。

在这里插入图片描述

7.点击Add your first data source(添加第一个数据源)

在这里插入图片描述

8.Time series databases(时间序列数据库)选择InfluxDB。

在这里插入图片描述

9.Name填写InfluxDB-jmeter,Query Language(查询语言)选择InfluxQL,URL输入InfluxDB 地址,开启With Credentials(证书),添加Custom HTTP Headers(自定义HTTP头),Header:Authorization, Value:Token +空格+在InfluxDB 中配置的外部访问token:jmeter-token,Database为jmeter,user为InfluxDB的账号admin,密码为InfluxDB的密码,HTTP Method(HTTP方法)选择Get,点击Save & Test(保存和测试)按钮。

在这里插入图片描述
在这里插入图片描述
注意:在点击Save & Test(保存和测试)按钮后,可能会出现InfluxDB Error,Bad Gateway(坏网关)。
主要原因在服务器屏蔽从docker内部的访问, 修改服务器的防火墙设置即可。

# 添加端口(--permanent永久生效,没有此参数重启后失效) 
firewall-cmd --zone=public --add-port=8086/tcp --permanent
# 更新防火墙规则
firewall-cmd --reload

在这里插入图片描述

10.再次点击Save & Test(保存和测试)按钮,提示Data source is working(数据源正在工作),表示配置已经好了,点击Back(返回)

在这里插入图片描述

11.进入https://grafana.com/grafana/dashboards,搜索jmeter,选择合适的模板并复制ID

在这里插入图片描述
在这里插入图片描述

12.点击Import(导入),输入ID,点击Load(加载),DB name(数据库名称)选择InfluxDB-jmeter,点击Import(导入)。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.映射jmeter的buckets到database。

由于InfluxDB2.0升级,使用新方式查询数据,不直接支持2.0之前的版本查询,而dashboard模板使用的还是旧方式查询,如果不进行新旧版本映射,则dashboard无法显示数据。
在命令行输入以下内容

curl --request POST http://localhost:8086/api/v2/dbrps
–header “Authorization: Token YourAuthToken”
–header ‘Content-type: application/json’
–data ‘{
“bucketID”: “00oxo0oXx000x0Xo”,
“database”: “example-db”,
“default”: true,
“orgID”: “00oxo0oXx000x0Xo”,
“retention_policy”: “example-rp”
}’

命令解释:
请求方法:POST
Token YourAuthToken:InfluxDB的对外读写Token:jmeter-token,注意:Token+空格+jmeter-token值。
在这里插入图片描述
bucketID:桶的ID
在这里插入图片描述
database:数据库名称,也就是桶的名称,咱们这里是jmeter
orgID:组织的ID,在地址栏查看,咱们这里是07c5e203d2f6e65b
在这里插入图片描述
其他保持默认
运行结果:
在这里插入图片描述

14.再次运行jmeter,然后点击Grafana的刷新按钮。

在这里插入图片描述

四、安装telegraf

1.下载telegraf镜像

docker pull telegraf

在这里插入图片描述

2.查看所有下载的所有下载的镜像

docker images

在这里插入图片描述

3.后台启动telegraf镜像

docker run --net=container:myinfluxdb --name mytelegraf -d telegraf

–net=container:myinfluxdb:设置与myinfluxdb容器在同一网络中
–name mytelegraf 启动镜像后就是个容器,给容器起个名字叫mytelegraf
-d 后台运行
telegraf 启动的镜像名
在这里插入图片描述

4.添加telegraf专用bucket。

在InfluxDB上点击Create Bucket(创建桶),Name输入telegraf,点击Create(创建)。
在这里插入图片描述
在这里插入图片描述

5.添加telegraf专用对外Token。

在InfluxDB上点击Data,点击Tokens,点击Generate Token(生成Token令牌),点击Read/Write Token(读/写Token)
在这里插入图片描述
填写Description(描述):telegraf-token,选择Read和Write的桶telegraf,点击Save(保存)。
在这里插入图片描述

6.映射telegraf的buckets到database

在控制台输入以下内容:

curl --request POST http://localhost:8086/api/v2/dbrps
–header “Authorization: Token YourAuthToken”
–header ‘Content-type: application/json’
–data ‘{
“bucketID”: “00oxo0oXx000x0Xo”,
“database”: “telegraf”,
“default”: true,
“org”: “org-jmeter”,
“retention_policy”: “example-rp”
}’

命令解释:
请求方法:POST
Token YourAuthToken:InfluxDB的对外读写Token:telegraf-token,注意:Token+空格+jmeter-token值。
在这里插入图片描述
bucketID:桶的ID
在这里插入图片描述
database:数据库名称,也就是桶的名称,咱们这里是telegraf
org:组织名称,咱们创建InfluxDB时的组织名是org-jmeter
在这里插入图片描述
其他保持默认
运行结果:
在这里插入图片描述

7.在InfluxDB里面创建telegraf

点击Telegraf,点击Create Configuration(创建配置)按钮。
在这里插入图片描述
Bucket(桶)选择telegraf,选择System,点击Continue(继续)。
在这里插入图片描述
填写名称为telegraf,其他保持默认,点击Create and Verify(创建并验证)
在这里插入图片描述

8.对telegraf进行配置。

在这里插入图片描述

第一步:您可以通过访问扩展数据下载页面安装最新的Telegraf。如果您的系统上已经安装了Telegraf,请确保它是最新的。您将需要1.9.2或更高版本。
咱们这里忽略。
第二步:进入mytelegraf容器

docker exec -it mytelegraf bash

在这里插入图片描述
复制第二步的命令,运行。注意:粘贴命令后可能在命令行显示错乱,不影响命令的运行,不用管。
在这里插入图片描述
在这里插入图片描述
复制第三步的命令,在最后面加&,意思是后台运行。注意:粘贴命令后可能在命令行显示错乱,不影响命令的运行,不用管,直接添加&即可。
在这里插入图片描述
在这里插入图片描述
按Enter键,查看进程ps -ef,看到已经启动
在这里插入图片描述
点击Listen for Data(监听数据)。
在这里插入图片描述
显示Connection Found!(找到连接!),点击Finish(完成)。
在这里插入图片描述

9.点击Explore(浏览),左上角选择图形类型,选择桶telegraf,选择表cpu,点击Submit(提交)。

在这里插入图片描述

10.在Grafana里面创建Data sources(数据源)

点击设置图标,选择Data sources(数据源),点击Add data source(添加数据源)
在这里插入图片描述
Time series databases(时间序列数据库)选择InfluxDB。
在这里插入图片描述
Name填写InfluxDB-telegraf,Query Language(查询语言)选择InfluxQL,URL输入InfluxDB 地址,开启With Credentials(证书),添加Custom HTTP Headers(自定义HTTP头),Header:Authorization, Value:Token +空格+在InfluxDB 中配置的外部访问token:telegraf-token,Database为telegraf,user为InfluxDB的账号admin,密码为InfluxDB的密码,HTTP Method(HTTP方法)选择Get。
在这里插入图片描述
在这里插入图片描述
点击Save & Test(保存和测试)按钮,提示Data source is working(数据源正在工作),表示配置已经好了,点击Back(返回)。
在这里插入图片描述

11.Grafana导入系统监控模板。

打开地址https://grafana.com/grafana/dashboards/3967,复制ID。
在这里插入图片描述
打开Grafana,鼠标移动到+,点击Import(导入)
在这里插入图片描述
输入复制的ID,点击Load(加载)。
在这里插入图片描述
telegraf选择InfluxDB-telegraf,点击Import(导入)
在这里插入图片描述

12.配置完成。

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 13:05:48  更:2021-08-18 13:07:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:28:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码