90DaysOfDevOps 第 83 天:Grafana 数据可视化与 Prometheus Operator 监控栈实战
文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载Grafana 是开源社区最流行的指标可视化平台本文基于 90DaysOfDevOps 可观测性章节2022 年第 83 天的实战文档讲解 Grafana 与 Kibana 的定位差异并在 minikube 集群中通过 kube-prometheus 一键部署 Prometheus Alertmanager Grafana 监控栈完成数据源接入、自定义面板绘制与预置 Kubernetes 仪表盘导入最终掌握一套从裸指标到可视化看板的完整工作流。Grafana 与 Kibana监控Metrics与日志Logging的定位分野在本章节前几篇里我们通过 EFK StackDay 82 大量接触了 Kibana 做日志可视化但可观测性世界中还有另一条主线——指标监控这正是 Grafana 的舞台。两者并不相同也并非完全竞争关系而是一套可观测性体系中的互补组件。Kibana 的核心是日志检索与分析Kibana 的核心能力是数据查询与分析。用户通过多种检索方式在 Elasticsearch 中已建立索引的数据里搜索特定事件或字符串用于根因分析root cause analysis与故障诊断。基于查询结果Kibana 提供图表、表格、地理地图等多种可视化形态。Grafana 出身于 Kibana 的分支专注指标监控Grafana 最初其实是 Kibana 的一个分支其目标是补齐 Kibana 当时缺失的指标metrics监控能力。如今 Grafana 是一款免费开源的通用数据可视化工具在真实生产环境中最常见的是Prometheus Grafana组合也会见到 Grafana 与 Elasticsearch、Graphite 等后端搭配使用。两者的关键差异可以用一句话概括日志 vs 监控。本章节前面已经依次覆盖了 Nagios主机监控、Prometheus指标监控以及 ELK/EFK日志采集与检索现在轮到把指标画出来的 Grafana维度GrafanaKibana定位指标metrics分析、可视化与告警日志logs全文检索与分析典型后端Prometheus、Graphite、InfluxDB、Elasticsearch 等运行在 Elasticsearch 之上数据能力面向 CPU、内存、磁盘、I/O 等系统指标聚合展示面向日志消息的全文查询、诊断全文检索不提供全文数据查询核心功能支持字符串与事件搜索部署形态Linux / Mac / Windows / Docker / 源码构建Linux / Mac / Windows / Docker / 源码构建无论是虚拟化平台、云平台还是云原生环境Grafana 都是横跨各层基础设施最常见的可视化工具这正是它在本章被单独讲解的原因。Prometheus Operator Grafana 部署实战基于 minikube单独在 Prometheus 界面里翻看指标既繁琐也难以规模化这正是 Grafana 存在的意义把 Prometheus 数据库采集并存储的指标以交互式图表、自定义图形和告警规则呈现出来。下面我们在一台 minikube 集群上复现完整流程。环境准备与项目克隆本实战沿用前面章节的 minikube 集群。如果之前没有启动集群先执行minikube start然后克隆 kube-prometheus 项目到本地git clone https://github.com/prometheus-operator/kube-prometheus.git cd kube-prometheuskube-prometheus 是基于 Prometheus Operator 的完整监控栈清单集合包含 Prometheus、Alertmanager、Grafana 与一系列 ServiceMonitor 规则开箱即可获得一套生产级监控能力。创建监控命名空间与基础 CRD第一步是在集群中创建监控所需的命名空间以及 Prometheus Operator 依赖的自定义资源定义CRDkubectl create -f manifests/setup这一步会创建monitoring命名空间以及 Prometheus、Alertmanager、ServiceMonitor、PrometheusRule 等 CRD。部署整个监控栈接着部署演示所需的一切资源kubectl create -f manifests/该命令会在集群内下发大量资源包括 Prometheus StatefulSet、Alertmanager、Grafana Deployment、各类 Service、ServiceMonitor 与告警规则。可参考仓库中的 Prometheus 监控栈相关清单Monitoring 目录 理解这类 YAML 清单的组织方式。等待 Pod 就绪并核对资源用观察模式持续关注 Pod 状态kubectl get pods -n monitoring -w全部运行后确认健康状态kubectl get pods -n monitoring随后检查本演示稍后会用到的各类 Servicekubectl get svc -n monitoring最后查看监控命名空间内的全部资源kubectl get all -n monitoring在健康状态下你应能看到 Grafana、Prometheus、Alertmanager 相关的 Pod 均处于 Running并伴随对应的 Service 暴露在集群内。连接 Grafana登录、数据源与首个面板端口转发访问 Grafana新开一个终端将 Grafana Service 转发到本机 3000 端口kubectl --namespace monitoring port-forward svc/grafana 3000浏览器访问http://localhost:3000会看到登录提示。默认凭据为Username: admin Password: admin首次登录时系统会强制要求修改密码。登录后的首页会展示探索区域与学习资源其中两个关键入口——Add your first data source添加你的第一个数据源与Create your first dashboard创建你的第一个仪表盘——正是接下来的操作核心。配置 Prometheus 数据源kube-prometheus 部署完成后Grafana 中通常已经预置了一个 Prometheus 数据源但由于 minikube 网络隔离还需要把 Prometheus 也转发到本机kubectl --namespace monitoring port-forward svc/prometheus-k8s 9090回到 Grafana 首页进入 Add your first data source 组件选择Prometheus作为数据源类型。填写URLhttp://localhost:9090访问方式Access将下拉选项切换为Browser浏览器直连点击页面底部的Save Test保存并测试。只要 Prometheus 的端口转发正常即可看到连接成功的提示意味着 Grafana 与 Prometheus 的数据通道已经打通。创建自定义指标面板回到首页进入 Create your first dashboard选择Add a new panel添加新面板。此时面板默认使用 Grafana 内置数据源我们将其切换为我们刚创建的Prometheus-1数据源。打开Metrics browser指标浏览器能看到 Prometheus 从 minikube 集群采集到的长串指标列表。演示中选择展示系统资源类指标cluster:node_cpu:ratio{}该指标能够输出集群节点的 CPU 使用比例明细足以验证这套集成已经生效。确认可视化效果满意后点击右上角Apply应用按钮即可将这张图加入仪表盘。后续可以继续添加更多图形与其他图表组合出自己需要的视图。复用社区预置仪表盘无需从零重新发明轮子Grafana 生态中已有成千上万个现成仪表盘可直接复用。进入 Grafana 的仪表盘市场并搜索Kubernetes会得到一长串预构建看板列表。本文演示选择了Kubernetes API Server 仪表盘将数据源改为新添加的Prometheus-1后即可看到 API Server 的 SLO 可用性、错误预算、API 请求量、请求错误率、请求延迟等多维度指标面板。这是快速获得生产级可观测视图的高效路径。告警链路Alertmanager 与 Slack 等集成部署监控栈时已经一并部署了 Alertmanager可以进一步将告警发送到 Slack 或其他集成通道。将 Alertmanager 服务转发到本机kubectl --namespace monitoring port-forward svc/alertmanager-main 9093随后访问http://localhost:9093即可进入 Alertmanager 的告警管理界面。配合 Grafana 的面板告警规则与 Prometheus 的告警规则可以实现完整的采集 → 可视化 → 告警 → 通知闭环。本章小结与下一步本章作为 90DaysOfDevOps 可观测性章节的收官之作串起了指标Nagios、Prometheus、Grafana、日志ELK/EFK与告警Alertmanager这条完整链路Prometheus 负责采集与存储指标Grafana 负责交互式可视化与告警展示Alertmanager 负责告警分发。无论指标、日志还是链路追踪在自动化带来的环境快速变化下工程师都必须对自己广泛的环境状态了如指掌。下一节开始将进入数据管理主题探讨 DevOps 原则如何同样适用于数据管理场景。本系列其余内容可继续阅读 Day 84 及本章节前面的 Day 81Fluentd FluentBit、Day 82EFK Stack。赞分享文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载相关推荐90DaysOfDevOps 第 83 天Grafana 指标可视化与 Prometheus 集成实战90DaysOfDevOps 第 83 天Grafana 指标可视化与 Prometheus 集成实战 本文是 90DaysOfDevOps 可观测性系列中关文档/教程90DaysOfDevOps 第 83 天Grafana 数据可视化实战 —— 基于 kube-prometheus 打造 Kubernetes 监控看板与告警90DaysOfDevOps 第 83 天Grafana 数据可视化实战 —— 基于 kube prometheus 打造 Kubernetes 监控看板与告文档/教程90DaysOfDevOps 可观测性实战Prometheus Operator 与 Grafana 指标可视化部署指南90DaysOfDevOps 可观测性实战Prometheus Operator 与 Grafana 指标可视化部署指南 Grafana 是开源生态中最常用的文档/教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Agent Skills实战:marketingskills技能包开发与SEO应用指南

