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

从‘它怎么又挂了’到‘服务稳如狗’:我是如何用Prometheus+Grafana搭建业务监控看板的

从被动救火到主动防御PrometheusGrafana构建业务监控实战手册凌晨三点手机突然响起刺耳的警报声——这已经是本周第三次了。揉着惺忪的睡眼查看日志却发现关键线索早已被淹没在海量的调试信息中。这样的场景对于中小技术团队来说再熟悉不过。当服务规模扩展到需要专人值守时一套精准的监控系统就如同黑夜中的灯塔而PrometheusGrafana组合正是当下最轻量高效的解决方案之一。1. 监控体系设计从混沌到清晰1.1 黄金指标定义法则在开始部署技术栈之前需要先建立监控指标体系的设计哲学。Google SRE手册提出的四个黄金指标延迟、流量、错误、饱和度是很好的起点但需要根据业务特性进行定制化电商API服务示例指标交易成功率非200响应占比支付接口P99延迟直接影响转化率购物车写入QPS业务健康度风向标MySQL连接池使用率资源饱和预警# PromQL示例计算最近5分钟错误率 sum(rate(http_requests_total{status~5..}[5m])) by (service) / sum(rate(http_requests_total[5m])) by (service)注意避免监控虚荣指标如总请求数而应聚焦与用户体验直接相关的核心指标。1.2 指标采集架构设计典型的中小规模部署架构应包含以下组件组件职责部署模式Prometheus指标抓取、存储、告警规则评估单节点SSDGrafana数据可视化独立部署Exporters中间件/硬件指标暴露如Node Exporter各主机部署Alertmanager告警去重与通知分发与Prometheus同机常见误区过早引入Thanos或M3DB等分布式方案反而增加维护复杂度。建议在达到以下阈值前保持简单架构指标样本数 500万/分钟存储数据 1TB告警规则 200条2. Prometheus实战从安装到告警2.1 容器化部署最佳实践使用Docker Compose快速搭建环境version: 3 services: prometheus: image: prom/prometheus:v2.40.0 ports: - 9090:9090 volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml - prom_data:/prometheus command: - --config.file/etc/prometheus/prometheus.yml - --storage.tsdb.retention.time30d volumes: prom_data:关键配置项优化建议scrape_interval: 15s平衡时效性与资源消耗evaluation_interval: 30s告警规则评估频率retention.time: 30天SSD存储场景下的合理值2.2 业务指标埋点实战以Spring Boot应用为例添加Micrometer支持// Maven依赖 dependency groupIdio.micrometer/groupId artifactIdmicrometer-registry-prometheus/artifactId version1.9.0/version /dependency // 关键业务指标定义 RestController public class OrderController { private final Counter orderCreateCounter Metrics.counter(order.create, type, new); PostMapping(/orders) public ResponseEntity createOrder() { orderCreateCounter.increment(); // 业务逻辑 } }指标命名规范使用_total后缀表示计数器counter使用_seconds后缀表示耗时histogram/summary避免使用程序内部变量名作为标签如user_id3. Grafana可视化打造业务驾驶舱3.1 核心Dashboard设计原则优秀的技术看板应该满足5秒法则——任何人在5秒内能获取关键信息。推荐采用三层布局战略层顶部黄金指标状态红绿灯设计战术层中部维度下钻分析如按API分组执行层底部原始数据明细供深度排查![Dashboard布局示意图] 此处应为描述性文字顶部放置4个Stat面板显示错误率、延迟、QPS等核心指标中部使用Time Series展示趋势底部配置Logs面板关联具体错误3.2 高级可视化技巧利用Grafana的Transform功能实现业务数据关联指标关联查询-- 将订单成功率与促销活动时间关联 SELECT floor($__timeFrom()/3600)*3600 as time, sum(order_count) as orders, promotion_active FROM business_metrics GROUP BY 1, 3变量钻取api_http_requests_total{endpoint$endpoint, status~$status_codes}提示善用Grafana的Annotations功能标记部署、促销等关键事件便于故障排查时关联分析。4. 告警治理从噪声到信号4.1 智能告警规则设计避免狼来了效应的告警策略# alert.rules.yml groups: - name: business.rules rules: - alert: HighErrorRate expr: | sum(rate(http_requests_total{status~5..}[5m])) by (service) / sum(rate(http_requests_total[5m])) by (service) 0.05 for: 10m labels: severity: page annotations: summary: High error rate on {{ $labels.service }} description: Error rate is {{ $value }} (threshold 0.05)关键设计点for字段防止瞬时抖动触发告警多级严重度标签page/ticket/log动态阈值如基线3σ4.2 告警疲劳破解方案实施告警分级响应机制告警级别响应时间通知渠道自动修复措施P05分钟电话短信流量切到备用集群P130分钟企业微信扩容副本数50%P24小时邮件记录日志供后续分析在Alertmanager中配置抑制规则防止告警风暴route: group_by: [alertname, cluster] group_wait: 30s group_interval: 5m repeat_interval: 4h routes: - match: severity: page receiver: pager-duty5. 性能优化与避坑指南5.1 存储优化实战当数据量增长时这些技巧可以节省50%以上存储空间指标基数控制# 错误示范 - 高基数标签 http_requests_total{user_id123, ip1.2.3.4} # 优化方案 - 离散化处理 http_requests_total{user_typevip, regioneast}TSDB压缩参数调整--storage.tsdb.max-block-chunk-segment-size64MB --storage.tsdb.head-chunks-write-queue-size40965.2 典型故障模式案例某社交平台在促销期间监控系统崩溃现象Prometheus内存溢出抓取超时根因单个指标的标签组合超过10万种解决方案使用keep_dropped过滤非关键标签对user_id等字段进行哈希处理增加Prometheus内存限制至16GB监控系统本身也需要被监控——这是很多团队容易忽视的环节。建议为Prometheus自身配置基础资源告警并定期检查TSDB的健康状态。

