使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源相关的知识,希望能为你提供帮助。
互联网发展的今天,人们对互联网产品的用户体验要求也越来越高,企业为了能提供更优质的用户体验,就会绞尽脑汁想尽各种办法。而对于服务器的资源监控,搭建一个资源监控平台,就是一个很好的维护优质服务的保障平台。利用监控平台,监控服务器资源的使用情况,实时查看用户在使用企业产品服务时,基础支撑能力情况,发现监控异常,能够第一时间做出相应的调整决策,从而保障提供用户优质体验。测试面试宝典
今天,就给大家讲解一种基于目前企业普遍使用的技术,快速搭建一个非常前沿、高大上的监控平台:docker + grafana + prometheus

使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

文章图片

dockerdocker 相信大家都已经在用了,因为现在大多企业中都在用。使用它来搭建环境,相比传统方式,速度要快非常非常多,同时,服务运行起来后,对资源的消耗也少很多,而且还能方便对各种服务进行定向扩容。而它的安装也非常的简单,准备一台 Linux 机器,如 CentOS7,只需要执行两个命令,就可以安装成功。
# centos7 安装docker # 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2#安装docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun# 设置开机启动 systemctl enable docker

prometheusPrometheus 是一套开源的监控 + 预警 + 时间序列数据库的组合,现在越来越多的公司或组织开始采用 Prometheus,现在常见的 kubernetes 容器管理系统,也会搭配 Prometheus 来进行监控。
Prometheus 本身不具备收集监控数据功能,需要使用 http 接口来获取不同的 export 收集的数据,存储到时序数据库中。
【使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源】使用 docker 方式安装 Prometheus 非常的简单
# 下载Prometheus镜像 docker pull prom/prometheus# 创建Prometheus容器 docker run -itd --name=docker_prometheus --restart=always -p 9090:9090 prom/prometheus

容器创建成功后,即可通过浏览器访问 http://prometheus 机器 ip:9090 查看
使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

文章图片

grafanaGrafana 是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据库查询后可视化的展示,并及时通知。官方提供了非常多的可视化模板,根据不同的数据源,选择不同的插件或模板即可。
使用 docker 安装,也是非常非常简单
# 下载镜像 docker pull grafana/grafana# 创建容器 docker run -itd --name=grafana \\ --restart=always \\ -p 3000:3000 \\ -v $PWD/grafana-storage:/var/lib/grafana \\ grafana/grafana

容器创建成功后,即可通过浏览器访问 http://grafana 机器 ip:3000,默认账号密码都是:admin
使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

文章图片

node_exportnode_export 是 Prometheus 的一个 export,主要是用来收集服务器硬件资源使用情况的。所以这个往往会部署再被监控的服务器上。即:grafana、Prometheus 会独立部署在一台机器上,node_export 则被部署在被监控的服务器上,收集被监控的服务器资源数据,给 Prometheus,然后再通过 grafana 展示出来。
node_export 部署在被监控的服务器上,可以根据服务器的实际情况,选择直接安装,还是用 docker 安装。
  • 服务器上直接安装 node_export
    • 首先,用浏览器访问:https://github.com/prometheus/node_exporter/releases 这里能获得 node_export 所有的发布版本,可以根据自己服务器的实际情况,选择要下载的包
    • 下载包后,上传到被监控的服务器上,解压
    • 进入解压文件夹,直接启动 ./node_exporter
  • 服务器上用 docker 安装 node_export
# 下载镜像 docker pull prom/node-exporter# 创建容器 docker run -itd --name=node-exporter \\ --restart=always \\ -p 9100:9100\\ -v "/proc:/host/proc:ro" \\ -v "/sys:/host/sys:ro" \\ -v "/:/rootfs:ro" \\ prom/node-exporter

node-exporter 部署启动好了后,在服务器的防火墙上开放 9100 端口,则可以通过浏览器访问 http://服务器 ip:9100/metrics 查看监控收集的数据。
使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

文章图片

配置 Prometheus+node_exporterprometheus 本身没有数据收集功能,需要用 node_exporter 收集,他们俩之间如何连接在一起呢?这就要修改 Prometheus 的配置文件,这个文件在 Prometheus 容器的
/etc/prometheus/prometheus.yml
# 从Prometheus容器中拷贝配置文件到宿主机 docker cp docker_prometheus:/etc/prometheus/prometheus.yml $PWD

修改 prometheus.yml 文件
vim prometheus.ymlscrape_configs: - job_name: prometheus static_configs: - targets: [\'localhost:9090\'] labels: instance: prometheus - job_name: linux static_configs: - targets: [\'被监控的服务器ip:9100\'] labels: instance: localhost

注意 :yml 文件的编辑,注意格式;想添加多个监控服务器时,可以在中括号中,用逗号分隔写多个
# 把修改后的Prometheus配置文件拷贝到容器中 docker cp $PWD/prometheus.yml docker_prometheus:/etc/prometheus/prometheus.yml

重启 Prometheus 容器
docker restart docker_prometheus

配置 Grafana+Prometheus现在,万事俱备,只欠东风了,只需要配置 grafana+prometheus 就能看到监控结果了。
用浏览器访问 http://grafana 机器 ip:3000 登录用户密码:admin
登录后,在首页,选择 "Add your first data source"
使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

文章图片

选择 Prometheus,填写相关信息
使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

文章图片

点击 back 按钮,回到首页
再点击 import
使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

文章图片

使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

文章图片

输入 12884,点击 load
再页面底部,Prometheus 数据库下拉框中,选择自己添加的数据源的名称,点击 import 按钮,所有工作就都完成。测试面试宝典
使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

文章图片


    推荐阅读