系統:CentOS Linux release 8.1.1911 (Core)
docker: Docker version 19.03.8, build afacb8b
docker-compose: 1.23
1. 安裝docker
安裝以下依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
添加docker的yum源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
配置鏡像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://zggyaen3.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
更新yum源緩存, 安裝docker-ce
$ sudo yum makecache fast
$ sudo yum install docker-ce
普通用戶需要加入docker組
$ sudo usermod -a -G docker ${USER}
修改docker存儲位置(可以不改)
$ sudo systemctl stop docker
$ sudo mv /var/lib/docker /home/lan/docker
$ sudo ln -s /home/lan/docker /var/lib/docker
$ sudo systemctl start docker
$ sudo systemctl enable docker
2. docker-compose安裝
$ sudo curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
如果下載很慢可手動下載,再上傳至系統
下載路徑: https://github.com/docker/compose/releases/ 可以選擇對應的版本下載
3. 部署Prometheus, node-exporter, Grafana
編寫docker-compose文件
version: "3"
services:
prom:
image: quay.io/prometheus/prometheus:latest
volumes:
- ./monitor/prometheus.yml:/etc/prometheus/prometheus.yml
command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus"
ports:
- 23333:9090 # prometheus的訪問地址被我改成了23333
depends_on:
- exporter
exporter:
image: prom/node-exporter:latest
ports:
- "9100:9100"
# network_mode: host
grafana:
image: grafana/grafana
ports:
- "3000:3000"
environment:
- “GF_SECURITY_ADMIN_PASSWORD=Gz2020@”
- “GF_INSTALL_PLUGINS=alexanderzobnin-zabbix-app”
restart: "always"
volumes:
- “grafana-etc:/etc/grafana/”
- $GRAFANA_DIR/data:/var/lib/grafana:rw
- $GRAFANA_DIR$GRAFANA_plugins:/var/lib/grafana/plugins:rw
- /etc/localtime:/etc/localtime
depends_on:
- prom
4. 訪問Prometheus
修改Prometheus配置文件,增加node-exporter監控
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'server'
static_configs:
- targets: ['ip:9100']
驗證Prometheus是否收到數據
ip:9100/metrics
5. Grafana配置
訪問 http://ip:3000 初始賬號:admin 初始密碼: admin
1. 點擊設置 --> Data Sources --> Add data source --> Prometheus --> URL(填寫 http://ip:23333)
2. 添加圖形插件:
訪問地址https://grafana.com/grafana/dashboards/8919 --> Download JSON --> 回到自己的grafana主頁面 --> 左上角的home --> Import dashboard --> Upload.json file --> 該填的都填了,可以點Import就行