相关文章:

从‘它怎么又挂了’到‘服务稳如狗’:我是如何用Prometheus+Grafana搭建业务监控看板的

从被动救火到主动防御:PrometheusGrafana构建业务监控实战手册 凌晨三点,手机突然响起刺耳的警报声——这已经是本周第三次了。揉着惺忪的睡眼查看日志,却发现关键线索早已被淹没在海量的调试信息中。这样的场景对于中小技术团队来说再熟悉不…...

50| 选数

#include <bits/stdc.h> using namespace std;int n, k, ans, sum; // ans 最终答案 const int N 23; int a[N]; bool st[N];bool isprime(int x) {if (x < 1) return false;for (int i 2; i < sqrt(x); i)if (x % i 0) return false;return true; }void dfs(…...

开源工具技术解析与实践指南:突破游戏性能限制的完整方案

开源工具技术解析与实践指南&#xff1a;突破游戏性能限制的完整方案 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 一、问题溯源&#xff1a;帧率限制背后的技术债务分析 当高端显卡在…...

如何一站式解决漫画格式转换难题:CBconvert完整指南

如何一站式解决漫画格式转换难题&#xff1a;CBconvert完整指南 【免费下载链接】cbconvert CBconvert is a Comic Book converter 项目地址: https://gitcode.com/gh_mirrors/cb/cbconvert 还在为不同设备上的漫画格式兼容性问题而烦恼吗&#xff1f;CBconvert作为一款…...

minikeyvalue架构解密:为什么它比SeaweedFS更简单高效?

minikeyvalue架构解密&#xff1a;为什么它比SeaweedFS更简单高效&#xff1f; 【免费下载链接】minikeyvalue A distributed key value store in under 1000 lines. Used in production at comma.ai 项目地址: https://gitcode.com/gh_mirrors/mi/minikeyvalue minikey…...

React-Grid-Layout外部拖拽:从零构建可视化编辑体验

React-Grid-Layout外部拖拽&#xff1a;从零构建可视化编辑体验 【免费下载链接】react-grid-layout A draggable and resizable grid layout with responsive breakpoints, for React. 项目地址: https://gitcode.com/gh_mirrors/re/react-grid-layout 在构建现代Web应…...

六音音源修复工具:洛雪音乐跨版本兼容解决方案

六音音源修复工具&#xff1a;洛雪音乐跨版本兼容解决方案 【免费下载链接】New_lxmusic_source 六音音源修复版 项目地址: https://gitcode.com/gh_mirrors/ne/New_lxmusic_source 问题溯源&#xff1a;洛雪音乐的音源服务中断危机 在数字音乐生态中&#xff0c;软件版…...

[ linux添加应用图标到桌面 ] : 中将应用程序添加图标(快捷方式 ),并放置任务栏中,.desktop文件使用

.desktop文件格式在你的主目录中打开终端(ctrlaltt)&#xff0c;接着输入以下代码&#xff1a;touch test.desktop vim test.desktop这里我选择的是vim的编辑方式&#xff0c;当然如果你没有vim或者说不太熟练的话&#xff0c;你可以直接双击打开该文件。代码解释&#xff1a;t…...

基于三菱PLC农田灌溉及MCGS组态智能灌溉系统说明双万字

