当前位置:   article > 正文

docker搭建prometheus监控_docker prometheus监控部署

docker prometheus监控部署
介绍

prometheus是开源的监控解决方案。他的监控侧重于云原生应用,例容器、k8s集群。prometheus通过各种各样的exporter去监控各种metric指标数据。

(本期目标:docker部署prometheus,添加常见exproter并且在grafana中导入可视化模板。)

docker环境的准备,怎么切换到国内镜像仓库源,提升镜像下载速度。小伙伴可以自行去查找其他博客进行学习。

拉镜像

这里我们拉取Prometheusnode-exportermysqld-exportercadvisor镜像并且启动他们。

  • node-exporter:虚拟机监控的exporter,包括虚拟机cpu、内存使用情况等。
  • mysqld-exporter:mysql监控的exporter。
  • cadvisor:容器监控的exporter。
docker pull prom/node-exporter
docker pull prom/mysqld-exporter
docker pull google/cadvisor
docker pull prom/prometheus
docker pull grafana/grafana
  • 1
  • 2
  • 3
  • 4
  • 5
起容器
  • node-exporter
docker run -d --name node-exporter --restart=always -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter
  • 1

容器启动后可通过访问http://ip:9100/metrics查看指标。
在这里插入图片描述

  • mysqld-exporter
docker run -d --name mysqld_exporter --restart=always -p 9104:9104 -e DATA_SOURCE_NAME="root:Password123@(172.17.0.2:3306)/" prom/mysqld-exporter
  • 1

容器启动后可通过访问http://ip:9104/metrics查看指标。

  • cadvisor
docker run -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -v /dev/disk/:/dev/disk:ro -p 8080:8080 -d --name=cadvisor --restart=always google/cadvisor:latest
  • 1

容器启动后可通过访问http://ip:8080/metrics查看指标。

  • prometheus

prometheus容器启动前需要配置前面三个exporter的网络信息。因为同属于docker网络。我们可以通过docker inspect containerid来查看上面三个容器的IP,将三个exporter注册进prometheus里。

mkdir /opt/prometheus
cd /opt/prometheus/
vim prometheus.yml
  • 1
  • 2
  • 3

下面贴出我的prometheus.yml配置文件:

global:
  scrape_interval:     60s
  evaluation_interval: 60s

scrape_configs:

  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: prometheus

  - job_name: linux
    static_configs:
      - targets: ['172.17.0.3:9100']
        labels:
          instance: localhost
  - job_name: cadvisor
    static_configs:
      - targets: ['172.17.0.5:8080']
        labels:
          instance: cAdvisor

  - job_name: mysqld
    static_configs:
      - targets: ['172.17.0.4:9104']
        labels:
          instance: mysql-exporter
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

使用下面命令启动prometheus容器:

docker run  -d --name prometheus --restart=always -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
  • 1

访问http://ip:9090/targets,可以看到我们起来的几个exporter:
在这里插入图片描述

  • grafana

创建grafana数据目录:

mkdir /opt/grafana-storage
chmod 777 -R /opt/grafana-storage
  • 1
  • 2

下面启动grafana容器:

docker run -d --name grafana --restart=always -p 3000:3000 --name=grafana -v /opt/grafana-storage:/var/lib/grafana grafana/grafana
  • 1

容器启动后可通过访问http://ip:3000访问grafana,初始账号为admin/admin,第一次登录后会需要你修改密码。
在这里插入图片描述

配置grafana仪表盘
  • 配置数据源

这里我们选择数据源为prometheus
在这里插入图片描述
这里我给出我的配置参考:
在这里插入图片描述
主要注意URL的填写,我这里填写的是prometheus容器内网地址。大家可以使用docker inspect containerid进行查看。

  • 导入官方仪表盘

8919、179分别是虚拟机监控仪表盘和容器监控仪表盘,输入数字后load。在这里插入图片描述
在这里插入图片描述
修改名称、选择你的prometheus数据源再import即可。

监控效果查看

下面给出我的虚拟机和容器监控效果图如下:
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/587329
推荐阅读
相关标签
  

闽ICP备14008679号