Agent Skills实战:marketingskills技能包开发与SEO应用指南

1. 从"marketingskills"这个仓库名说起:它到底想解决什么问题第一次看到marketingskills这个名字,我的直觉是:这大概率不是一个营销工具库,而是一套给 AI Agent 用的"营销技能包"。事实也确实如此。它属于Age…

2026/10/7 9:50:35 阅读更多 →
零Token成本实现跨会话记忆:pentest-ai-agents Findings数据库实战指南

零Token成本实现跨会话记忆:pentest-ai-agents Findings数据库实战指南

零Token成本实现跨会话记忆:pentest-ai-agents Findings数据库实战指南 【免费下载链接】pentest-ai-agents Turn Claude Code into your offensive security research assistant. Specialized AI subagents for authorized penetration testing plan engagements, …

2026/10/7 9:50:35 阅读更多 →
Jedi API 返回类详解:从 BaseName 到 Refactoring 的完整使用指南

Jedi API 返回类详解:从 BaseName 到 Refactoring 的完整使用指南

开发工具 【免费下载链接】jedi Awesome autocompletion, static analysis and refactoring library for python 项目地址: https://gitcode.com/gh_mirrors/je/jedi 点击查看 免费下载 导读 本文以 docs/docs/api-classes.rst 为骨架,系统讲解 Jedi 对…

