如何使用 Helm 集成 Prometheus 和 Grafana 第 1 部分在 K8s 上

小夏 科技 更新 2024-01-30

在这个由三部分组成的系列中,您将了解 习 如何使用 Helm 在 Kubernetes 上集成 Prometheus 和 Grafana,以及如何在 Grafana 上创建简单的仪表板。 Prometheus 和 Grafana 是 Kubernetes 上最流行的两个开源监控工具。 了解 习 如何使用 Helm 集成这两个工具,从而轻松监控 Kubernetes 集群并对其进行故障排除。您还将更深入地了解集群的运行状况和性能,这将跟踪 Kubernetes 集群上的资源和性能指标。

如前所述,Prometheus 和 Grafana 是用于监控容器编排平台的流行工具。 两个最流行的容器编排工具是 Docker Swarm 和 Kubernetes。 第一部分将向您介绍使用 Prometheus 和 Grafana 的前提条件,并了解 Prometheus 和 Grafana 是什么。

要跟上本指南的进度,您需要:

安装 docker:要在计算机上安装 docker,请查看官方 docker 文档

安装 kubectl:这允许您与 Kubernetes 集群进行通信。 若要在本地计算机上安装 Kubectl 工具,请遵循官方 Kubectl 文档指南

Kubernetes 基础知识:确保您对 Kubernetes 有一定的了解。 您可以通过阅读 Kubernetes 官方文档来了解有关 K8S 的更多信息 习。

设置 Kubernetes 集群:在 Kubernetes 集群上安装 Prometheus 和 Grafana。 本指南将使用 minikube(快速指南这是一个免费的本地 Kubernetes 集群。

Prometheus 是一个开源的 DevOps 工具。 它为 Kubernetes 等容器编排平台提供监控和实时告警功能,以时序数据的形式从平台收集和存储指标。 其次,它具有监控容器编排平台的开箱即用功能,并且是其他数据可视化库(如 Grafana)的数据源。

Prometheus 从 Kubernetes 集群收集的指标包括:

Kubernetes 集群运行状况。

CPU 状态。

内存使用量。

Kubernetes 节点状态。

潜在的性能瓶颈报告。

性能指标。 服务器资源。

Grafana 是一个多平台、开源**应用程序,用于分析和交互式可视化。 当您将其连接到受支持的数据源(如 Prometheus)时,它将提供:

交互式控制面板。

交互式图表。

可视 化。

网络警报。 无论数据源是什么,Grafana 都可以为您查询、可视化和理解您的指标。 除了 Prometheus 之外,Grafana 还支持其他几个数据源,例如:

influxdb

azuremonitor

datadog

graphite

aws cloudwatch。

postgresql

microsoft sql server (mssql)。

elasticsearch

google cloud monitoring

mysqlalertmanager

Loki 可以选择从头开始创建仪表板,或导入 Grafana 已经提供的仪表板并对其进行自定义以满足您的需求。 大多数 DevOps 专业人员使用 Grafana 和 Prometheus 创建具有数据可视化仪表板的强大时间序列数据库。

在这里,我们将创建一个仪表板,用于可视化从 Prometheus 数据源收集的指标。

下图显示了 Prometheus 的组件及其工作原理

这些都是 Prometheus 的组件:

prometheus server是 Prometheus 架构的核心组件。 这是实际监控工作发生的地方。

alertmanager通过电子邮件和其他通信渠道(如 Slack)向用户发送警报。

pushgateway可以支持临时任务。 它允许用户将时间序列数据推送到 Prometheus 目标。 它还处理短期任务的指标。

Prometheus 服务器可以进一步分为三个组件:

data retrieval worker从容器编排平台抓取和收集指标。 然后,它将指标转换为时间序列数据。 它从许多指标中收集指标,这些指标在其设置中指定。

time series database存储来自数据检索组件的时间序列数据。

http server响应时序数据的请求和 promql 查询。 然后,它会在 Web 用户界面或仪表板上显示信息。 它既可以使用 Grafana 等第三方平台,也可以使用内置的 Prometheus Web UI。

设置 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 图表中。

helm chart 是所有 yaml 文件的集合:

部署

服务业

钥匙

configmaps manifests

你将使用这些文件将应用程序容器部署到 Kubernetes。 Helm 允许用户拥有带有清单 YAML 文件的 Helm 图表,而不是为每个应用程序容器创建单独的 YAML 文件。

相似文章

    使用PayPal时如何避免踩到坑

    账户安全。确保您的 PayPal 帐户安全非常重要。用户需要设置复杂的密码并定期更改密码,以防止帐户被盗启用双因素身份验证 FA 以增加帐户安全性定期检查帐户活动以检测异常情况并采取适当的安全措施。此外,请避免在公共网络或不安全的网络上登录您的 PayPal 帐户,以避免帐户信息被盗。.交易风险。在...

    使用 CAD 软件时如何将 CAD 单位设置为毫米

    CAD 计算机辅助设计 软件广泛应用于建筑 机械 电子等各个领域,可以帮助设计师更高效地绘图和设计。在使用CAD软件时,单位设置是一个非常重要的环节,它直接关系到图纸的准确性和设计的质量。在本文中,我们将仔细研究如何将 CAD 单位设置为毫米,以帮助您更好地利用该软件进行设计。.CAD单位设置的重要...

    如何使用海竿轮?探索汽车中海竿轮的魔力

    当高端汽车技术遇上传统渔具,又会产生怎样的火花?今天,就让我们一起走进这场精彩的跨界融合,一起探索海竿轮在汽车中的独特应用。在这里,您将了解不同车型的特点,海竿轮的使用注意事项,以及相关品牌的精彩介绍。系好安全带,我们的旅程就要开始了!.海竿轮 不仅仅是一种捕鱼工具 海竿轮原本是钓鱼爱好者手中的得力...

    太极散手如何利用虚实在在的反击,在实战中取胜?

    利用虚实反击在实战中取胜的方法主要包括以下几个方面 假动作 用假动作或攻击来迷惑对手,使他们误判或做出反应,从而为实际的反击创造机会。一个错误的举动可以是对对手的某个部位的假装攻击,也可以做出一个看似有缺陷的举动来引诱对手攻击。实际攻击虚空位置 在错误移动后,快速改变攻击目标以击中错误位置。攻击对手...

    如何使用iOS虚拟机在电脑上体验苹果系统?

    苹果的iOS系统深受用户喜爱,但并不是每个人都具备苹果设备的条件。幸运的是,有一种方法可以在您的计算机上体验 iOS,那就是使用 iOS 虚拟机。本文将向您展示如何使用 iOS 虚拟机在您的计算机上体验 Apple。首先,您需要选择合适的iOS虚拟机软件。目前比较知名的iOS虚拟机有 iPadian...