理论支持
官方图片:
部署该服务prometheus,包括四个组件:Prometheus Server、Node Exporter、cAdvrisor、Grafana。
各组件的作用如下:
Prometheus Server:Prometheus服务的主服务器 ;
Node Exporter:收集Host硬件和操作系统的信息;
cAdvrisor:负责收集Host上运行的容器信息;
Grafana:用来展示Prometheus监控操作界面(给我们提供一个友好的web界面)
环境支持
借助opclient运维客户端登录操作如下三台服务器
内核如下:(查看命令:uname -r
)
server:172.25.10.89 client:172.25.10.126;172.25.11.126
实践操作
server,client均需要拉取镜像
docker pull prom/node-exporter
#拉取镜像
docker run --name=node-exporter -p 9100:9100 -itd prom/node-exporter
#启动服务,并进行检测服务是否正常
client最好都检测一下,以防止不必要的问题出现。
在两个server中拉取并启动
docker pull google/cadvisor:latest
docker run --name=cadvisor -p 8080:8080 -itd google/cadvisor
验证(ip+8080端口号)
运行Prometheus server容器,Prometheus Server是主服务器,所以只需要在server拉取镜像并启动
docker pull prom/prometheus
docker run -d --restart=always -p 9090:9090 -v /usr/local/docker/promethus/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus prom/prometheus:v2.32.1
(备注:挂载路径创建/usr/local/docker/promethus配置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:
#监听的地址
#指定了本机的9090、8080、9100这三个端口,
#还增加了另外两台被监控的服务器的8080端口和9100端口
#若需要监控更多的服务器,只需依次在上面指定添加即可,当然了,被监控端需要运行前面的两个容器
- targets: [''172.25.10.89:9090','172.25.10.89:8080','172.25.10.89:9100','172.25.10.126:9100','172.25.10.126:8080','172.25.11.126:9100','172.25.11.126:8080'']
客户端访问server的9090端口会出现如下:
未完待续…