基于三菱PLC农田灌溉 包含说明一万 和MCGS组态农田智能灌溉系统说明一万前阵子回豫东老家帮我叔打理那三亩秋月梨果园&#xff0c;那浇地给我整得怀疑人生——三伏天顶着三十七八度的太阳&#xff0c;扛着铁锹跑遍地头开电磁阀&#xff0c;中午热得头晕就算了&#xff0c;晚上还…...

如何用快马平台为网站开发公司快速生成企业官网原型,提升方案演示效率

作为一名经常需要快速响应客户需求的网站开发者&#xff0c;我最近发现了一个能大幅提升工作效率的好方法 - 使用InsCode(快马)平台来生成企业官网原型。这个方法特别适合像我们华网三百每年.cn这样需要快速为客户提供方案演示的网站开发公司。 需求分析阶段 当接到一个新客户…...

开源LoRA模型落地实操:Z-Image-Turbo+孙珍妮风格的Gradio快速调用教程

开源LoRA模型落地实操&#xff1a;Z-Image-Turbo孙珍妮风格的Gradio快速调用教程 想用AI生成特定风格的明星写真&#xff0c;但觉得在线服务限制多、效果不可控&#xff1f;自己部署模型又担心太复杂&#xff1f;今天&#xff0c;我们就来解决这个问题。 我将带你一步步&…...

Goofys安全最佳实践:保护你的S3文件系统访问的终极指南

Goofys安全最佳实践&#xff1a;保护你的S3文件系统访问的终极指南 【免费下载链接】goofys a high-performance, POSIX-ish Amazon S3 file system written in Go 项目地址: https://gitcode.com/gh_mirrors/go/goofys 在当今云原生时代&#xff0c;安全访问云存储变得…...

新手友好:在快马平台通过生成式ai轻松上手tomcat与servlet开发

作为一个Java Web开发的新手&#xff0c;刚开始接触Tomcat和Servlet时确实会遇到不少困惑。记得我第一次尝试搭建环境时&#xff0c;光是配置Tomcat服务器就折腾了大半天&#xff0c;更别提理解Servlet的运行机制了。直到发现了InsCode(快马)平台&#xff0c;才真正找到了快速上…...

如何在一天内彻底改变你的人生(How to Fix Your Entire Life in 1 Day)

如何在一天内彻底改变你的人生 作者&#xff1a;丹科伊&#xff08;Dan Koe&#xff09; 你大概率会放弃自己的新年决心。 这没什么大不了的。大多数人都会这样&#xff08;研究显示失败率高达80%至90%&#xff09;&#xff0c;因为大多数人并非真的在内心深处渴望改变。也就是…...

不止是拆网卡:以联想ThinkCentre M7131z为例,聊聊老旧一体机的升级改造可能性

联想ThinkCentre M7131z改造指南&#xff1a;从拆网卡到全面性能升级 老旧商用一体机往往被贴上"性能瓶颈"的标签&#xff0c;但联想ThinkCentre M7131z系列却隐藏着令人惊喜的改造潜力。这台发布于2015年前后的商用一体机&#xff0c;凭借其模块化设计和充足的内部空…...

COMSOL实现煤层注气THM耦合的甲烷开采效果模拟与可视化分析

一、COMSOL实现煤层注气热力流THM耦合下增强甲烷开采 本案例采用热力流三场耦合&#xff0c;分析煤层注入CO2增强甲烷开采效果&#xff0c;涉及热-流-固数学模型、多气相介质作用&#xff0c;全部为PDE模块 二、可以出煤层温度、瓦斯含量、渗透率等许多云图及数据&#xff0c;仅…...

PrimeTime:默认配置文件

相关阅读 PrimeTimehttps://blog.csdn.net/weixin_45791458/category_12900271.html?spm1001.2014.3001.5482 当启动PrimeTime时&#xff0c;它会自动执行三个设置文件中的命令&#xff0c;这些文件具有相同的文件名.synopsys_pt.setup&#xff0c;但位于不同的目录中&#x…...

【Visual Leak Detector】跨平台 QT 项目集成 VLD 的便携式部署方案

1. Visual Leak Detector 与 QT 开发的那些事儿 做 C 开发的朋友应该都遇到过内存泄漏这个头疼的问题。特别是用 QT 开发跨平台应用时&#xff0c;随着项目规模扩大&#xff0c;内存管理就变得格外棘手。Visual Leak Detector&#xff08;简称 VLD&#xff09;这个轻量级工具简…...

让通用 URL 准确落到目标 Page Builder:SAP Fiori 页面管理中的重定向实践

