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

云原生监控体系建设:打造全方位的可观测性平台

云原生监控体系建设打造全方位的可观测性平台引言在云原生时代监控是保障系统稳定运行的关键。一个完善的监控体系可以帮助我们及时发现问题、定位问题、解决问题。今天就来分享一下云原生监控体系的建设经验。监控体系概述可观测性三支柱监控体系通常包括三个方面指标量化的度量如CPU使用率、响应时间、内存使用量等。指标是监控的基础可以帮助我们了解系统的运行状态。日志事件的记录如应用日志、系统日志、访问日志等。日志可以帮助我们了解系统发生了什么是问题排查的重要依据。追踪请求的完整路径记录请求从入口到出口的整个过程。追踪可以帮助我们了解请求在各个服务之间的流转情况定位性能瓶颈。监控目标监控体系的目标是发现问题及时发现系统中的异常如服务宕机、性能下降、错误率升高等。定位问题快速定位问题的根源通过指标、日志和追踪的结合找到问题发生的位置和原因。解决问题帮助解决问题提供足够的信息让工程师能够快速修复问题。预防问题通过数据分析预测潜在问题提前采取措施避免问题发生。优化性能通过监控数据发现性能瓶颈进行系统优化。监控层次监控体系可以分为几个层次基础设施层监控服务器、网络、存储等基础设施的状态。平台层监控Kubernetes、Docker等平台的运行状态。应用层监控应用程序的运行状态包括请求数、响应时间、错误率等。业务层监控业务指标如订单量、用户活跃度、转化率等。监控工具生态云原生监控工具生态包括指标监控Prometheus、InfluxDB、Graphite日志管理Elastic StackElasticsearch、Logstash、Kibana、Loki、Fluentd分布式追踪Jaeger、Zipkin、OpenTelemetry告警管理Alertmanager、PagerDuty、OpsGenie可视化Grafana、Kibana、Datadog指标监控指标类型常见的指标类型有基础设施指标CPU、内存、磁盘、网络应用指标请求数、响应时间、错误率业务指标订单量、用户活跃度指标采集使用Prometheus采集指标# prometheus.yml global: scrape_interval: 15s scrape_configs: - job_name: kubernetes-pods kubernetes_sd_configs: - role: pod relabel_configs: - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] action: keep regex: true - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] action: replace target_label: __metrics_path__ regex: (.) - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] action: replace regex: ([^:])(?::\d)?;(\d) replacement: $1:$2 target_label: __address__指标展示使用Grafana展示指标{ panels: [ { title: CPU Usage, type: graph, targets: [ { expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode\idle\}[5m])) * 100), legendFormat: {{instance}} } ] } ] }日志管理日志采集使用Filebeat采集日志filebeat.inputs: - type: log paths: - /var/log/myapp/*.log json.keys_under_root: true json.add_error_key: true fields: service: myapp output.logstash: hosts: [logstash:5044]日志处理使用Logstash处理日志input { beats { port 5044 } } filter { if [service] myapp { grok { match { message %{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{GREEDYDATA:message} } } date { match [timestamp, ISO8601] target timestamp } } } output { elasticsearch { hosts [elasticsearch:9200] index myapp-logs-%{YYYY.MM.dd} } }日志查询使用Kibana查询日志{ query: { bool: { must: [ { term: { level: ERROR } }, { range: { timestamp: { gte: now-1h } } } ] } } }分布式追踪追踪采集使用Jaeger采集追踪数据apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: jaeger spec: strategy: allInOne ingress: enabled: true追踪实现在应用中集成OpenTelemetryfrom opentelemetry import trace from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor from opentelemetry.exporter.jaeger.thrift import JaegerExporter trace.set_tracer_provider(TracerProvider()) tracer trace.get_tracer(__name__) jaeger_exporter JaegerExporter( agent_host_namejaeger-agent, agent_port6831, ) trace.get_tracer_provider().add_span_processor( BatchSpanProcessor(jaeger_exporter) ) with tracer.start_as_current_span(my-operation): # 业务逻辑 pass告警管理告警规则配置Prometheus告警规则groups: - name: node-alerts rules: - alert: HighCPUUsage expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{modeidle}[5m])) * 100) 80 for: 2m labels: severity: warning annotations: summary: High CPU usage detected description: CPU usage is {{ $value }}% on instance {{ $labels.instance }}告警通知使用Alertmanager发送告警route: group_by: [alertname] receiver: web.hook receivers: - name: web.hook webhook_configs: - url: https://api.example.com/webhook slack_configs: - channel: #ops-alerts send_resolved: true监控最佳实践监控覆盖确保监控覆盖所有关键组件基础设施层平台层应用层业务层告警策略设置合理的告警策略避免告警风暴设置不同级别的告警定期回顾和优化告警规则数据存储合理管理监控数据设置数据保留策略使用合适的存储方案定期清理过期数据结语监控体系是云原生架构中不可或缺的一部分。通过建立完善的监控体系可以提高系统的可靠性和可维护性。希望这篇文章能帮助你更好地建设监控体系。如果你有任何问题欢迎在评论区交流。本文作者侯万里万里侯致力于打造可观测性平台的工程师

