[docker] 用influxDB & Grafana & Telegraf & Jmeter搭建服务监控平台
Posted allbetter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[docker] 用influxDB & Grafana & Telegraf & Jmeter搭建服务监控平台相关的知识,希望对你有一定的参考价值。
主要内容:
一、安装Grafana
二、安装Telegra
三、安装InfluxDB
四、配置仪表盘
五、使用Jmeter
一、安装InfluxDB
1.1. 在docker官方镜像中找到influxdb(https://hub.docker.com/_/influxdb),根据安装提示安装:
docker run -d -p 8086:8086 --name=influxdb influxdb
1.2. 安装完成后,通过api查询服务是否安装成功并启动:
curl -G http://localhost:8086/query --data-urlencode "q=show databases"
1.3. 打开8086防火墙端口,不然之后grafana在配置数据源的时候会访问不到influxdb:
systemctl start firewalld.service --启动防火墙 firewall-cmd --zone=public --add-port=8086/tcp --permanent systemctl restart firewalld.service --启动防火墙
二、安装Telegraf
2.1. 在github中找到telegraf的wget的安装包,下载并安装:
yum install wget
wget https://dl.influxdata.com/telegraf/nightlies/telegraf-nightly.x86_64.rpm
yum localinstall telegraf-nightly.x86_64.rpm
2.2. 修改teltgraf配置,为其配置访问路径及默认数据库
vi /etc/telegraf/telegraf.conf
2.3. 重启telegraf,并查看服务启动状态:
systemctl start telegraf
systemctl status telegraf
2.4. 进入influxdb容器,查看是否存在telegraf数据库,如果telegraf数据库不存在,则说明tetegraf服务没有正常启动,则可以通过查看启动状态中的报错信息来定位问题
docker exec -it influxdb /bin/sh influx show databases
三、安装Grafana
3.1. 在docker官方镜像中找到grafana(https://hub.docker.com/r/grafana/grafana),根据安装提示安装:
docker run -d -p 3000:3000 --name=grafana grafana/grafana
3.2. 在虚拟机外访问grafana(默认帐号和密码都是:admin):
3.3. 登录后先要修改密码后,进入主页,接下来要添加数据源展示数据的仪表盘
3.4. 选择上图中的Add data source后,进入添加数据源页面,选择InfluxDB:
3.5. 更改下图中红框的配置,来连接influxdb容器内的数据库telegraf:
四、配置仪表盘
4.1. 添加完数据源后,返回首页,选择New dashboard
4.2. 选择可视化界面编辑:
4.3. 选择添加查询,更改数据库和查询语句,通过类似的方式,可以制作出需要展示数据的仪表盘:
五、使用Jmeter进行压力测试,并将结果展示在仪表盘中
5.1. 在influxdb中添加jmeter数据库:
docker exec -it influxdb /bin/sh
influx
show databases
create database "jmeter"
5.2. 为了将jmeter的压测数据导入到influxdb中,需要先更改配置。由于influxdb的docker中没有vim工具,则需要先进行安装:
apt update
apt install vim
安装完成后,在influxdb的配置中增加graphite,使得数据可以录入influxdb的数据库中:
// 打开配置文件 vi /etc/influxdb/influxdb.conf // 增加如下配置 [[graphite]] enabled = true database = "jmeter" bind-address = ":2003" protocol = "tcp" consistency-level = "one"
在容器中重启influxdb服务:
influxd -config /etc/influxdb/influxdb.conf
5.3. 在jmeter中增加Backend Listener:
选择graphite的监听方式,并更改监听端口和监听数据的正则匹配规则:
添加HTTP请求,启动执行,同时查看数据是否可以正常录入到influxdb中:
进入influxdb容器查看jmeter数据库中是否产生数据:
docker exec -it influxdb /bin/sh influx show measurements
5.4. 在grafana中新增influxdb的数据源,且数据库选择jmeter:
5.5. 制作jmeter数据的仪表盘,本次选择使用模版(https://grafana.com/dashboards):
选择想要的模版,复制模版id:
在grafana中的添加dashboard中,选择import:
在导入界面填入模版id,点击其它地方,会自动加载模版信息,并进入模版信息确认页面:
在此处选择数据库的名字,并点击导入:
在这个dashboard中就会显示刚才执行的jmeter的监控结果:
参考:
docker influxdb:https://hub.docker.com/_/influxdb
docker grafana:https://hub.docker.com/r/grafana/grafana
docker telegraf:https://hub.docker.com/_/telegraf
influx相关官方文档:https://docs.influxdata.com/
influx2.0相关官方文档:https://v2.docs.influxdata.com/v2.0/get-started/
influxdata_telegraf相关文档(包含下载):https://github.com/influxdata/telegraf
grafana Dashboards:https://grafana.com/dashboards
jmeter BackendListener:https://jmeter.apache.org/usermanual/component_reference.html#Backend_Listener
Telegraf+InfluxDB+Grafana搭建服务器监控平台:https://blog.csdn.net/w958660278/article/details/80484486
Jmeter + Grafana + InfluxDB 性能测试监控:https://www.cnblogs.com/yyhh/p/5990228.html
性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控:https://blog.csdn.net/zuozewei/article/details/82911173#InfluxDB_101
influxdb学习记录:https://blog.csdn.net/sunsloth/article/details/82260174
Linux tar包安装步骤:https://blog.csdn.net/dwj1250254648/article/details/77696676
解决docker,ubuntu镜像中没有vi/vim:https://www.cnblogs.com/yeleia/p/9192600.html
以上是关于[docker] 用influxDB & Grafana & Telegraf & Jmeter搭建服务监控平台的主要内容,如果未能解决你的问题,请参考以下文章