docker搭建prometheus监控教程

 更新时间:2025年03月13日 09:54:05   作者:程序员阿斌  
这篇文章主要介绍了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

起容器

  • 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

容器启动后可通过访问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

容器启动后可通过访问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

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

  • prometheus

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

mkdir /opt/prometheus
cd /opt/prometheus/
vim prometheus.yml

下面贴出我的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

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

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

访问http://ip:9090/targets,可以看到我们起来的几个exporter:

  • grafana

创建grafana数据目录:

mkdir /opt/grafana-storage
chmod 777 -R /opt/grafana-storage

下面启动grafana容器:

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

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

配置grafana仪表盘

这里我们选择数据源为prometheus

这里我给出我的配置参考:

主要注意URL的填写,我这里填写的是prometheus容器内网地址。大家可以使用docker inspect containerid进行查看。

  • 导入官方仪表盘

8919、179分别是虚拟机监控仪表盘和容器监控仪表盘,输入数字后load。


修改名称、选择你的prometheus数据源再import即可。

监控效果查看

下面给出我的虚拟机和容器监控效果图如下:


总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker离线部署docker,部署业务方式

    docker离线部署docker,部署业务方式

    这篇文章主要介绍了docker离线部署docker,部署业务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 解决Docker安装错误failure:repodata/repomd.xml from docker-ce-stable

    解决Docker安装错误failure:repodata/repomd.xml from docke

    在使用yum命令安装docker或其他工具时可能会遇到failure_repodata_repomd.xmlfromdocker-ce-stable_[Errno256]Nomoremirrorstotry的错误,原因可能是yum源配置问题,解决方法包括重置yum源,删除多余的repo文件
    2024-11-11
  • 详解利用ELK搭建Docker容器化应用日志中心

    详解利用ELK搭建Docker容器化应用日志中心

    这篇文章主要介绍了详解利用ELK搭建Docker容器化应用日志中心,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • docker部署Prometheus+Cadvisor+Grafana实现服务器监控

    docker部署Prometheus+Cadvisor+Grafana实现服务器监控

    这篇文章主要为大家介绍了docker部署Prometheus+Cadvisor+Grafana实现服务器监控,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 基于docker搭建redis-sentinel集群的方法示例

    基于docker搭建redis-sentinel集群的方法示例

    这篇文章主要介绍了基于docker搭建redis-sentinel集群的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • Windows使用docker打开新窗口error解决办法

    Windows使用docker打开新窗口error解决办法

    这篇文章主要介绍了Windows使用docker打开新窗口error解决办法,十分简单,需要的朋友可以参考下。
    2017-09-09
  • Docker容器的加载分层原理及commit镜像

    Docker容器的加载分层原理及commit镜像

    这篇文章主要为大家介绍了Docker容器的加载分层原理及commit镜像,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Docker 中的挂载机制详解

    Docker 中的挂载机制详解

    Docker 的挂载机制允许将宿主机的文件或目录挂载到 Docker 容器内部,这样容器就可以访问宿主机上的文件系统,本文给大家介绍Docker 中的挂载机制,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • DockerHub 镜像仓库的使用详解

    DockerHub 镜像仓库的使用详解

    这篇文章主要介绍了DockerHub 镜像仓库的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 使用docker轻松几步打造个人专属图床的实现步骤

    使用docker轻松几步打造个人专属图床的实现步骤

    本文主要介绍了使用docker打造个人专属图床的实现步骤,可以快速搭建属于您自己的图床,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02

最新评论