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

云原生可观测性体系建设:从0到1搭Prometheus+Grafana+ELK+SkyWalking全家桶

云原生可观测性体系建设从0到1搭PrometheusGrafanaELKSkyWalking全家桶大家好我是迪哥。以前线上出问题我们靠猜现在靠看——看指标、看日志、看链路。这套 Prometheus Grafana ELK SkyWalking 组合拳让我们的故障发现时间从小时级降到了秒级。今天聊聊如何从零搭建这套可观测性体系。什么是可观测性三个支柱指标Metrics系统层面数据CPU、内存、QPS日志Logs事件层面数据请求、报错链路Traces请求层面数据调用链路、耗时分布架构全景┌─────────────────────────────────────────────────────────────────┐ │ Grafana (可视化) │ └────┬────────────────────────┬────────────────────────┬───────┘ │ │ │ ▼ ▼ ▼ ┌───────────────┐ ┌────────────────┐ ┌────────────────────┐ │ Prometheus │ │ Elasticsearch │ │ SkyWalking │ │ (指标存储) │ │ (日志存储) │ │ (链路存储) │ └───────┬───────┘ └────────┬───────┘ └───────────┬───────┘ │ │ │ └──────────┬──────────┴───────────┬───────────┘ │ │ ┌──────▼─────────┐ ┌──────▼─────────┐ │ Node Exporter│ │ Filebeat/Loki│ │ (系统指标) │ │ (日志收集) │ └──────┬─────────┘ └──────┬─────────┘ │ │ ┌──────▼─────────────────────▼─────────┐ │ K8s 应用集群 │ └──────────────────────────────────────┘一、指标Prometheus Grafana安装 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部署到 K8shelm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring应用暴露指标Micrometerdependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-actuator/artifactId /dependency dependency groupIdio.micrometer/groupId artifactIdmicrometer-registry-prometheus/artifactId /dependencymanagement: endpoints: web: exposure: include: prometheus,health,info,metricsGrafana 仪表盘推荐的 ID1860Node Exporter系统监控4701JVM Micrometer11378Spring Boot 2.1二、日志ELK Stack架构应用 → Filebeat → Elasticsearch → KibanaFilebeat 配置filebeat.inputs: - type: container paths: - /var/log/containers/*.log processors: - add_kubernetes_metadata: ~ output.elasticsearch: hosts: [elasticsearch:9200]部署helm install elk elastic/elastic-stack -n monitoringKibana 查询示例# 查询错误日志 level: ERROR AND app: order-service AND timestamp now-1h # 查询慢请求 request_time 3 AND app: order-service三、链路SkyWalking部署 OAPapiVersion: apps/v1 kind: Deployment metadata: name: skywalking-oap spec: replicas: 2 template: spec: containers: - name: oap image: apache/skywalking-oap-server:9.4.0 env: - name: SW_STORAGE value: elasticsearch - name: SW_STORAGE_ES_CLUSTER_NODES value: elasticsearch:9200应用接入java -javaagent:/path/to/skywalking-agent.jar \ -Dskywalking.agent.service_nameorder-service \ -Dskywalking.collector.backend_serviceskywalking-oap:11800 \ -jar order-service.jarSkyWalking 常用功能拓扑图Topology一眼看出服务调用关系追踪Trace找到慢/错误链路性能剖析Profile代码级性能分析告警Alarm异常及时通知四、告警Alertmanager 钉钉/企业微信alerting: alertmanagers: - static_configs: - targets: [alertmanager:9093] route: receiver: dingtalk routes: - match: severity: critical receiver: dingtalk receivers: - name: dingtalk webhook_configs: - url: https://oapi.dingtalk.com/robot/send?access_tokenxxx告警规则示例groups: - name: service_alerts rules: - alert: HighErrorRate expr: error_rate 0.1 for: 5m labels: severity: critical annotations: summary: 服务 {{ $labels.app }} 错误率过高 description: 错误率为 {{ $value }}可观测性成熟度模型级别指标日志链路效果Level 0❌❌❌靠猜线上出问题慌得一批Level 1✅ 基础❌❌知道系统挂了但不知道为什么Level 2✅ 完善✅ 有❌能定位但复杂问题不行Level 3✅ 完善✅ 完善✅ 完善全方位可观测问题秒定位成本建议组件资源建议Prometheus4C8G保留 15 天Elasticsearch8C32G × 3 节点保留 7-30 天SkyWalking OAP4C16G × 2 节点Grafana2C4G经验总结不要追求完美先把指标和日志搞起来链路可以慢慢加数据保留策略不要无限期存成本扛不住告警要收敛太多告警会导致告警疲劳定期检查有没有漏采集有没有异常指标没人看与业务结合不仅看系统指标更要看业务指标下单量、支付成功率说到可观测性我家那只叫 Docker 的哈士奇最近在监视我的零食柜什么时候偷吃了偷吃了什么偷吃了多少它门儿清跟这套体系有的一拼 我是迪哥我们下期再见往期推荐《线上故障排查与应急响应实战》《系统容量规划与压测实战》
http://www.zskr.cn/news/1371789.html

相关文章:

  • 为什么大模型分词器不用保存词表?揭秘 Karpathy 的“零冗余”持久化设计
  • Agent 一接侧边详情面板就开始改错对象:从 Panel Claim 到 Entity Proof 的工程实战
  • 2026年5月海南省琼中地区黄金回收白银铂金回收门店推荐TOP1 地址及联系方式 - 诚信金利回收
  • 实战指南:使用Dock构建现代化Avalonia应用布局系统
  • Loop:终极免费开源Mac窗口管理工具,彻底解决桌面杂乱问题
  • League Akari:重新定义英雄联盟玩家的智能游戏体验
  • 5分钟掌握SRWE:Windows窗口分辨率自由调整的终极指南
  • [特殊字符] Lucky从零到一的系统搭建里程碑 | 写给后人的初心与使命
  • 2026中国GEO企业成长路径分析洞察
  • 2026年5月北京朝阳地区黄金回收白银铂金回收门店推荐TOP1 地址及联系方式 - 检测回收中心
  • 智能体通信的序列化标准探索:JSON、ProtoBuf与自定义格式的效率之争
  • 在Node.js后端服务中接入Taotoken实现异步AI对话功能
  • 3分钟掌握图像矢量化神器:从像素马赛克到无限缩放矢量图
  • 在Ubuntu 22.04上,用AutoDockTools给蛋白加氢和准备配体,保姆级避坑指南
  • 别再乱格分区了!Win11+Ubuntu双系统和平共处的正确卸载与引导修复指南
  • 79万中文医疗对话数据集:打造智能医疗问答系统的终极语料库指南
  • Gemini CSR不是公关秀——而是技术向善的底层操作系统:基于17家头部客户落地数据的6维价值转化模型
  • 入侵检测中可解释机器学习的局限与评估:超越特征重要性神话
  • Linux新手必看:遇到‘dpkg: command not found’别慌,手把手教你三步搞定(含环境变量修复)
  • 为内部工具配置Taotoken作为统一大模型服务后端
  • DeepSeek数据准备不是“清洗”,而是“重构”:基于23TB真实语料的8项量化指标定义法(含entropy分布热力图分析)
  • 深度解析Windows运行库兼容性:VisualCppRedist AIO完整技术方案
  • DouZero AI斗地主助手:5分钟快速上手终极指南
  • 当数字笔记遇上开源力量:Xournal++如何重新定义你的创作边界
  • Nodejs开发者如何通过Taotoken统一调用主流大模型
  • 企业IT必看:如何用Windows KMS服务合规管理上千台电脑的授权?
  • 云数据库与缓存
  • 5分钟拯救你的B站收藏:m4s缓存视频无损转换实战
  • JVM内存结构、对象分配、TLAB与堆栈核心原理
  • 大模型对抗攻击与防御:保护 AI 系统安全