一、环境准备
192.168.5.2 #服务端
192.168.5.3 #客户端
二、Prometheus服务部署(服务器端部署)
注:笔者使用docker部署
docker run -d\
--name=prometheus \
-p 9090:9090 \
-v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
说明:需要提前准备好prometheus.yml配置文件
二、部署cadvisor(客户端部署)
说明:cadvisor用于监控docker容器
docker run -d \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
三、部署node_exporter(客户端部署)
说明:用于监控linux主机信息(CPU,内存,磁盘)
3.1、下载node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0-rc.0/node_exporter-0.17.0-rc.0.linux-amd64.tar.gz
3.2、解压node_exporter
tar xf node_exporter-0.17.0-rc.0.linux-amd64.tar.gz
3.3、启动node_exporter
cd node_exporter-0.17.0-rc.0.linux-amd64
./node_exporter &
四、部署grafana(服务端部署)
说明:用于高逼格的web页面展示监控信息
docker run -d \
-p 3000:3000 \
--name=grafana \
grafana/grafana
4.1、访问grafana web页面
五、修改prometheus.yml文件,使其能够监控服务
[root@localhost ~]# cat /tmp/prometheus.yml
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
- job_name: 'docker'
static_configs:
- targets: ['192.168.5.4:8080'] #cadvisor服务地址及端口
- job_name: 'linux'
static_configs:
- targets: ['192.168.5.4:9100'] #node_exporter服务地址及端口
- job_name: 'linux1'
static_configs:
- targets: ['192.168.5.3:9100'] #node_exporter服务地址及端口
5.1、修改完配置文件重启prometheus
docker restart 容器id
六、配置grafana使其能图形化展示
6.1、进入后填写数据源地址及图形模板
Docker主机监控模板:193
Linux主机监控模板:9276
6.2、Linux主机页面展示
6.3、Docker主机页面展示