1.运行 node-exporter
shell
# 编写文件 node-exporter.yml
cat <<EOL > /data/docker-compose/node-exporter.yml
version: '3.1'
services:
node-exporter:
image: prom/node-exporter
container_name: node-exporter
ports:
- "39100:9100"
volumes:
- "/proc:/host/proc:ro"
- "/sys:/host/sys:ro"
- "/:/rootfs:ro"
restart: always
EOL
# 启动
docker compose -f /data/docker-compose/node-exporter.yml up -d2.部署 Prometheus
shell
# 创建目录
mkdir /data/prometheus
# 创建配置文件
cat <<EOF > /data/prometheus/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: hart
metrics_path: /actuator/prometheus
scheme: http
static_configs:
- targets:
- 127.0.0.1:8080
relabel_configs:
- source_labels:
- __address__
target_label: instance
- job_name: linux
static_configs:
- targets: ['127.0.0.1:39100']
labels:
instance: localhost
EOF
# 编写文件 prometheus.yml
cat <<EOL > /data/docker-compose/prometheus.yml
version: '3.1'
services:
prometheus:
image: prom/prometheus
container_name: prometheus
ports:
- "39090:9090"
volumes:
- /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
command:
- '--storage.tsdb.retention.time=5d'
- '--config.file=/etc/prometheus/prometheus.yml'
restart: always
EOL
# 启动
docker compose -f /data/docker-compose/prometheus.yml up -d3.部署 Grafana
shell
# 创建目录
mkdir -p /data/grafana/data
# 权限
chmod 777 -R /data/grafana
# 编写文件 grafana.yml
cat <<EOL > /data/docker-compose/grafana.yml
version: '3.1'
services:
grafana:
image: grafana/grafana
container_name: grafana
ports:
- "33000:3000"
volumes:
- /data/grafana/data:/var/lib/grafana
restart: always
EOL
# 启动
docker compose -f /data/docker-compose/grafana.yml up -d