node_exporter+prometheus+grafana搭建性能监控系统
我们在使用jmeter或者使用python 的locust做性能测试的时候特别是资源监控这一方面比较缺乏好的使用工具、特别是使用locust做压力测试时报告够详细且无法监控服务器资源因此我们需要一个强大且UI美观的性能监控平台因此给大家带来一个比较实用的性能监控平台

需要你使用Linux系统进行环境搭建本节使用的是docker方式搭建的因此需要你的操作系统有装有docker且会使用docker基本操作

一、安装node_exporter

node_exporter 用于监控服务器CPU、内存、磁盘、I/O等信息,首先需要安装node_exporter。node_exporter的作用是用于机器系统数据收集。

1.1 拉取 prom/node-exporter 镜像

  1. docker pull prom/node-exporter

1.2 查看是否拉取成功

  1. docker images

image.png
下载好了node-exporter镜像后我们就可以启动node-exporter了

1.3 启动node-exporter镜像

  1. docker run -d -p 9100:9100 \
  2. -v "/proc:/host/proc:ro" \
  3. -v "/sys:/host/sys:ro" \
  4. -v "/:/rootfs:ro" \
  5. prom/node-exporter

image.png

1.4 查看是否正常启动node-exporter镜像

  1. docker ps

容器正常启动端口也映射成功了
image.png

1.5 查看端口是否正常起来了

  1. netstat -anpt

image.png

9100端口已被启动

1.6 浏览器访问看服务是否正常启动

  1. http://120.77.152.21:9100/metrics

可以正常访问服务证明正常
image.png
好了 node-exporter 我们就已经配置好了接下来进行安装 prometheus

二、安装 prometheus

Prometheus 是由 SoundCloud 开源监控告警解决方案。

2.1 拉取 prom/prometheus 镜像

  1. docker pull prom/prometheus

2.2 下载好了镜像后我们需要进行创建一个目录

  1. 新建目录prometheus
  2. mkdir /opt/prometheus
  3. 编辑配置文件prometheus.yml
  4. cd prometheus
  5. vim prometheus.yml

2.3 配置prometheus.yml 文件

  1. global:
  2. scrape_interval: 60s
  3. evaluation_interval: 60s
  4. scrape_configs:
  5. - job_name: prometheus
  6. static_configs:
  7. - targets: ['localhost:9090'] #启动prometheus 的端口配置
  8. labels:
  9. instance: prometheus
  10. - job_name: linux
  11. static_configs:
  12. - targets: ['172.17.0.1:9100'] #监控的服务器地址
  13. labels:
  14. instance: localhost

2.4 启动容器

  1. docker run -d \
  2. -p 9090:9090 \
  3. -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
  4. prom/prometheus

启动之后自行进行检查是否正常启动

2.5 浏览器进行访问

  1. http://120.77.152.21:9090/graph

image.png
出现这个页面就已经正常启动了prometheus

再访问

  1. http://120.77.152.21:9090/targets

image.png
好了目前 prometheus 就已经配置完成、我们接下来继续安装 grafana

三、安装Grafana

Grafana是一个开源的功能丰富的数据可视化平台,通常用于时序数据的可视化。它内置了以下数据源的支持:
下面是我们安装时用到的架构图:
完美的分布式监控系统-普罗米修斯prometheus - 图10

3.1 拉取 grafana/grafana 镜像

  1. docker pull grafana/grafana

3.2 配置相关内容

1、新建空文件夹grafana-storage,用来存储数据

  1. mkdir /opt/grafana-storage

image.png
2、进行给创建的文件夹权限

  1. chmod 777 -R /opt/grafana-storage
  2. 因为grafana用户会在这个目录写入文件,直接设置777,比较简单粗暴!

image.png

3.3 启动容器

  1. docker run -d \
  2. -p 3000:3000 \
  3. --name=grafana \
  4. -v /opt/grafana-storage:/var/lib/grafana \
  5. grafana/grafana

启动后请自行进行检查对应的配置信息、这里不再进行讲述了

3.4 浏览器访问

  1. http://120.77.152.21:3030

默认会先跳转到登录页面,默认的用户名和密码都是admin
image.png

然后会让你设置新的密码
image.png
登录后

image.png

基本是环境配置已经完成

点击Add data source
image.png
选择Prometheus
image.png

进入后填写你的Prometheus 地址
image.png

输入完成后点击Save&test

image.png

出现 **Data source is workingimage.png

回到主页点击 create dashboard
image.png

我们这里使用模板进行
https://grafana.com/grafana/dashboards

image.png[

](https://grafana.com/grafana/dashboards)