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

1、prometheus基础理论

监控概论

本章要点:监控分类、指标指标、监控类型、指标类型、原理说明看看

来源:豆包ai,纳米ai,prometheus监控实战一书

监控系统的核心是通过多样化手段采集数据、存储分析、可视化展示并及时告警,保障服务可靠性,需内置于开发部署全流程,具备自动化和自服务能力。

核心定位与目标

  • 核心价值:提前发现系统故障、快速定位问题,降低平均修复时间,提升站点可靠性(需结合平均无故障时间衡量)。
  • 监控重点:优先监控业务事务的内容或速率,而非仅关注底层服务器运行时间,兼顾表层可用性与内在正确性。
  • 运维核心技能:故障管理(SRE 核心,提前扼杀故障)、变更管理、资源管理。

监控分类与手段

  • 监控分类

    • 按特性分:事后监控、机械式监控(仅 CPU / 内存 / 磁盘)、静态监控(固定阈值)等,不推荐低频(10-20 分钟 / 次)监控,高频监控可获细颗粒度数据。
    • 按方式分:黑盒监控(外部探针刺探状态)、白盒监控(利用应用内部接口采集数据)。
  • 核心监控手段

    监控类型工作原理适用场景技术案例/协议
    探针从外部探测应用状态,通过模拟请求(如ICMP、端口响应)验证服务可用性,不侵入应用内部。第三方应用监控、黑盒测试、网络设备健康检查,尤其适合无权限修改代码的场景。
    内省应用内置检测逻辑,主动暴露运行时状态(如性能指标、事务详情、错误日志),通过API或接口输出数据。微服务、自研应用监控,需深度分析内部状态(如线程池、缓存命中率)。支持实时诊断与精细化性能优化。• Spring Boot Actuator • JMX(Java管理扩展) • Prometheus客户端库
    代理程序在主机或容器内部署轻量级代理,定期采集系统内核(CPU/内存)或应用指标(如Redis的info接口)。主机级资源监控、数据库/中间件性能采集、云环境基础设施监控。需安装代理但无需修改应用代码。• Node Exporter(主机指标) • Redis Exporter • Zabbix Agent
    特殊场景通过标准协议(如SNMP)获取网络设备状态信息,或解析设备日志(如交换机流量、防火墙告警)。网络设备(路由器、交换机)、安全设备(防火墙)监控,以及工业控制设备等专用硬件。• SNMP协议 • Syslog日志分析 • NetFlow流量监控
    • 补充说明
      • 互补性:实际监控系统常组合使用多种手段。例如:
        • 探针+内省:Kubernetes中同时使用Liveness探针(外部检查)和应用内省接口(如/health)
        • 代理+SNMP:Zabbix通过Agent监控主机,通过SNMP监控网络设备
      • 数据粒度
        • 探针:仅验证“是否响应”
        • 内省/代理:可获取详细指标(如QPS、错误率、内存细节)
      • 部署影响:探针与SNMP无需侵入应用,代理需安装程序,内省需应用代码支持。

监控核心机制

  • 数据采集模式
    • 拉取:服务端主动提取客户端指标数据(如访问指标端点)。
    • 推送:客户端主动向监控系统发送事件数据。
    • 采集特性:离散性持续采集,按固定频率收集海量指标(单主机可上百个)。
  • 指标类型
    • 测量型:上下波动的快照数据(如 CPU 使用率、网站在线人数)。
    • 计数型:仅增不减(可重置),如系统运行时间、订单量。
    • 直方图:展示数据频率分布(如应用延时可视化)。

关键监控方法论

  • USE 方法(主机级监控)

    • 资源清单梳理

      • 核心监控资源:CPU、内存、磁盘、网络接口、进程队列。
      • 梳理原则:覆盖主机所有关键硬件及系统组件,避免遗漏核心资源。
    • 三大维度监控配置

      监控维度定义实操指标阈值参考(示例)
      使用率资源忙时平均占比(百分比)CPU 使用率、内存使用率、磁盘 IO 使用率、网络带宽使用率CPU 持续 5 分钟≥85%、内存持续 5 分钟≥90%
      饱和度资源排队任务量CPU 等待进程数、磁盘 IO 队列长度、内存 Swap 使用量CPU 等待进程数≥5、Swap 使用量≥1GB
      错误数资源异常事件计数磁盘读写错误数、网络丢包数、端口连接失败数5 分钟内错误数≥3 次
    • 数据采集与分析

      • 采集频率:每 10-30 秒采集 1 次,确保捕捉瞬时峰值。
      • 分析方式:结合方差、中位数,避免单一平均值掩盖异常(如 CPU 瞬时 100% 被平均后忽略)。
    • Google 四个黄金法则(应用 / 用户级监控)

      • 核心指标定义与采集

        指标类型核心含义实操采集项数据来源
        延迟服务请求耗时接口响应时间、数据库查询耗时、页面加载时间应用日志、API 网关、前端埋点
        流量系统访问压力每秒 HTTP 请求数(QPS)、数据库事务数、消息队列吞吐量服务器日志、中间件监控接口
        错误请求失败情况5xx 错误码占比、无效响应内容数、超时请求数(≥30 秒)反向代理日志、应用异常日志
        饱和度应用资源受限程度线程池占用率、数据库连接池使用率、缓存命中率应用内置监控接口、中间件状态查询
      • 阈值设定与告警配置

        • 延迟:P95 延迟(95% 请求的耗时)持续 3 分钟≥500ms 触发告警。
        • 流量:流量突增 / 突降超过近 1 小时均值的 50%,触发告警。
        • 错误:错误率持续 5 分钟≥1%,或单分钟超时请求数≥10 次。
        • 饱和度:线程池占用率持续 3 分钟≥80%、缓存命中率持续 5 分钟≤70%。
      • 业务关联优化

        • 指标关联:将应用指标与业务场景绑定(如 “支付接口延迟” 关联 “订单成交率”)。
        • 优先级划分:核心业务(支付、登录)告警级别高于非核心业务(数据统计)。
    • 通用落地注意事项

      • 告警策略:先软状态(异常持续 1-3 分钟),再转硬状态告警,减少误报。
      • 通知媒介:核心告警优先短信 / 钉钉,非核心告警用邮箱,支持告警升级(1 小时未处理通知上级)。
      • 自动化适配:通过自动发现功能,新增应用 / 主机时自动接入监控,无需手动配置。

