基於docker-compose部署Prometheus + Grafana監控系統

系統: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

http://ip:23333

修改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

http://ip:23333/targets

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就行
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章