美文网首页
安装prometheus和grafana(docker-comp

安装prometheus和grafana(docker-comp

作者: heichong | 来源:发表于2023-01-16 16:12 被阅读0次

编写配置文件

  • prometheus.yml
cat <<EOF > ./data/prometheus.yml

# 全局配置
global:
  scrape_interval:     15s   # 多久 收集 一次数据
  evaluation_interval: 30s   # 多久评估一次 规则
  scrape_timeout:      10s   # 每次 收集数据的 超时时间

scrape_configs:
  - job_name: "apisix"
    scrape_interval: 15s
    metrics_path: "/apisix/metrics"
    static_configs:
      - targets: ["10.3.23.191:9907"]
EOF

这里配置的scrape_configs是为了抓取APISIX的指标。如果你没有抓取任务,这里可以去掉

  • grafana.ini
    这里暂时先不做配置。
    grafana.ini默认有很多配置,我们等启动以后再从容器中copy出来,因为后续需要修改此配置文件。
    docker cp grafana:/etc/grafana/grafana.ini ./data/grafana/grafana.ini

编写docker-compose文件

cat <<EOF > docker-compose.yml
version: '3'
services:
  prometheus:
    container_name: "prometheus"
    image: "prom/prometheus:v2.41.0"
    user: root
    restart: always
    ports:
      - 9911:9090
    volumes:
      - ./data/prometheus.yml:/etc/prometheus/prometheus.yml
      - ./data/prometheus:/prometheus

  grafana:
    container_name: "grafana"
    image: "grafana/grafana:9.3.2"
    user: root
    restart: always
    ports:
      - 9912:3000
    restart: always
    volumes:
      - ./data/grafana/data:/var/lib/grafana
      - ./data/grafana/log:/var/log/grafana
EOF
  • 请注意,一定要加入user: root,否则启动时prometheus和grafana都会遇到permission denied相关的错误。
  • grafana相关文件的路径如下,如有需要可以映射到宿主机:
    https://grafana.com/docs/grafana/latest/setup-grafana/configure-docker/
    GF_PATHS_CONFIG /etc/grafana/grafana.ini
    GF_PATHS_DATA /var/lib/grafana
    GF_PATHS_HOME /usr/share/grafana

GF_PATHS_LOGS /var/log/grafana
GF_PATHS_PLUGINS /var/lib/grafana/plugins
GF_PATHS_PROVISIONING /etc/grafana/provisioning

启动测试

docker-compose up -d
  • 访问prometheus
    http://10.3.23.191:9911/
image.png

prometheus 启动成功

  • 访问 grafana
    http://10.3.23.191:9912/
image.png

默认登录密码 admin/admin,第一次登录进去后需要立即修改密码

image.png

说明grafana启动成功。

映射Grafana配置文件

grafana容器启动以后,通过以下命令把grafana.ini文件copy出来

docker cp grafana:/etc/grafana/grafana.ini  ./data/grafana/grafana.ini

重新修改docker-compose.yml文件

cat <<EOF > docker-compose.yml
version: '3'
services:
  prometheus:
    container_name: "prometheus"
    image: "prom/prometheus:v2.41.0"
    user: root
    restart: always
    ports:
      - 9911:9090
    volumes:
      - ./data/prometheus.yml:/etc/prometheus/prometheus.yml
      - ./data/prometheus:/prometheus

  grafana:
    container_name: "grafana"
    image: "grafana/grafana:9.3.2"
    user: root
    restart: always
    ports:
      - 9912:3000
    restart: always
    volumes:
      - ./data/grafana/data:/var/lib/grafana
      - ./data/grafana/grafana.ini:/etc/grafana/grafana.ini
      - ./data/grafana/log:/var/log/grafana
EOF

重启即可。

APISIX 代理grafana以后出现问题:

image.png

反向代理Grafana以后,由于增加了路径前缀:http://10.3.23.191:9906/grafana/

docker cp grafana:/etc/grafana/grafana.ini ./data/grafana/grafana.ini

重启grafana
docker-compose restart

常见问题

prometheus | ts=2023-01-16T01:09:43.681Z caller=query_logger.go:91 level=error component=activeQueryTracker msg="Error opening query log file" file=/prometheus/queries.active err="open /prometheus/queries.active: permission denied"
prometheus | panic: Unable to create mmap-ed active query log

grafana | mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
grafana | GF_PATHS_DATA='/var/lib/grafana' is not writable.
grafana | You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later

https://cloud.tencent.com/developer/ask/sof/1522407

第一次登录修改密码:


image.png image.png
image.png

相关文章

网友评论

      本文标题:安装prometheus和grafana(docker-comp

      本文链接:https://www.haomeiwen.com/subject/sivgcdtx.html