监控系统核心组件

  • 数据存储

    • 核心需求:存储时间序列数据(按时间生成的指标样本),需支持高并发写入。
    • 主流方案:优先时序数据库(TSDB,NoSQL 类,性能优),小规模场景可选用 Zabbix + 关系型数据库(需优化性能)。
    • 关键操作:数据聚合(含方差、百分位数等,避免异常值被平均掩盖)。
  • 可视化展示

    • 工具特性:需支持柱状图、线状图等直观呈现,Grafana 为常用工具,可对接 Prometheus、Zabbix 等数十种数据源。
    • 原生方案:Zabbix 内置 Web 界面,Prometheus 内置 PromQL 查询但图形效果较差。
  • 告警系统

    • 核心逻辑:指标超阈值后,先进入软状态,持续异常则转为硬状态并告警,避免误报。
    • 扩展功能:支持告警升级(未解决时逐级通知更高层级人员)。
    • 通知媒介:邮箱、钉钉、微信、短信等。
  • 监控系统核心组件对比表

    组件类型代表工具 / 方案核心特性优势局限性适用场景
    数据采集监控代理程序部署于主机 / 应用,主动采集内核或应用指标(如 CPU、Redis info 数据)数据精准,支持细颗粒度采集部分现代应用可能需额外适配主机、常规应用监控
    探针(黑盒监控)外部探针刺探,如 ICMP 检查、端口响应检测无需侵入应用,适配第三方应用仅能获取表层状态,无内部数据第三方应用、网络可用性监控
    SNMP 协议传统网络设备接口,暴露设备内部工作状态适配多数网络设备(交换机等)功能粗陋,数据维度有限传统网络设备监控
    数据存储时序数据库(TSDB)非关系型数据库,支持高并发写入,按追加方式存储时间序列数据性能优异,适配大规模监控场景学习成本略高分布式、微服务架构,大规模系统
    关系型数据库(如 MySQL)传统存储方案,依赖结构化存储逻辑兼容性强,部署成熟高并发写入时易成瓶颈,需额外优化小规模系统,Zabbix 配套使用
    可视化展示Grafana支持数十种数据源,提供丰富图表(柱状图、线状图等),支持自定义面板可视化效果好,适配多场景需搭配数据源使用,无独立采集功能各类监控系统的可视化需求
    Zabbix Web 界面内置界面,与 Zabbix 存储、采集深度集成开箱即用,操作便捷定制化能力较弱,图表样式单一小规模 Zabbix 监控场景
    Prometheus 原生界面支持 PromQL 查询,直接对接自身存储无需额外配置,查询灵活图形效果差,可视化功能简陋Prometheus 临时数据查询
    告警系统Zabbix 告警模块支持软 / 硬状态判定,告警升级,多媒介通知功能完善,成熟稳定大规模场景下性能易受限中小规模系统,需分级告警场景
    Prometheus+Alertmanager与 TSDB 深度协同,支持告警分组、抑制、路由适配大规模分布式场景,灵活度高配置相对复杂,需单独部署 Alertmanager分布式、微服务架构,大规模监控
http://www.dtcms.com/a/579251.html

相关文章:

  • 设计社交网站手机可以建网站吗
  • 响应式网站要多久手机站点cn
  • 网站鼠标悬停动态效果古田路9号设计网站
  • 突破 GEO 优化瓶颈:孟庆涛引领的 AI 时代营销新范式
  • 网站模版编辑器企业简介范文
  • 基于Vue的智慧楼宇报修平台设计与实现066z15wb(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • php网站开发套模板步骤张家界城乡建设网站
  • 一元云购网站建设教程wordpress侧边栏插件
  • 惠州城市建设建筑网站cms网站开发网站模板
  • 18年手机网站加强机关网站内容建设
  • 村镇建设年度报表登录网站百度搜索引擎官网
  • 中石化两学一做网站机票网站开发
  • ESP32堆栈空间优化全攻略
  • 学做衣服网站知乎深圳有几家燃气公司
  • 厦门市建设工程质量安全协会网站小程序和公众号的区别和优势
  • 青岛网站设计微动力全国招商代理平台
  • 【RL】学习路径指导-VRP求解方向
  • 大连专业模板网站制作高端网站定制开发
  • 网站seo诊断书郑州网站制作汉狮网络
  • 网站建设广州白云wordpress 缓存目录
  • 建设微网站网站建设总结体会
  • 做响应式网站应该注意什么做网站销售怎么样
  • 建设网站策划书有名的网站建设
  • C++编程基础(六):函数
  • 珠海网站设计价格wordpress 手动下一页
  • 线性代数——矩阵、向量详解
  • 工厂做网站有用吗wordpress注册邮件内容
  • Linux 中处理文件的陷阱(Python 示例)
  • 自己建设一个网站需要多少钱自己开发制作游戏的软件
  • 自己公司怎样弄个网站网站设计的公司概况简介