学习prometheus第二天

2023-12-14  本文已影响0人  比巴卜超软泡泡糖

二、容器方式运行
安装prometheus

先确保机器上已经安装了docker
推荐使用docker-compose,方便管理配置

# vim /usr/local/docker/prometheus_docker/docker-compose.yml

version: '3.9'
services:
  prometheus:
    image: 'bitnami/prometheus:2.48.1'
    user: root
    container_name: prometheus
    restart: always
    ports: 
      - '9090:9090'
    volumes:
      - './conf/prometheus.yml:/opt/bitnami/prometheus/conf/prometheus.yml'
      - './data:/opt/bitnami/prometheus/data'
    command:
      - '--config.file=/opt/bitnami/prometheus/conf/prometheus.yml'
      - '--web.enable-lifecycle'
      - '--storage.tsdb.path=/opt/bitnami/prometheus/data'
      - '--storage.tsdb.retention.time=7d'
      - '--web.max-connections=512'
      - '--web.read-timeout=3m'
      - '--query.max-concurrency=25'
      - '--query.timeout=2m'

期间遇到的问题:
1、did not find expected key
docker-compose缩进格式的问题
2、err="open /opt/bitnami/prometheus/data/queries.active: permission denied"
容器内/data属主是root,而宿主机/data属主是root,docker-compose.yml中指定用户 user: root

启动

# docker-compose up -d

访问ip:9090查看Web UI

node_exporter安装
node_exporter也可以用容器运行,映射9100端口

# vim /usr/local/docker/node_exporter_docker/docker-compose.yml

version: '3.9'
services:
  node_exporter:
    image: 'bitnami/node-exporter:1.7.0'
    container_name: node_exporter
    restart: always
    network_mode: 'host'
    pid: 'host'
    ports:
      - '9100:9100'
    volumes:
      - '/proc:/host/proc:ro'
      - '/sys:/host/sys:ro'
      - '/:/rootfs:ro'

需要将宿主机的 /proc、/sys 等目录挂载到容器内,从而让node_exporter能够访问到宿主机的信息
不然只是对容器的信息进行采集

启动

# docker-compose up -d

在prometheus机器上prometheus.yml添加

# vim /usr/local/docker/prometheus_docker/data/prometheus.yml

添加

- job_name: "docker_node_exporter"
  static_configs:
    - targets: ["ip:9100"]

重启prometheus容器

# docker restart 容器ID

访问prometheus的ip:9090 Status-->Targets中看到监控的对象多了docker_node_exporter

安装grafana

# vim /usr/local/docker/grafana_docker/docker-compose.yml

version: '3.9'
services:
  grafana:
    image: 'grafana/grafana:10.2.2'
    container_name: grafana
    restart: always
    ports:
      - '3000:3000'
    volumes:
      - 'grafana_data:/var/lib/grafana'
volumes:
  grafana_data:

需要创建一个volumes,将grafana数据目录挂载进去,实现持久化。
访问ip:3000
默认admin/admin
进入后add your fiirst data source
选择prometheus
根据需求填写

上一篇下一篇

猜你喜欢

热点阅读