#创建工作目录
sudo mkdir -p /app/prometheus/config
sudo mkdir -p /app/prometheus/data
sudo chmod -R 777 /app/prometheus/config
sudo chmod -R 777 /app/prometheus/data
#生成预设配置文件
sudo cat > /app/prometheus/config/prometheus.yml <<EOF
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_configs:
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
- job_name: 'job01'
static_configs:
- targets: ['127.0.0.1:9100']
EOF
#执行docker命令
docker run -d \
-p 9090:9090 \
--restart=always \
-v /app/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /app/prometheus/data:/prometheus \
--log-opt max-size=1g \
--log-opt max-file=2 \
--name prometheus \
prom/prometheus:v2.55.0 \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/prometheus \
--storage.tsdb.retention.time=180d \
--web.console.libraries=/usr/share/prometheus/console_libraries \
--web.console.templates=/usr/share/prometheus/consoles \
--web.enable-lifecycle
#安装node_exporter
sudo mkdir /app
cd /app
sudo wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
sudo tar xvfz node_exporter-*.*-amd64.tar.gz
sudo mv /app/node_exporter-1.8.2.linux-amd64 /app/prometheus_node_exporter
#设置node_exporter自启动
sudo tee /etc/systemd/system/node_exporter.service > /dev/null <<EOF
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=nobody
ExecStart=/app/prometheus_node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
#启动node_exporter服务
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
#测试node_exporter命令
curl http://localhost:9100/metrics
#docker安装node_exporter
docker run -d \
--net="host" \
--pid="host" \
--restart=always \
-v "/:/host:ro,rslave" \
--name prometheus_node_exporter \
quay.io/prometheus/node-exporter:latest \
--path.rootfs=/host