Docker-compose Prometheus Grafana 安装

环境准备

复制代码
#要在 Vim 中默认启用 set paste 和 set number,
vim ~/.vimrc
#在 .vimrc 文件中添加以下内容:
set paste
set number

安装 Docker Compose

复制代码
sudo curl -L "https://github.com/docker/compose/releases/download/2.31.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

目录

复制代码
/usr/prometheus-grafana

配置 Prometheus

创建 Prometheus 配置文件

vim prometheus.yml

复制代码
global:
  scrape_interval: 15s  # 默认抓取间隔

scrape_configs:
  # 监控 Prometheus 自身
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  # 监控 Node Exporter
  - job_name: 'node-exporter'
    static_configs:
      - targets: ['node-exporter:9910']

配置 Docker Compose

vim docker-compose.yml

复制代码
version: '3.8'

services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - /usr/prometheus-grafana/data:/prometheus
    ports:
      - "9090:9090"
    restart: always

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

  node-exporter:
    image: prom/node-exporter:latest
    container_name: node-exporter
    ports:
      - "9910:9910"
    restart: always

volumes:
  grafana-data:

说明

  • Prometheus 运行在端口 9090

  • Grafana 运行在端口 3000,默认用户名和密码为 admin

  • node-exporter 用于监控主机系统的硬件和操作系统指标。

启动服务

复制代码
#目录
/usr/prometheus-grafana
#权限
sudo chmod -R 777 /usr/prometheus-grafana
#启动
docker-compose up -d
docker ps
#停止所有服务
docker-compose down

验证服务

复制代码
#prometheus url
http://127.0.0.1:9090
点击 Status -> Targets,查看 node-exporter 是否处于 UP 状态

#Grafana
http://127.0.0.1:3000,默认用户名和密码为 admin/admin
账户
admin
密码
n0R35C42os1dlSkJ

配置添加代码端口4000

vim prometheus.yml

复制代码
global:
  scrape_interval: 15s  # 默认抓取间隔

scrape_configs:
  # 监控 Prometheus 自身
  - job_name: 'prometheus'
    static_configs:
      - targets:
          - 'localhost:9090'  # Prometheus 自身的地址,通常是 localhost:9090

  # 监控 Node Exporter
  - job_name: 'node-exporter'
    static_configs:
      - targets:
          - 'node-exporter:9100'  # Node Exporter 地址,默认端口是 9100

  # 监控 go-zero 应用 - API
  - job_name: 'go-zero-api'
    static_configs:
      - targets:
          - '127.0.0.1:4000'  # go-zero API 服务地址

  # 监控 go-zero 应用 - RPC
  - job_name: 'go-zero-rpc'
    static_configs:
      - targets:
          - '127.0.0.1:4001'  # go-zero RPC 服务地址

  # 监控 etcd 服务
  - job_name: 'etcd'
    metrics_path: '/metrics'  # etcd 默认的 metrics 路径
    static_configs:
      - targets:
          - '127.0.0.1:2379'  # etcd 服务的地址

  # 监控 Apollo 配置中心
  - job_name: 'apollo'
    metrics_path: '/prometheus'  # Apollo 暴露的 metrics 路径
    static_configs:
      - targets:
          - '127.0.0.1:8088'  # Apollo 的地址和端口

重启

复制代码
docker-compose restart prometheus

查看go-zero端口

复制代码
#端口查看
sudo lsof -i :4000
#查看进程
ps -p 1343489 -f

验证配置是否生效:

  • 健康检查 : 访问 http://localhost:9090/-/healthy 查看 Prometheus 是否正常。

  • 查看抓取目标 : 访问 http://localhost:9090/targets 查看抓取目标的状态。

相关推荐
说实话起个名字真难啊2 分钟前
Docker 入门之overlay网络
网络·docker·容器
刘~浪地球17 分钟前
云原生与容器--Docker 容器化最佳实践
docker·云原生·容器
蓝天白云下遛狗19 分钟前
关于多网卡情况下docker内部网络通讯研究
运维·docker·容器
富士康质检员张全蛋23 分钟前
安装完成Docker之后配置修改相关的内核参数
docker·容器
虞十三37 分钟前
AtomGit 开源入门全攻略:环境搭建 + Git/Docker 实操 + 新手避坑(全平台版)
git·docker·容器
李李李li1 小时前
linux x86 离线安装docker 27.5.0
linux·docker·eureka
却话巴山夜雨时i1 小时前
互联网大厂Java面试:从Spring Boot到Kafka的业务场景深度剖析
spring boot·redis·spring cloud·微服务·kafka·prometheus·java面试
ljp11121 小时前
飞牛安装jellyfin实现j3455真正的硬件解码
docker·jellyfin·j3455·4k硬解
姚不倒1 小时前
构建高可用可观测性平台:VictoriaMetrics 集群 + VictoriaLogs 统一接入实践
运维·docker·微服务·云原生·架构
IT大师兄吖2 小时前
sam3 提示词 图片分割和视频分割 docker 懒人整合包
运维·docker·容器