Docker 部署 Prometheus+Grafana 监控系统快速指南

Docker 部署 Prometheus+Grafana 监控系统快速指南

文章目录

    • [Docker 部署 Prometheus+Grafana 监控系统快速指南](#Docker 部署 Prometheus+Grafana 监控系统快速指南)
      • [一 创建网络](#一 创建网络)
      • [二 监控部署](#二 监控部署)
      • [三 配置 prometheus.yml](#三 配置 prometheus.yml)
      • [四 测试部署是否成功](#四 测试部署是否成功)
      • [五 Grafana表盘下载](#五 Grafana表盘下载)

本文详细介绍了通过 Docker 和 Docker Compose 快速部署 Prometheus 和 Grafana 监控系统的流程。使用 Docker 将 node-exporter、Prometheus 和 Grafana 集成在同一网络中,实现对主机和服务的高效性能监控。文章还包括 prometheus.yml 的配置说明,确保 Prometheus 能正确抓取监控数据,并通过修改宿主机目录权限解决常见的权限问题。最后,文章提供了 Grafana 的表盘模版下载,帮助用户快速创建美观的数据可视化界面。适合希望快速上手监控系统的开发者。

预备课

Docker 安装与配置:从入门到部署

一 创建网络

将应用监控放在统一个网络里

shell 复制代码
# 创建网络
docker network create --driver bridge monitornet

二 监控部署

部署在一台机器的同一网段,yml 内容见 docker-compose.monitor.yml

yaml 复制代码
version: '3'
services:
  node-exporter: # node-exporter采集主机监控数据
    image: prom/node-exporter:v1.6.1
    container_name: "node-exporter0"
    restart: always
    networks:
      - monitornet
    ports:
      - "9100:9100"

  prometheus:
    image: prom/prometheus:v2.47.2
    container_name: "prometheus0"
    restart: always
    networks:
      - monitornet
    ports:
      - "9090:9090"
    volumes:
      - "./prometheus.yml:/etc/prometheus/prometheus.yml"
      - "./prometheus_data:/prometheus"
  grafana:
    image: grafana/grafana:10.1.5
    container_name: "grafana0"
    restart: always
    networks:
      - monitornet
    ports:
      - "3000:3000"
    volumes:
      - "./grafana_data:/var/lib/grafana"

networks:
  monitornet:
    external: true

启动之前修改宿主机 grafana_dataprometheus_data 的目录权限,否则启动报错无权限

lua 复制代码
mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied

修改权限:

shell 复制代码
# 修改宿主机目录权限
sudo chmod 777 grafana_data/ prometheus_data/

三 配置 prometheus.yml

prometheus.yml 的配置

yml 复制代码
global:
  scrape_interval:     15s # 默认抓取周期
  external_labels:
    monitor: 'codelab-monitor'
scrape_configs:
  - job_name: node-exporter #服务的名称
    scrape_interval: 5s
    metrics_path: /metrics  #获取指标的url
    static_configs:
      # 这个为监听指定服务服务的ip和port,需要修改为自己的ip,貌似云服务必须用公网ip
      - targets: ['node-exporter:9100'] 
        labels:
          instance: localhost

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

四 测试部署是否成功

lua 复制代码
# node-exporter 部署成功
http://192.168.0.1:9100/metrics
# prometheus 部署成功
http://192.168.0.1:9090/targets
# grafana 地址 初始密码 admin/admin
http://192.168.0.1:3000 

Grafana 访问地址: http://your-grafana:3000 ,初始账号密码 admin/admin

五 Grafana表盘下载

下载一个漂亮的 Grafana 表盘

lua 复制代码
# node-exporter 表盘模版下载 11074_rev9.json
https://grafana.com/grafana/dashboards/11074
相关推荐
秋风点枝2 小时前
第一篇:认识 Prometheus —— 云原生监控的基础
云原生·prometheus
Lyra_Infra7 小时前
MySQL Docker 误删恢复:binlog PITR
mysql·docker·命令行
wxchyy9 小时前
手把手教你入门云计算(二):这些技术改变了世界,你也能轻松掌握
hadoop·阿里云·docker·云原生·华为云·云计算·运维开发
名字还没想好☜9 小时前
Prometheus 告警实战:写 alerting rules、用 Alertmanager 做路由分组与抑制
运维·前端·javascript·docker·kubernetes·prometheus
请你吃div10 小时前
Node 后端项目 Docker 自动部署教程(GitHub + 宝塔 + Self-hosted Runner)
后端·docker·node.js
百年੭ ᐕ)੭*⁾⁾11 小时前
Redash部署指南(Windows docker部署)
大数据·windows·docker·数据可视化·redash
2401_8346369911 小时前
Docker 容器化技术全解:从镜像构建到容器编排的完整教案2
运维·docker·容器
伞伞悦读14 小时前
【第12期】Windows 开发环境备份与恢复:软件、环境变量、Git、conda 和 Docker 卷完整方案
git·docker·conda
虎王物联15 小时前
Docker WASM 边缘计算:12ms 冷启动如何重塑 IoT 网关部署
物联网·docker·容器·边缘计算·wasm
SamChan9016 小时前
用Prometheus+Grafana搭建PDF翻译服务监控看板:指标采集与告警实战
python·ai·pdf·grafana·prometheus·机器翻译