当前位置: 首页 > news >正文

docker安装prometheus和Grafana

一、准备配置文件(prometheus.yml

先在主机上创建一个配置文件目录

mkdir -p ~/prometheus
cd ~/prometheus

然后创建配置文件 prometheus.yml

global:scrape_interval: 15sscrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']

如果你要监控其他服务,比如 node_exporter、blackbox_exporter 等,可以在这里添加新的 job。

二、运行 Prometheus 容器

使用以下 Docker 命令运行 Prometheus:

docker run -d \--name prometheus \-p 9090:9090 \-v ~/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \prom/prometheus

参数解释:

  • -d:后台运行

  • --name prometheus:容器命名为 prometheus

  • -p 9090:9090:将容器端口映射到主机(默认端口)

  • -v:挂载本地配置文件到容器中

三、访问 Prometheus 

浏览器打开:

http://localhost:9090

如果你是远程服务器,使用公网 IP 访问:

http://<your-server-ip>:9090

四、检查容器状态

docker ps

如果需要查看日志:

docker logs -f prometheus

一、Docker 部署 Grafana

docker run -d \--name=grafana \-p 3000:3000 \-v grafana-storage:/var/lib/grafana \grafana/grafana-oss

参数说明:

  • -d:后台运行

  • --name=grafana:容器名

  • -p 3000:3000:把容器 3000 端口映射到主机

  • -v grafana-storage:/var/lib/grafana:持久化存储

  • grafana/grafana-oss:官方开源版本镜像

 二、访问 Grafana

浏览器打开:

http://localhost:3000

如果是服务器:

http://<你的服务器IP>:3000

默认账号密码:

  • 用户名admin

  • 密码admin(首次登录会要求修改)

 三、添加 Prometheus 数据源

  1. 登录 Grafana 后,左侧点击 “⚙️ Configuration” → “Data sources”

  2. 点击 “Add data source”

  3. 选择 Prometheus

  4. URL 填写:

http://<prometheus容器IP或主机IP>:9090

或者如果你用 Docker Compose 并定义了网络,可直接用容器名:

http://prometheus:9090
  1. 点击 “Save & Test”

四、可选:Grafana 配置持久化(挂载本地目录)

如果你想让配置和仪表盘持久保留,可以这样运行:

mkdir -p ~/grafana_datadocker run -d \--name=grafana \-p 3000:3000 \-v ~/grafana_data:/var/lib/grafana \grafana/grafana-oss

五、配合 Prometheus 使用(推荐 Docker Compose)

任意目录下创建一个名为 docker-compose.yml 的文件,内容如下

version: '3.3'services:prometheus:image: prom/prometheuscontainer_name: prometheusports:- "9090:9090"volumes:- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.ymlrestart: unless-stoppedgrafana:image: grafana/grafana-osscontainer_name: grafanaports:- "3000:3000"environment:- GF_SECURITY_ADMIN_USER=admin- GF_SECURITY_ADMIN_PASSWORD=adminvolumes:- grafana-storage:/var/lib/grafanarestart: unless-stoppedvolumes:grafana-storage:

同目录下放置 prometheus.yml

创建目录并写入配置文件:

mkdir -p ./prometheus
nano ./prometheus/prometheus.yml

写入一个最基本的配置,比如:

global:scrape_interval: 15sscrape_configs:- job_name: 'prometheus'static_configs:- targets: ['prometheus:9090']

启动服务

docker-compose.yml 所在目录运行:

docker-compose up -d

/root/project_py/prometheus 目录下的规则文件都挂载给 Prometheus 使用

docker-compose.yml 里增加目录挂载

services:prometheus:image: prom/prometheuscontainer_name: prometheusports:- "9090:9090"volumes:- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml- /root/project_py/prometheus:/etc/prometheus/rules   # 这里挂载你的规则目录restart: unless-stopped

修改你的 prometheus.yml 配置文件,让 Prometheus 读取这个目录下的所有规则文件:

rule_files:- "/etc/prometheus/rules/*.yml"

或者如果你的规则文件后缀是 .rules,就写成:

rule_files:- "/etc/prometheus/rules/*.rules"
  • Prometheus 容器内规则目录是 /etc/prometheus/rules(你自己指定的挂载路径)

  • 规则文件必须是 YAML 格式,且符合 Prometheus 规则语法

  • 你可以放多个规则文件,Prometheus 会加载所有匹配的文件

最后:重启 Prometheus 

docker-compose up -d

http://www.lryc.cn/news/588780.html

相关文章:

  • 【PTA数据结构 | C语言版】将表达式树转换成中缀表达式
  • JDK1.8函数式编程实战(附日常工作案例,仅此一篇耐心看完彻底搞懂)
  • 进程探秘:从 PCB 到 fork 的核心原理之旅
  • Isaac Sim仿真赋能机器人工作流,推动具身智能在机器人领域研究
  • Web前端入门:JavaScript 由程序触发绑定事件的几种方式
  • redisson 设置了过期时间,会自动续期吗
  • [ctfshow web入门]web98 学习PHP的引用
  • LeetCode 3136.有效单词:遍历模拟
  • 21.映射字典的值
  • 连接new服务器注意事项
  • 非实时的防控场景
  • LLM面试题及讲解 4
  • 【Tauri】Tauri 2.x+Vue自动更新教程对接后端接口更新
  • C++--哈希
  • CPU寄存器、进程上下文与Linux O(1)调度器原理
  • 知识付费小程序资质全解析
  • 进程的内存映像,只读区,可读写区,堆,共享库,栈详解
  • 【机器学习基础【5】】Python数据科学三件套:从数据创建到处理再到可视化实战
  • 链表的 哑结点的本质
  • 排序算法实战(上)
  • 经典排序算法之希尔排序
  • 解锁Python爬虫:数据获取与清洗的进阶指南
  • 深入浅出 RabbitMQ-核心概念介绍与容器化部署
  • Zabbix钉钉告警
  • 如何将华为文件传输到电脑
  • C++ - 仿 RabbitMQ 实现消息队列--muduo快速上手
  • 每日钉钉API探索:chooseUserFromList灵活选取自定义联系人
  • 变更缓冲池简介
  • Git分支管理与工作流详解
  • STL的一些知识点