docker-compose 快速部署Prometheus,监控docker 容器, 宿主机,ceph -- cluster集群
时间: 2024-02-05 13:03:07 浏览: 40
好的,下面是一个快速部署 Prometheus 监控 docker 容器、宿主机和 Ceph 集群的 docker-compose.yaml 文件:
```yaml
version: '3'
services:
prometheus:
image: prom/prometheus
ports:
- 9090:9090
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
depends_on:
- node-exporter
- cadvisor
- ceph-exporter
node-exporter:
image: prom/node-exporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)'
cadvisor:
image: google/cadvisor
ports:
- 8080:8080
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ceph-exporter:
image: galexrt/ceph-exporter:latest
environment:
CLUSTER_NAME: mycluster
CEPH_USERNAME: admin
CEPH_KEYRING_BASE64: <base64-encoded ceph.client.admin.keyring>
ports:
- 9128:9128
```
其中,Prometheus 监控的配置文件 prometheus.yml 可以参考下面的示例:
```yaml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'docker'
metrics_path: '/metrics'
static_configs:
- targets: ['node-exporter:9100']
labels:
group: 'docker'
- job_name: 'node'
metrics_path: '/metrics'
static_configs:
- targets: ['node-exporter:9100']
labels:
group: 'node'
- job_name: 'cadvisor'
metrics_path: '/metrics'
static_configs:
- targets: ['cadvisor:8080']
labels:
group: 'docker'
- job_name: 'ceph'
metrics_path: '/metrics'
static_configs:
- targets: ['ceph-exporter:9128']
labels:
group: 'ceph'
```
在这个配置文件中,我们定义了四个 job:
- prometheus:监控 Prometheus 本身的指标。
- docker:监控 Docker 容器运行时的指标。
- node:监控宿主机的指标。
- ceph:监控 Ceph 集群的指标。
对于 docker 和 node,它们都使用了 node-exporter 来收集指标。而对于 ceph,我们使用了 ceph-exporter 来收集指标。
在部署前,需要将 ceph.client.admin.keyring 文件的内容进行 base64 编码,并将编码后的内容填入 docker-compose.yaml 文件中的 CEHP_KEYRING_BASE64 环境变量中。
部署完成后,可以通过访问 http://localhost:9090 来访问 Prometheus 的 Web 界面。在这里,你可以查看所有收集到的指标,并且可以创建自己的监控规则和仪表盘。