论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
容器及微服务
›
容器及微服务
›
如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|P ...
如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1
何小豆儿在此
金牌会员
|
2024-2-28 09:56:00
|
显示全部楼层
|
阅读模式
楼主
主题
581
|
帖子
581
|
积分
1743
本系列将分成三个部分,您将学习如何使用 Helm 在 Kubernetes 上集成 Prometheus 和 Grafana,以及如何在 Grafana 上创建一个简单的控制面板。Prometheus 和 Grafana 是 Kubernetes 最受欢迎的两种开源监控工具。
学习如何使用 Helm 集成这两个工具,使您能够轻松监控 Kubernetes 集群并排除故障
。您还可以更深入地了解集群的健康状况和性能,它将跟踪 Kubernetes 集群上的资源和性能指标。
如前所述,Prometheus 和 Grafana 是用于监控容器编排平台的流行工具。最流行的两个容器编排工具是 Docker Swarm 和 Kubernetes。第一部分将为您介绍使用 Prometheus 和 Grafana 的前提条件,了解什么是 Prometheus 和 Grafana等。
前提条件
要跟上本指南,你需要:
安装 Docker
:要在你的机器上安装 Docker,请查看 Docker 官方文档
https://www.docker.com/。
安装 Kubectl
:这可以让你与 Kubernetes 集群通信。要在本地机器上安装 Kubectl 工具,请遵循 Kubectl 官方文档指南
https://kubernetes.io/docs/tasks/tools/。
掌握 Kubernetes 的基本知识
:请确保你对 Kubernetes 有一定的了解。您可以阅读 Kubernetes 官方文档
https://kubernetes.io/
来学习 K8s 相关知识。
建立 Kubernetes 集群
:在Kubernetes 集群上安装 Prometheus 和 Grafana。本指南将使用 Minikube (快速指南
https://minikube.sigs.k8s.io/docs/start/)。这是一个免费的本地
Kubernetes 集群。
什么是 Prometheus?
Prometheus 是一款开源 DevOps 工具。它为 Kubernetes 等容器编排平台提供监控和实时警报功能,以时间序列数据的形式收集和存储来自平台的指标。其次,它具有监控容器编排平台的开箱即用功能,并且是 Grafana 等其他数据可视化库的数据源。
Prometheus 从 Kubernetes 集群收集的指标包括:
Kubernetes 集群健康状况。
CPU 状态
内存使用情况
Kubernetes 节点状态。
潜在性能瓶颈报告。
性能指标
服务器资源
什么是 Grafana?
Grafana 是一款用于分析和交互式可视化的多平台、开源在线应用程序。当你将它连接到受支持的数据源(如 Prometheus)时,它能提供:
交互式控制面板
交互式图表
可视化图表
网络告警
无论数据源是什么,Grafana 都能为您查询、可视化和理解您的指标。除了 Prometheus,Grafana 还支持其他几个数据源,例如:
InfluxDB
AzureMonitor
Datadog
Graphite
AWS CloudWatch。
PostgreSQL
Microsoft SQL Server (MSSQL)。
Elasticsearch
Google Cloud Monitoring
MySQL
Alertmanager
Loki
您可以选择从头开始创建控制面板,或者导入 Grafana 已经提供的控制面板,并对其进行定制以满足您的需求。大多数 DevOps 专业人员都使用 Grafana 和 Prometheus 来创建具有数据可视化控制面板的强大时序数据库。
在这里,我们将创建一个仪表板,用于可视化从 Prometheus 数据源收集的指标。
Prometheus 的架构
下图显示了 Prometheus 的组件和工作原理:
这些都是 Prometheus 的组件:
Prometheus Server
是 Prometheus 架构的核心组件。它是实际监控工作进行的地方。
Alertmanager
通过电子邮件和其他通信渠道(如 Slack)向用户发送告警。
Pushgateway
可支持临时任务。它允许用户将时间序列数据推送到 Prometheus 目标。它还能处理短期任务的指标。
Prometheus 服务器可进一步分为三个组件:
Data Retrieval Worker
从容器编排平台中抓取并收集度量数据。然后,它将指标转换为时间序列数据。它从许多来源收集指标,这些来源在其设置中指定。
Time Series Database
存储来自数据检索组件的时间序列数据。
HTTP Server
响应时间序列数据的请求和 PromQL 查询。然后,它将信息显示在网络用户界面或仪表板上。它既可以使用 Grafana 等第三方平台,也可以使用内置的 Prometheus Web UI。
设置 Prometheus 和 Grafana 以监控容器编排平台的好处
设置 Prometheus 和 Grafana 进行监控能给我们带来很多好处:
可以获得一套完整的端到端解决方案,用于观察和监控 Kubernetes 集群。
可以使用 Prometheus PromQL 查询语言查询指标。
如果你有一个微服务架构,Prometheus 会同时跟踪你的所有微服务。
当某个服务出现故障时,会立即发出警报。
Grafana 仪表盘提供集群的性能和健康状况报告。
在 Kubernetes 上集成 Prometheus 和 Grafana 时,开发人员普遍采用两种方法:
手动 Kubernetes 部署
:在这种方法中,开发人员需要编写 Kubernetes 部署和服务 YAML 文件。需要为 Prometheus 和 Grafana 应用程序编写 YAML。在 YAML 文件中,指定在 Kubernetes 上集成 Prometheus 和 Grafana 的所有配置。然后,把这些文件部署到 Kubernetes 集群,以便 Prometheus 和 Grafana 正常工作。不过这种方法的弊端是开发人员可能会有很多 YAML 文件,这对大多数 DevOps 实践者来说都是令人厌烦的。如果在任何 YAML 文件中出错,将无法在 Kubernetes 上集成 Prometheus 和 Grafana。
使用 Helm
:这是将应用容器部署到 Kubernetes 的
最简单易行的方法
。Helm 是 Kubernetes 的官方软件包管理器。有了 Helm,你可以简化 Kubernetes 应用程序的安装、部署和管理。Helm 将 Kubernetes 应用程序打包并捆绑到 Helm Chart中。
Helm Chart是所有 YAML 文件的集合:
部署
服务
密钥
ConfigMaps Manifests
您将使用这些文件把应用容器部署到 Kubernetes。Helm 允许用户下载已有清单 YAML 文件的 Helm Chart,而不是为每个应用容器创建单独的 YAML 文件。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
何小豆儿在此
金牌会员
这个人很懒什么都没写!
楼主热帖
K3S系列文章-使用AutoK3s在腾讯云上安 ...
使用 Mypy 检查 30 万行 Python 代码, ...
day05-优惠券秒杀01
图像金字塔
再次入坑写学习笔记
【Visual Leak Detector】配置项 Trace ...
TechEmpower 21轮Web框架 性能评测 -- ...
1.2 Hadoop简介-hadoop-最全最完整的保 ...
Mysql进阶篇(二)之索引
由ASP.NET Core读取Response.Body引发 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表