相关文章:

云原生监控体系建设:打造全方位的可观测性平台

云原生监控体系建设:打造全方位的可观测性平台 引言 在云原生时代,监控是保障系统稳定运行的关键。一个完善的监控体系可以帮助我们及时发现问题、定位问题、解决问题。 今天就来分享一下云原生监控体系的建设经验。 监控体系概述 可观测性三支柱 监控体…...

AI时代的个人隐私与网络安全自保——从账号密码到设备行为的完整体系

一个很多人没做但很简单的事:去搜索一下自己的真实姓名、手机号、家庭住址,看看哪些信息已经公开在网上。知道自己的暴露面,才知道要重点保护什么。 haveibeenpwned是免费、靠谱、隐私友好的数据泄露查询工具。 安全防护不追求完美&#xff0…...

从零读懂RDMA流控机制:为什么RC需要“信用”

我们在之前的文章里讲过,RDMA RC(可靠连接)模式像一条点对点的专用通道:发送端发数据,接收端确认,丢了包硬件重传。一切看起来很简单,但有一个关键问题没解决: 发送端怎么知道接收端“吃得下”自己发过去的数据? 如果发送端不管不顾地疯狂发,而接收端处理不过来,数据…...

手把手教你复现DM-VIO:用开源代码在Ubuntu 20.04上跑通这个SOTA视觉惯性里程计

从零搭建DM-VIO:Ubuntu 20.04实战指南与深度调优当视觉惯性里程计(VIO)遇上延迟边缘化技术,DM-VIO在三大主流数据集上创造了单目系统超越立体方案的奇迹。本文将带您穿越从环境配置到实战调优的全流程,揭秘这个2022年R…...

手把手教你用Python+OpenBMI复现运动想象BCI实验(附完整代码与数据集)

Python实战:从OpenBMI到运动想象脑机接口的全流程复现指南在认知科学与脑机接口(BCI)研究领域,运动想象(Motor Imagery)实验一直是经典范式。传统上,这类实验多依赖Matlab生态完成,但随着Python在科学计算领域的崛起,越…...

【企业级AI Agent操作安全白皮书】:基于ISO/IEC 27001与NIST AI RMF的6类操作审计红线

更多请点击: https://codechina.net 第一章:AI Agent自主操作软件的定义与安全治理边界 AI Agent自主操作软件是指具备感知环境、规划决策、调用工具(如API、CLI、GUI自动化接口)并闭环执行任务能力的智能体系统。其核心特征在于…...

开源AI编辑器的未来发展趋势

基于当前发展状况来分析,开源AI编辑器的未来发展趋势主要体现在以下几个核心方向:一、技术能力:从“辅助补全”迈向“智能体化”全流程自主化:AI编辑器正从基础的代码补全、语法检查,向具备自主决策能力的智能体&#…...

全方位强化 AI 逆向能力,这款 Skill 太实用了

让 Codex 默认支持 JS 逆向Codex GPT-5.4 默认对逆向和爬虫类请求比较保守,常见表现是只讲原则,不继续落地。市面上的常规做法是先发提示词,我这边因为每次重复发送比较麻烦,所以进一步封装成了 Skill,实际验证可行。…...

