群暉-使用docker套件部署Prometheus+Grafana

Docker 部署 Prometheus 說明:

先在群輝管理介面安裝好docker套件,修改一下鏡像源(更快一點)

所需容器如下

Prometheus Server(普羅米修斯監控主伺服器 )  
Node Exporter (收集Host硬體和作業系統資訊)  
cAdvisor (負責收集Host上運行的容器資訊)  
Grafana (展示普羅米修斯監控介面)

1.安裝Node Exporter

docker run -d -p 9100:9100 \
-v "/proc:/host/proc" \
-v "/sys:/host/sys" \
-v "/:/rootfs" \
-v "/etc/localtime:/etc/localtime"  \
prom/node-exporter \
--path.procfs /host/proc \
--path.sysfs /host/sys \
--collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"

部署後執行docker ps -a 查看容器狀態

root@Synology:~# docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED      STATUS      PORTS                     NAMES
d49e898538ed   prom/node-exporter       "/bin/node_exporter …"   2 days ago   Up 2 days   0.0.0.0:9100->9100/tcp    agitated_hoover

2.安裝cAdvisor

docker run -d -v "/etc/localtime:/etc/localtime" \
--volume=/:/rootfs:ro \
--volume=/volume1/homes/docker_conf:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/volume1/homes/docker_conf/var/lib/docker/:/var/lib/docker:ro \
--publish=18104:8080 \
--detach=true \
--name=cadvisor \
--privileged=true \
google/cadvisor:latest

部署後執行docker ps -a 查看容器狀態

root@Synology:~# docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED      STATUS      PORTS                     NAMES
8f457d3ad48f   google/cadvisor:latest   "/usr/bin/cadvisor -…"   2 days ago   Up 2 days   0.0.0.0:18104->8080/tcp   cadvisor

3.安裝 Prometheus Server

1>編輯配置文件

此處我將docker映射的相關東西都放在了/volume1/homes/docker_conf 可用參考

root@Synology:/volume1/homes/docker_conf# cat prometheus.yml 
# my global config
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_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    #監聽的地址
    - targets: ['192.168.10.200:9090','192.168.10.200:18104','192.168.10.200:9100']
2>啟動命令
docker run -d  \
-v /volume1/homes/docker_conf/prometheus.yml:/etc/prometheus/prometheus.yml \
-v "/etc/localtime:/etc/localtime" \
--name prometheus \
--publish=9090:9090 \
prom/prometheus:latest

部署後執行docker ps -a 查看容器狀態

root@Synology:~# docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED      STATUS      PORTS                     NAMES
01ea6fe3ff19   prom/prometheus:latest   "/bin/prometheus --c…"   2 days ago   Up 2 days   0.0.0.0:9090->9090/tcp    prometheus

4.創建運行Grafana

docker run -d -i -p 3000:3000 \
-v "/etc/localtime:/etc/localtime" \
-e "GF_SERVER_ROOT_URL=//grafana.server.name" \
-e "GF_SECURITY_ADMIN_PASSWORD=admin8888" \
--net=host \
grafana/grafana

部署後執行docker ps -a 查看容器狀態

root@Synology:~# docker ps -a
7c2e4f420ebe   grafana/grafana          "/run.sh"                2 days ago   Up 2 days                             gallant_spence

5.訪問群暉Grafana

瀏覽器訪問群暉IP:3000 按照網上步驟添加Prometheus數據源,添加面板
推薦好用的面板://grafana.com/grafana/dashboards/8919