Docker Compose部署Prometheus与Grafana

本指南将详细介绍如何使用Docker Compose快速搭建一套监控系统,包括Prometheus作为数据收集与存储端,以及Grafana作为数据可视化平台。这将帮助你轻松监控你的应用程序或基础设施的性能指标。

准备工作

确保你的环境中已安装了以下软件:

  1. Docker:Docker是一个开源的应用容器引擎。
  2. Docker Compose:用于定义和运行多容器Docker应用的工具。

步骤1:创建Docker Compose配置文件

在你希望部署监控系统的目录下,创建一个名为docker-compose.yml的文件,并粘贴以下内容:

version: '3.8'

services:
  prometheus:
    image: prom/prometheus:v2.39.0
    container_name: prometheus
    volumes:
      - ./prometheus-data:/etc/prometheus/
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
    restart: always

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    ports:
      - "3000:3000"
    volumes:
      - ./grafana-data:/var/lib/grafana
      - ./grafana.ini:/etc/grafana/grafana.ini
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin
    restart: always

这个配置文件定义了两个服务:prometheusgrafana。每个服务都指定了使用的镜像版本、端口映射、数据卷挂载以及环境变量等。

注意事项

  • ./prometheus-data./grafana-data 是本地目录,用于持久化Prometheus的数据和Grafana的配置及数据。请确保这些目录事先存在。
  • ./prometheus.yml 是Prometheus的配置文件,用于定义数据抓取目标等。我们将在下一步创建它。
  • GF_SECURITY_ADMIN_PASSWORD=admin 设置了Grafana的管理员密码为admin,出于安全考虑,生产环境中应使用更复杂的密码。

步骤2:准备Prometheus配置文件

在同一目录下,创建一个名为prometheus.yml的文件,用以配置Prometheus的数据抓取目标。这里以监控自身为例:

global:
  scrape_interval: 15s
  evaluation_interval: 15s

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

  # 如果你想监控其他服务,可以在这里添加更多job配置
  # 例如,监控一个Node Exporter实例:
  # - job_name: 'node_exporter'
  #   static_configs:
  #     - targets: ['node-exporter:9100']

步骤3:启动服务

在包含docker-compose.ymlprometheus.yml的目录下,打开终端并运行以下命令来启动Prometheus和Grafana:

docker-compose up -d

此命令将会后台启动所有服务。

步骤4:访问Prometheus和Grafana

  • Prometheus Web UI:打开浏览器,访问 http://localhost:9090,你可以看到Prometheus的界面,这里可以查询和浏览收集到的指标数据。
  • Grafana Web UI:访问 http://localhost:3000,使用默认用户名admin和你在Docker Compose文件中设置的密码(默认为admin)登录。首次登录后,根据提示设置Grafana的初始配置。

步骤5:配置Grafana数据源和仪表板

登录Grafana后,需要配置Prometheus作为数据源:

  1. 在Grafana侧边栏选择“Data Sources”。
  2. 点击“Add data source”按钮。
  3. 选择“Prometheus”并填写相应信息,如URL设置为http://prometheus:9090(因为它们在同一网络中可以直接通过服务名访问)。

配置好数据源后,你可以开始导入或创建仪表板来展示你的监控指标。Grafana官网和社区提供了大量现成的仪表板模板,可以根据需要下载并导入。

总结

至此,你已经成功使用Docker Compose部署了一个基本的监控系统,包含了Prometheus和Grafana。根据实际需求,你可以进一步扩展和定制,比如添加更多监控目标、优化配置、安装插件等,以满足复杂的监控需求。

导航

下一篇:Prometheus与Grafana集成MySQL Exporter实现对MySQL的监控

GitHub 加速计划 / compose / compose
90
5
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:8 个月前 )
60385e60 fixing parsing of npipe as volume type Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> 2 天前
f5491328 Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> 2 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