AI Agent如何重构数据分析工作流:从数据清洗到洞察生成的7步自动化闭环(附企业级架构图)

更多请点击: https://intelliparadigm.com 第一章:AI Agent如何重构数据分析工作流:从数据清洗到洞察生成的7步自动化闭环(附企业级架构图) 传统数据分析依赖人工串联多个工具与脚本,耗时长、容错低、知识…...

解锁 Codex 逆向能力!一键部署 JS 逆向全能 Skill

让 Codex 默认支持 JS 逆向 Codex GPT-5.4 默认对逆向和爬虫类请求比较保守,常见表现是只讲原则,不继续落地。市面上的常规做法是先发提示词,我这边因为每次重复发送比较麻烦,所以进一步封装成了 Skill,实际验证可行。…...

AI Agent在政务审批系统中的零故障部署实践(工信部试点项目全链路复盘)

更多请点击: https://codechina.net 第一章:AI Agent在政务审批系统中的零故障部署实践(工信部试点项目全链路复盘) 在工信部“智能政务基础设施升级”试点项目中,某省政务服务网完成全国首个面向全流程审批闭环的AI …...

Zookeeper集群启动失败?从myid配置到防火墙,保姆级排错指南来了

Zookeeper集群启动失败?从myid配置到防火墙,保姆级排错指南来了当你满怀期待地执行bin/zkServer.sh start命令,却只看到一堆晦涩的错误日志时,那种挫败感我太熟悉了。Zookeeper作为分布式系统的"神经中枢",其…...

Playwright 浏览器自动化完全指南:从入门到实战

目录 一、什么是 Playwright二、Playwright vs Selenium:为什么选择 Playwright三、支持的语言与浏览器四、核心架构与执行流程五、环境安装与验证六、第一个程序:打开网页并截图七、常用操作速查八、元素定位详解九、自动等待机制深度解析十、浏览器上…...

深度 | 昇腾NPU MoE算子实现:从TopKGating到Expert并行,稀疏激活的硬件适配

引言 MoE(Mixture of Experts,混合专家)是大模型近年来最重要的架构演进之一。GPT-4、Mixtral-87B、Qwen1.5-MoE——几乎所有宣称"超大规模"的新模型都在用 MoE。核心逻辑很简单:用多个独立的"专家"网络替代…...

从零到亿级调用量:电商客服Agent重构实录(含对话状态机+意图跳转图+人工接管SLA协议)

更多请点击: https://codechina.net 第一章:从零到亿级调用量:电商客服Agent重构实录(含对话状态机意图跳转图人工接管SLA协议) 面对日均峰值超1.2亿次的客服请求,原有基于规则匹配的客服Bot在大促期间频繁…...

从电路振荡到种群竞争:常系数线性微分方程组在建模中的实战指南

从电路振荡到种群竞争:常系数线性微分方程组在建模中的实战指南微分方程是描述动态系统的数学语言,而常系数线性微分方程组则是其中最具工程实用价值的一类。不同于纯数学视角下的求解技巧,本文将带你穿越两个经典场景——电子工程中的RLC振荡…...

用Python处理DREAMER脑电数据集:从.mat文件到.npy文件的完整实战教程

用Python处理DREAMER脑电数据集:从.mat文件到.npy文件的完整实战教程在情感计算与神经科学交叉领域,DREAMER数据集因其同时包含脑电信号(EEG)和情感评分而备受研究者青睐。但原始数据以.mat格式存储,这种MATLAB专属格式…...

《Java 基础必学:ArrayList、HashMap 和泛型详解》

一、引言 1.为什么这些是 Java 基础的重点? ArrayList、HashMap 和泛型是Java集合框架的核心组成部分,广泛应用于实际开发中。 ArrayList:基于动态数组实现,支持快速随机访问,适合频繁查询和遍历的场景。HashMap&…...

数据标注中的权力博弈与主观性:从规则制定到模型偏见的全链路解析

1. 项目概述:当数据标注不再是“客观”的技术活“数据标注”,在很多人眼里,可能就是一个坐在电脑前,对着图片画框、打标签的“体力活”或“技术活”。它听起来中立、客观,是人工智能模型训练前一道标准化的工序。然而&…...

