性能监控平台之influxdb搭建
今天开始,我会把自己搭建性能监控平台的亲身经历记录成博客,其实通过百度搜索,网上相关的操作指引一抓一大把,但还真是应了那句话,纸上得来终觉浅,自己踩过的坑永远印象最深刻。
其实,我也是靠着百度大神的指引一步步摸索实践,但很多时候初学者和大神对于系统的理解并不在同一起跑线上,很多时候可能对大神来说只是一个常识性的细节一笔略过,但恰恰就是这么一个细节遗漏而不自知就能困扰初学者很久很久。所以在博客中,我会把自己踩过的一些坑都记录下来,方便自己以后查阅的同时,也希望能帮助到更多的读者。
整个性能监控平台的架构其实就是通过jmeter+influxdb+grafana+prometheus四部分来实现的。其中jmeter作为压测工具来执行性能测试脚本,通过jmeter自带的后端监听器把压测期间对应的吞吐量、响应时长、并发数以及错误率等信息插入到influxdb数据库中。同时,在不同的服务器上安装相应的prometheus监听器,采集服务器实时的资源消耗情况并存储在prometheus数据库中,最后通过grafana来做一个汇总数据展示。这就是目前市面上主流的性能监控平台了。
今天就先来讲解influxdb的安装与使用。首先,我强烈建议各位通过docker的方式来安装influxdb,相对于传统方式,使用docker来搭建influxdb只需要简单的简单的五个步骤就能安装并运行influxdb,但考虑到部分读者不会使用docker,所以传统的方式我也会在本文中罗列。
docker方式安装influxdb
1.# 拉取influxdb镜像(influxdb 1.x和2.x的版本内容差异较大,建议使用1.x版本) docker pull influxdb:1.8.6 2.# 创建容器并将其命名为jmeterdb,同时设置对外映射端口8086 docker run -itd --name jmeterdb -p 8086:8086 influxdb:1.8.6 3.# 进入容器 docker exec -it 容器Id /bin/bash 4.# 进入数据库 influx # 查看数据库 show databases 5.# 创建数据库,取名为jmeter(这里设置的数据库名称就是后期在grafana中配置的influxdb数据库名称) create database jmeter
注意:如果docker启动后,我们再对防火墙firewalld进行操作,在启动容器时,系统会报错: Error response from daemon: driver failed programming external connectivity on endpoint XXX,此时我们只能通过命令systemctl restart docker重启docker解决问题。
传统方式安装influxdb
1.下载安装包
#下载并安装 yum install https://dl.influxdata.com/influxdb/releases/influxdb-1.8.6.x86_64.rpm
2.编辑配置文件
#在/etc/influxdb下修改influxdb.conf的文件 vim /etc/influxdb/influxdb.conf #输入i进入编辑模式,修改如下信息,修改好之后点击ESC退出编辑模式,然后输入:wq保存并退出
3.创建文件夹并给予权限
#这里会遇到一个坑,influxdb用到这些目录进行数据存储,但是并不会自动创建这些目录,需要自己手动创建并给予权限,否则之后运行会报错。且必须要一次性把所有文件夹都创建好再给予权限,顺序错了只能卸载重新安装!!!
mkdir /var/lib/influxdb
mkdir /var/lib/influxdb/meta
mkdir /var/lib/influxdb/data
mkdir /var/lib/influxdb/wal
chown -R influxdb:influxdb /var/lib/influxdb/
4.启动influxdb
#加载配置文件
influxd -config /etc/influxdb/influxdb.conf
5.创建数据库
#进入数据库
influx
#创建数据库
create database jmeter
#查看全部数据库
show databases
#使用数据库
use jmeter
#退出数据库
exit
介绍了两种 influxdb的安装方式,对比下来是否觉得docker更方便呢?如果不会使用docker,建议可以在菜鸟教程https://www.runoob.com/上花个半天自学一下,多操作几遍,基本操作应该就不成问题了