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

Docker Compose 部署 Prometheus + Grafana

安装

docker-compose.yml

version: '3.8'services:# Prometheus 监控服务prometheus:image: prom/prometheus:latestcontainer_name: prometheusrestart: unless-stoppedvolumes:- ./conf/prometheus.yml:/etc/prometheus/prometheus.yml- ./prometheus_data:/prometheuscommand:- '--config.file=/etc/prometheus/prometheus.yml'- '--storage.tsdb.path=/prometheus'- '--web.console.libraries=/usr/share/prometheus/console_libraries'- '--web.console.templates=/usr/share/prometheus/consoles'- '--web.enable-lifecycle'ports:- "9090:9090"networks:- monitoring# Grafana 可视化平台grafana:image: grafana/grafana:latestcontainer_name: grafanarestart: unless-stoppedvolumes:- ./grafana_data:/var/lib/grafana- ./grafana/provisioning:/etc/grafana/provisioningenvironment:- GF_SECURITY_ADMIN_USER=admin- GF_SECURITY_ADMIN_PASSWORD=admin- GF_USERS_ALLOW_SIGN_UP=falseports:- "3000:3000"networks:- monitoringdepends_on:- prometheus# Node Exporter (可选,用于收集主机指标)node-exporter:image: prom/node-exporter:latestcontainer_name: node-exporterrestart: unless-stoppedcommand:- '--path.rootfs=/host'network_mode: hostpid: hostvolumes:- '/:/host:ro,rslave'deploy:mode: globalvolumes:prometheus_data:grafana_data:networks:monitoring:driver: bridge

prometheus.yml

global:scrape_interval: 15sevaluation_interval: 15sscrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']- job_name: 'node-exporter'static_configs:- targets: ['ip:9100']

监控服务访问信息

服务地址

  • Prometheus: http://localhost:9090
  • Grafana: http://localhost:3000
    (默认用户名/密码: admin/admin)

配置 Grafana

添加 Prometheus 数据源

  1. 登录 Grafana
  2. 点击左侧齿轮图标 → Data Sources → Add data source
  3. 选择 Prometheus
  4. URL: http://prometheus:9090
  5. 点击 Save & Test

导入仪表板

方法一:从 Grafana 官方库导入
  1. 登录 Grafana
  2. 点击左侧菜单的 “+” → “Import”
  3. 在 “Import via grafana.com” 输入框中输入以下常用仪表板 ID:
    • Node Exporter Full: 1860
    • Linux Hosts Metrics: 10180
    • Node Exporter Server Metrics: 11074
  4. 点击 “Load”
  5. 选择数据源(如 Prometheus)
  6. 点击 “Import”
方法二:手动导入 JSON 文件
  1. 从 Grafana 仪表板库 下载 JSON 文件
  2. 在 Grafana 中点击 “+” → “Import”
  3. 点击 “Upload JSON file” 上传下载的文件
  4. 选择数据源并导入

可选配置

持久化数据

已配置数据卷,确保 Prometheus 和 Grafana 的数据在容器重启后不会丢失。

添加更多监控目标

编辑 prometheus.yml 文件,添加更多的 scrape_configs 部分来监控其他服务。

配置告警

可以添加 Alertmanager 服务来配置告警规则和通知。

效果图

仪表板 ID:1860
在这里插入图片描述

http://www.xdnf.cn/news/14001.html

相关文章:

  • NORA:一个用于具身任务的小型开源通才视觉-语言-动作模型
  • 基于Netty的TCP Server端和Client端解决正向隔离网闸数据透传问题
  • 轻量级顺序监控器监控 LLM 中的分解攻击
  • sticky设置了top但还是有大约1px空隙
  • [深度学习]全连接神经网络
  • 迁移学习基础
  • 最大闭合子图学习笔记 / P2805 [NOI2009] 植物大战僵尸
  • Nature Light: Science Applications>:拓扑光子学新进展!JR态实现纳米级精度光束整形
  • TOUGH模型软件
  • 最新 Python-PLAXIS 自动化建模技术与典型岩土工程案例实践应用
  • aflplusplus:开源的模糊测试工具!全参数详细教程!Kali Linux教程!(一)
  • 解决 Git 错误:error: src refspec master does not match any
  • 篇章五 系统性能优化——资源优化——CPU优化(1)
  • 在线招聘系统源码+SpringBoot + Vue (前后端分离)
  • CVPR2024迁移学习《Unified Language-driven Zero-shot Domain Adaptation》
  • 企业架构框架深入解析:TOGAF、Zachman Framework、FEAF与Gartner EA Framework
  • NLP学习路线图(四十五):偏见与公平性
  • 一套包含15个psd的电商网站UI适用于服装鞋包行业
  • Stone 3D使用RemoteMesh组件极大的缩小工程文件尺寸
  • 秘籍分享:如何让ZIP下载的源码拥有Git“身份证”
  • Spring Boot 开发提速技巧:从项目搭建到热部署全流程优化
  • ASCII码对应表,回车、换行、空格的ASCII码值
  • VSCode - VSCode 让未被编辑的标签页不被自动关闭
  • 论文略读:MUSE: Machine Unlearning Six-Way Evaluation for Language Models
  • vue纯前端根据页面或者后台数据,读取本地文档模板,填充数据后并导出
  • Node.js特训专栏-基础篇:3. Node.js内置模块的使用
  • 【工具教程】批量PDF识别提取区域的内容重命名,将PDF指定区域位置的内容提取出来改名的注意事项
  • Vue-生命周期
  • OpenFeign声明式调用实战指南
  • Kubernetes安全机制深度解析(四):动态准入控制和Webhook