使用 Docker
所有 Prometheus 服务都可以在 Quay.io 或 Docker Hub 上作为 Docker 镜像提供。
在 Docker 上运行 Prometheus 就像 一样简单。这从普罗米修斯的样本开始 配置并在端口 9090 上公开它。docker run -p 9090:9090 prom/prometheus
普罗米修斯图像使用卷来存储实际指标。为 生产部署 强烈建议使用命名卷来简化 Prometheus 升级时的数据管理。
要提供您自己的配置,有几个选项。这是 两个例子。
prometheus创建挂载目录
mkdir /usr/local/docker/prometheus
进入挂载目录
cd /usr/local/docker/prometheus
创建脚本文件
vim startPrometheus.sh
创建文件夹
mkdir config
cd config
创建配置文件
vim prometheus.yml
卷和装订装载
通过运行以下命令从主机绑定装载:prometheus.yml
docker run -itd \
--name prometheus \
-p 9090:9090 \
--restart=always \
-v /usr/local/docker/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
赋权
chmod -R 700 startPrometheus.sh
启动
./startPrometheus.sh
服务器记得开放9090端口
node_exporter – 用于机器系统数据收集
cd /usr/local/docker/prometheus
mkdir node
cd node
mkdir host
cd host
mkdir proc
mkdir sys
vim startNodeExporter.sh
docker run -itd --name node-exporter \
--restart=always \
-p 9100:9100 \
-v "/proc:/usr/local/docker/prometheus/node/host/proc:ro" \
-v "/sys:/usr/local/docker/prometheus/node/host/sys:ro" \
-v "/usr/local/docker/prometheus/node/:/rootfs:ro" \
prom/node-exporter
赋权
chmod -R 700 startNodeExporter.sh
启动
./startNodeExporter.sh
服务器记得开放9100端口
11074
mysqld-exporter 用于MySQL数据库数据收集
操作数据库
CREATE USER 'mine'@'123.249.112.232' IDENTIFIED BY 'mine' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mine'@'123.249.112.232';
flush privileges;
cd /usr/local/docker/prometheus
vim startMysqlIdExporter.sh
docker run -itd \
--name mysqld_exporter \
--restart=always \
-p 9104:9104 \
-e DATA_SOURCE_NAME="mine:mine@(123.249.112.232:3306)/" \
prom/mysqld-exporter
赋权
chmod -R 700 startMysqlIdExporter.sh
启动
./startMysqlIdExporter.sh
服务器记得开放9104端口
7362
Grafana是一个开源的功能丰富的数据可视化平台,通常用于时序数据的可视化。它内置了以下数据源的支持:
cd /usr/local/docker
mkdir /usr/local/docker/grafana
chmod 777 -R grafana
cd grafana
vim startGrafana.sh
docker run -itd \
--name=grafana \
--restart=always \
-p 3000:3000 \
-v /usr/local/docker/grafana:/var/lib/grafana \
grafana/grafana
赋权
chmod -R 700 startGrafana.sh
启动
./startGrafana.sh
服务器记得开放3000端口
Cadvisor 用于收集宿主机上的docker容器数据
启动cadvisor
创建挂载目录
mkdir /usr/local/docker/cadvisor
进入
cd /usr/local/docker/cadvisor
创建目录
mkdir run
mkdir docker
mkdir cpu,cpuacct
cd ..
chmod -R 777 cadvisor
cd cadvisor
创建脚本
vim startCadvisor.sh
docker run -itd \
-p 8000:8080 \
--name cadvisor \
--privileged=true \
-v /:/rootfs:ro \
-v /usr/local/docker/cadvisor/run:/var/run:rw \
-v /usr/local/docker/cadvisor/docker/:/var/lib/docker:ro \
-v /usr/local/docker/cadvisor/cpu,cpuacct:/sys/fs/cgroup/cpuacct,cpu \
google/cadvisor:latest
赋权
chmod -R 700 startCadvisor.sh
启动
./startGrafana.sh
服务器记得开放4848端口
11835
redis_exporter 用于Redis数据库数据收集
cd /usr/local/docker/prometheus
vim startRedisExporter.sh
docker run -itd \
--name redis_exporter \
-p 9121:9121 oliver006/redis_exporter \
--redis.addr redis://1.15.242.102:6379 \
--redis.password "qmm1123"
赋权
chmod -R 700 startRedisExporter.sh
启动
./startRedisExporter.sh
服务器记得开放4848端口
763