首页 > 其他分享 >如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1

如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1

时间:2023-12-20 10:36:27浏览次数:33  
标签:Kubernetes Grafana YAML Prometheus Part 集群 Helm

本系列将分成三个部分,您将学习如何使用 Helm 在 Kubernetes 上集成 Prometheus 和 Grafana,以及如何在 Grafana 上创建一个简单的控制面板。Prometheus 和 Grafana 是 Kubernetes 最受欢迎的两种开源监控工具。学习如何使用 Helm 集成这两个工具,使您能够轻松监控 Kubernetes 集群并排除故障。您还可以更深入地了解集群的健康状况和性能,它将跟踪 Kubernetes 集群上的资源和性能指标。

 

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

 

前提条件

要跟上本指南,你需要:

 

 

什么是 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 的组件和工作原理:

 

image

 

这些都是 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 文件。

标签:Kubernetes,Grafana,YAML,Prometheus,Part,集群,Helm
From: https://www.cnblogs.com/sealio/p/17915913.html

相关文章

  • Prometheus Python client library.
    PrometheusPythonclientlibrary.http://prometheus.github.io/client_python/ Examplehttps://pbrissaud.github.io/suivi-bourse/用户场景没有价值,此项目以全栈的视角实现了自定义exporter的实现,可以直接参考。watchesyourstockshareonPrometheus/Grafana ......
  • day17 基于Prometheus的HPA自动伸缩 -Prometheus黑盒监控-自定义资源接入监控系统 (7.
    一、基于Prometheus的HPA自动伸缩1、背景Kubernetes集群规模大、动态变化快,而且容器化应用部署和服务治理机制的普及,传统的基础设施监控方式已经无法满足Kubernetes集群的监控需求。需要使用专门针对Kubernetes集群设计的监控工具来监控集群的状态和服务质量。Prometheus则......
  • 从零开始构建报警中心:part08 数据库链接与验证
    处理了model与schema就可以进行数据的实际操作了。flask应用可以通过flask-sqlachemy进行ORM操作。APP与数据库绑定定义flask应用,对该应用进行配置,绑定数据库链接信息,并初始化DB,相关代码如下app.py这是整个系统的入口,后续将添加登入登出(flask-login),SSO接入,蓝图,以及API接入fromfla......
  • Candy Party (Hard Version) 题解
    原题链接:CF1868B2,简单版:CF1868B1。题意有\(n\)个人,第\(i\)个人手上最初有\(a_{i}\)颗糖。现在每个人可以把自己手中的糖选一些给不多于一个人,同时每个人也只能接受不多于一个人的糖,选出的糖的数量必须是二的次幂。问能否能让每个人最终手上的糖的数量相等。思路首先,这......
  • skywalking--Prometheus Fetcher使用
    1.准备:实验版本:skywalking9.1.0官网:https://skywalking.apache.org/docs/main/v9.1.0/en/setup/backend/prometheus-metrics/ 2.开启prometheus遥测数据修改skywalking配置,修改${SW_TELEMETRY:prometheus}telemetry:selector:${SW_TELEMETRY:prometheus}none:......
  • day16监控体系部署管理-K8S集群层面监控-基于Prometheus的HPA自动伸缩 (7.1-7.2)
    一、打造基于Prometheus的全方位监控平台1.1前言官网:https://prometheus.io/docs/prometheus/latest/getting_started/灵活的时间序列数据库定制各式各样的监控规则Prometheus的开发人员和用户社区非常活跃独立的开源项目,不依赖于任何公司继Kubernetes之后第二个入驻的项......
  • 1 K8S for Prometheus Dashboard 20211010 EN
    *[PrometheusTimeSeriesCollectionandProcessingServer](http://localhost:9090/targets?search=#pool-prometheus)*[Dashboards|GrafanaLabs](https://grafana.com/grafana/dashboards/?search=prometheus)*[Alertmanager|GrafanaLabs](https://grafana.com/g......
  • 47、Flink 的指标报告介绍(graphite、influxdb、prometheus、statsd和datalog)及示例(jmx
    文章目录Flink系列文章一、MetricReporters1、概述及示例2、入门示例0)、特别说明1)、配置2)、验证3)、自定义的指标收集器3、基于标志符格式vs.基于tags格式4、Pushvs.Pull5、发送器1)、JMX2)、Graphite2)、InfluxDB4)、Prometheus5)、PrometheusPushGateway6)、StatsD7)、Datadog8)......
  • kubernetes1.18.2安装kube-prometheus
    注:使用kube-prometheus安装非常方便,前面的prometheus+grafana+metrics-server都不用安装,已经集成在里面。1、clonegithub地址gitclonehttps://github.com/coreos/kube-prometheus.gitcdkube-prometheus2、查看manifest路径下所有的yaml文件[root@master1manifests]#lltotal......
  • 使用 Prometheus 监控 Memcached 最佳实践
    监控Memcached监控Memcached的重要性无法忽视。通过监控Memcached,我们可以及时了解到系统中的缓存命中率、缓存使用量和缓存访问频率等关键指标,从而更好地优化系统性能。同时,监控Memcached还可以帮助我们发现潜在的性能问题和内存泄漏,及时采取措施进行修复,保障系统的稳定运行。在......