在很多 SAP Fiori 项目里,大家更容易把注意力放在 SAPUI5 组件、OData 服务、Launchpad 编排,或者 Fiori Elements 的元数据驱动开发上,却很少有人愿意花时间审视一条看似普通的访问路径。当系统进入页面管理阶段,尤其是管理员通过 Page Administration UI 去打开、维护、跳…...

从实验室到生活场景:近红外脑成像(fNIRS)如何重塑认知研究边界

1. 从实验室到客厅&#xff1a;fNIRS如何打破认知研究的围墙 十年前我第一次接触近红外脑成像设备时&#xff0c;它还是个需要固定在三脚架上的"庞然大物"&#xff0c;被试必须像雕塑般保持静止。如今看着学生戴着LUMO设备在操场自由活动时采集数据&#xff0c;这种技…...

2025年深度评测:掌握Liebling主题,解锁Ghost博客的现代设计潜力

2025年深度评测&#xff1a;掌握Liebling主题&#xff0c;解锁Ghost博客的现代设计潜力 【免费下载链接】liebling Beautiful and clean Ghost theme that is easy and comfortable to use. To get the latest version please head over the releases page &#x1f449;&#…...

Git【多人协作一】

目前&#xff0c;基本上可以完成的工作如下&#xff1a;基本完成Git的所有本地库的相关操作&#xff0c;git 基本操作&#xff0c;分支理解&#xff0c;版本回退&#xff0c;冲突解决等等申请码云账号&#xff0c;将远端信息clone到本地&#xff0c;以及推送和力量去。但是&…...

原神帧率解锁终极指南:3步轻松突破60FPS限制,享受极致流畅体验

原神帧率解锁终极指南&#xff1a;3步轻松突破60FPS限制&#xff0c;享受极致流畅体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 还在为原神60帧限制而苦恼吗&#xff1f;高端显卡却…...

Alerter终极声音设置指南:为Android通知添加音频反馈的完整教程

Alerter终极声音设置指南&#xff1a;为Android通知添加音频反馈的完整教程 【免费下载链接】Alerter Tapadoo/Alerter: 是一个简单易用的 Android 通知和进度条控件库。适合对 Android 开发、用户界面以及想要在 Android 应用中显示通知和进度条的开发者。 项目地址: https:…...

qstock量化分析:3行代码实现多市场数据获取与可视化

qstock量化分析&#xff1a;3行代码实现多市场数据获取与可视化 【免费下载链接】qstock qstock由“Python金融量化”公众号开发&#xff0c;试图打造成个人量化投研分析包&#xff0c;目前包括数据获取&#xff08;data&#xff09;、可视化(plot)、选股(stock)和量化回测&…...

3dsconv高效使用指南:从格式难题到批量转换的实用方案

3dsconv高效使用指南&#xff1a;从格式难题到批量转换的实用方案 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv 解决3DS游…...

ClickHouse配置优化实战:关键参数详解与性能调优指南

1. ClickHouse配置优化的核心逻辑 ClickHouse作为一款高性能的OLAP数据库&#xff0c;其配置优化需要遵循三个黄金法则&#xff1a;资源隔离、瓶颈定位和场景适配。我见过太多团队一上来就盲目调整参数&#xff0c;结果反而导致性能下降。正确的做法应该是先理解系统行为&#…...

【Python MCP服务器开发终极模板】:20年架构师亲授源码级解析与高并发优化实战

第一章&#xff1a;Python MCP服务器开发模板概览与核心设计哲学Python MCP&#xff08;Model-Controller-Protocol&#xff09;服务器开发模板是一套面向协议驱动、可插拔架构的轻量级服务框架&#xff0c;专为构建高内聚、低耦合的模型交互后端而设计。其核心不依赖于特定Web…...

如何在个人设备上节省97%存储空间:革命性RAG系统LEANN的完整指南

如何在个人设备上节省97%存储空间&#xff1a;革命性RAG系统LEANN的完整指南 【免费下载链接】LEANN RAG on Everything with LEANN. Enjoy 97% storage savings while running a fast, accurate, and 100% private RAG application on your personal device. 项目地址: http…...

PyTorch 2.8镜像代码实例:使用预装torchaudio+FFmpeg实现TTS+视频合成Pipeline

PyTorch 2.8镜像代码实例&#xff1a;使用预装torchaudioFFmpeg实现TTS视频合成Pipeline 1. 环境准备与快速验证 在开始之前&#xff0c;我们先确认环境是否正常工作。这个PyTorch 2.8镜像已经预装了所有必要的组件&#xff0c;包括torchaudio和FFmpeg。 1.1 验证GPU可用性 …...