市面上靠谱的ERP/MES/定制开发/APP开发/软件开发公司

在数字化浪潮下,80%的实体企业都想通过ERP、MES或定制软件实现降本增效,但选对服务商比“买系统”更重要——用模板化系统的企业,70%会因为流程适配差、运维跟不上而半途而废;找外包开发的企业,又面临“开发完就甩手”…...

从需求到交付:深度拆解企业级软件定制开发的标准化流程

一、 引言:数字化转型的“标准化”与“定制化”博弈(内容概要:简述当前企业在选购通用SaaS软件与定制软件时的痛点。指出通用软件往往“大而全但难用”,而定制开发的核心在于精准契合业务场景。)二、 定制开发的四大核…...

RuoYi接口调试:Postman作为Spring Boot权限系统可信信使

1. 为什么RuoYi项目里Postman不是“配角”,而是调试生命线在RuoYi开发实战中,很多人把Postman当成一个“临时工具”——写完接口顺手点一下,成功了就扔一边,失败了就切回IDE疯狂加日志、重启服务、反复试错。我带过三届实习生&…...

同事还在手动整理文件,我已经让 Open Claw 全自动搞定了|Windows 一键部署

⚡OpenClaw 一键安装包|一键部署,告别复杂环境配置⚡ 适配系统 Windows10/11 64 位 当前版本 2.7.5 版本(虾壳云版) 核心优势 全程可视化操作,无需命令行、无需手动配置 Python/Node.js,内置所有运行…...

虚幻引擎Pak文件可视化分析工具原理与实践

1. 为什么一个Pak文件查看器值得花两周重写三遍?虚幻引擎项目打包后生成的.pak文件,对绝大多数开发者来说就是个“黑盒”——你清楚它装着所有资源:贴图、音频、蓝图、关卡数据,甚至UAsset序列化后的二进制结构;但你完…...

1000个文件重命名,1秒完成!批量文件重命名软件

前言: 大家好,这里是惠众资料库, 在日常办公、资料归档、素材整理、摄影剪辑等各类场景中,用户会积累大量图片、文档、视频、音频、文件夹等各类文件。为了实现文件分类规整、统一命名规范、方便快速检索调用,文件重命…...

计算机视觉与贝叶斯优化驱动的粉末饮料智能制备系统

1. 项目概述:从“冲一杯”到“冲好一杯”的自动化跃迁“机器人结合计算机视觉与贝叶斯优化实现粉末饮料制备自动化”,这个标题听起来有点学术,但说白了,我们做的就是把冲奶粉、泡蛋白粉、调咖啡这类“凭感觉”的手工活&#xff0c…...

【Lovable高阶开发者私藏技巧】:绕过平台限制实现自定义CSS/JS注入与第三方SDK深度对接

更多请点击: https://kaifayun.com 第一章:Lovable无代码开发教程 Lovable 是一款面向业务人员与轻量级开发者的可视化应用构建平台,它通过拖拽式界面、逻辑编排画布和内置数据连接器,将复杂功能封装为可复用的模块。无需编写传统…...

鸿蒙electron跨端框架PC导出管家实战:把交付前的检查、复制和导出做成一个工坊

前言 欢迎加入鸿蒙PC开发者社区,共同打造开发者工具生态:鸿蒙PC开发者社区 :https://harmonypc.csdn.net/ 项目开源地址:https://AtomGit.com/lqjmac/ele-daochuguanjia 我做 导出管家 时最先确认的,不是颜色和布局…...

Hexo 排坑记:删除所有文章后首页无法访问(Cannot GET)

背景 最近在使用 Hexo Butterfly 主题搭建个人博客时,遇到一个奇怪的问题:我把 source/_posts 下的所有文章都删掉后,重新生成并启动本地服务器,访问 http://localhost:4000 竟然直接显示 Cannot GET /,首页完全打不开…...

前端实习面试手写题分享

在寻找前端实习的过程中,我们会发现,面试除了考察算法题之外,手写题同样也是高频考点。尤其是在准备中大厂前端面试时,手写能力几乎是必不可少的一部分。这篇文章将围绕几道经典高频手写题展开,包括手写深拷贝、实现寄…...