docker下prometheus+grafana+ node_exporter+influxdb性能监控环境搭建

说明:本环境是基于CentOS Linux release 7.9.2009 (Core)环境进行安装的

一、docker 环境安装:

安装依赖:yum install -y yum-utils device-mapper-persistent-data lvm2

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

安装docker:yum -y install docker-ce

启动Docker:systemctl start docker

二、在要运行prometheus的路径下,新建prometheus.yml文件

使用命令:touch prometheus.yml文件,文件中内容如下,global参数设置采集信息的频率,scrape_configs设置要prometheus要监控的节点

prometheus.yml配置文件

创建prometheus的镜像:

docker run --name=prometheus -d -p 9090:9090 -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

启动成功后,在浏览器中输入:http://IP:9090,进入到prometheus界面


prometheus界面

三:创建node_exporter监控,因为是要监控服务器的运行环境,建议直接安装到主机上,不要安装到docker容器中

下载命令:wget -c https://github.com/prometheus/node_exporter/releases/download/v0.16.0/node_exporter-0.16.0.linux-amd64.tar.gz

解压:tar -xvfz node_exporter-0.16.0.linux-amd64.tar.gz进行解压

解压后,进入到目录下面,运行 ./node_exporter &(后台运行)

node节点添加成后,配置prometheus.yml文件,就是图一的配置信息

重启prometheus的服务后,点击status下的targets,查看相应的监控节点信息

查看监控的node节点信息
配置成功的node节点信息

四:grafana搭建:

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

启动成功后,在浏览器输入:http://IP:8000,进入到grafana界面,默认账户密码为admin/admin

grafana默认启动界面

五、grafana图形化展示prometheus的监控界面

1、点击设置下面的DataSource,进入到数据源添加界面

添加DataSource

2、添加数据源prometheus,点击select

现在Prometheus

3、输入prometheus的http://IP:9090在URL的位置处,点击底部的save&test,验证通过

进行数据源信息的填写

4、添加报表模板,点击+号下的import,进入到报表引入的界面

报表引入

5、输入报表ID,此处使用的是8919,点击load

输入报表ID

6、给报表起一个名字,并选择数据源后,点击import

选择数据源

7、就可以查看到相关的信息:

最终信息展示

六:influxdb数据库搭建:

运行命令:docker run -d -p 8083:8083 -p8086:8086 --name inflfluxsrv tutum/inflfluxdb

启动成功后,进入到容器的内部:docker exec -it 容器名 bash 进入到influxdb 数据库的内部


进入到容器的内部

进入到bin目录下cd /usr/bin

运行:./influx

输入create databases 数据库名,进行数据库的创建

七、Jmeter脚本连接influxdb数据库:

需要在线程组中-监听元件-后置监听器,填写相关的数据库的信息,后运行Jmeter脚本,就可以将测试脚本的执行结果写入到influxdb数据库中

后置监听器的配置

八、grafana配置influxdb信息报表:

配置过程与prometheus类似,区别点需要填写连接的数据库的名称和user的信息,默认的用户密码为admin/admin

influxdb配置

配置完成后,数据展示:

Jmeter运行结果最终展示

推荐阅读更多精彩内容