2026/10/7 9:50:35 阅读更多 →

最新新闻

x64代码注入实战:从x86迁移到Windows 11的完整复现指南

x64代码注入实战:从x86迁移到Windows 11的完整复现指南

手头这本《逆向工程核心原理》我翻了不止一遍。书里“代码注入”那一章,当年在 Win7 的 32 位虚拟机上跑通时,MessageBox 从目标进程弹出来的瞬间,确实有“看懂黑魔法”的错觉。最近想把这套实验原封不动搬到 64 位 Windows 11 上&#xff0c…

2026/10/7 10:30:08 阅读更多 →
LeetCode 92 反转链表II全解:头插法、递归与边界避坑指南

LeetCode 92 反转链表II全解:头插法、递归与边界避坑指南

刚刷题群里有朋友问我:LeetCode 103 反转链表 II 这题怎么解?其实光这个说法本身,就藏着新手最常见的一个坑——LeetCode 上编号 103 的题目是二叉树的锯齿形层序遍历,而真正叫“反转链表 II”的是第 92 题,标题里的 1…

2026/10/7 10:30:08 阅读更多 →
论坛社区源码部署与APP封装实战:从解压到上线的完整指南

论坛社区源码部署与APP封装实战:从解压到上线的完整指南

简介:这是一套完整的APP论坛社区源码包,涵盖网站端PHP后台、HTML前端、JavaScript交互逻辑以及APP封装安装包,面向需要快速搭建社区论坛、学习PHP开发或进行二次开发的站长与开发者。压缩包共含1095个文件,以PHP、HTML、JS、CSS为…

2026/10/7 10:30:08 阅读更多 →
EDGE浏览器打印方向错乱?从原理到修复彻底解决纵横旋转问题

EDGE浏览器打印方向错乱?从原理到修复彻底解决纵横旋转问题

很多人第一次遇到EDGE浏览器打印预览界面纵横旋转错误,都会觉得是浏览器坏了。比如你打开一个文档页,想用A4纸纵向打印,点“打印”后预览却变成了横向排版,文字从中间被裁开,右侧空出一大片;又比如你在预览…

2026/10/7 10:30:08 阅读更多 →
Flutter+OpenHarmony跨端实战:家庭药箱与血压记录App开发全记录

Flutter+OpenHarmony跨端实战:家庭药箱与血压记录App开发全记录

从决定做一个“家庭药箱管理 血压记录”的跨端应用,到最终在 OpenHarmony 设备上稳定跑起来,整个过程比我想象的要曲折不少。尤其是 Flutter 在 OpenHarmony 生态里还属于“新移民”,网上资料鱼龙混杂,很多坑只能自己踩。这篇就把…

2026/10/7 10:30:08 阅读更多 →
TCP可靠性机制深度解析:三次握手、重传机制与拥塞控制

TCP可靠性机制深度解析:三次握手、重传机制与拥塞控制

1. TCP到底在解决什么问题 1.1 不要把TCP想象成"一条管子" 很多人学TCP时有个非常顽固的误解:觉得TCP就是一根管子,数据从一头灌进去,另一头按顺序流出来。这个认知会阻碍你理解TCP几乎所有的重要机制,包括三次握手、滑…

2026/10/7 10:29:08 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 4:21:51 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:18:13 阅读更多 →