1. 镜像版本
镜像名称 | 镜像版本 | 获取方式 | 描述 |
node-exporter | prom/node-exporter | docker pull prom/node-exporter | 监控物理主机的exporter |
prometheus | prom/prometheus | docker pull prom/prometheus | 拉取采集数据的服务 |
grafana | grafana/grafana | docker pull grafana/grafana | 数据的界面可视化展示 |
cadvisor | google/cadvisor | docker pull google/cadvisor | 监控docker容器的exporter |
2. 选择性部署服务
2.1. 物理主机监控
如果仅监控物理主机信息,可选择只部署以下服务:
- node-exporter,参考步骤【3.2】
- prometheus,参考步骤【5.2】
- grafana,参考步骤【6.2】
- 导入模板文件,参考步骤【7.2】、【7.3】
2.2. Docker容器监控
如果仅监控Docker容器信息,可选择只部署以下服务:
- cAdvisor,参考步骤【4.2】
- prometheus,参考步骤【5.2】
- grafana,参考步骤【6.2】
- 导入模板文件,参考步骤【7.2】、【7.3】
3. node-exporter
3.1. node-exporter简介
Exporter是用于采集监控样本的插件,该插件对外暴露了一个用于获取当前监控样本数据的HTTP访问地址,Exporter的实例称为一个Target。Prometheus通过轮询的方式定时从这些Target中获取监控数据样本,并且存储在数据库当中,通过内置的PramQL语句查询并分析数据。
node-exporter其中一种插件,通过该插件能够监控物理主机的内存、CPU、磁盘等使用情况。该插件需在每台物理机上安装,用于采集该物理机的数据。
3.2. node-exporter部署
-
镜像拉取:docker pull prom/node-exporter
-
在服务器上传 node-exporter-compose.yml 配置文件
version: '3.0'
services:
node-exporter:
image: prom/node-exporter
container_name: node-exporter
restart: always
pid: host
networks:
- nc-network
volumes:
- '/:/host:ro,rslave'
command:
- '--path.rootfs=/host&