docker部署Prometheus与Grafana

prometheus部署

建立文件

mkdir -p /ops/prometheus-data && cd /ops/prometheus-data
vi /ops/prometheus-data/prometheus.yml

添加如下内容后保存

global:
  scrape_interval: 15s
  external_labels:
    monitor: 'codelab-monitor'

scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']

因为存储文件夹需要进行文件的创建读写,需要授权不同的权限,新版的Prometheus Docker Image中,将默认user设置为nobody,
需要预先取出nobody的UID与GID,然后在本地预先授权文件夹权限。

# 取得nobody的uid
docker run --rm quay.io/prometheus/busybox cat /etc/passwd
···
nobody:x:65534:65534:nobody:/home:/bin/false

# 配置文件夹权限
chown 65534:65534 -R /ops/prometheus-data

启动prometheus容器

docker run --name prometheus -d 
-p 9090:9090 
--restart=always 
-v /ops/prometheus-data:/prometheus-data 
quay.io/prometheus/prometheus 
--config.file=/prometheus-data/prometheus.yml 
--storage.tsdb.path=/prometheus-data/   
--storage.tsdb.retention=168h 
--web.enable-lifecycle

grafana部署

创建文件夹

mkdir -p /ops/grafana/data
mkdir -p /ops/grafana/conf

授予文件夹权限

chown 472:472 -R /ops/grafana

启动命令

docker run -d 
  -p 3000:3000 
  --name=grafana 
  -v /ops/grafana/data:/var/lib/grafana 
  --restart=always 
  grafana/grafana
原文地址:https://www.cnblogs.com/yechen2019/p/14346555.html