共计 2761 个字符,预计需要花费 7 分钟才能阅读完成。
6 个 Kubernetes 监视工具分别是哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
导读:监控可帮助您确保 Kubernetes 应用程序平稳运行并排除可能出现的任何问题。Prometheus 是一种流行的开源监视工具,许多公司都使用它来监视其 IT 基础结构。但是,还有许多其他监视工具可用。介绍了 Kubernetes Prometheus 监视的六个替代方法。
什么是 Prometheus
Prometheus 是最初在 SoundCloud 上构建的开源监视系统。它旨在监视多维数据收集和查询。Prometheus 服务器具有自己的独立单元,该独立单元不依赖网络存储或外部服务。因此,Prometheus 不需要大量其他基础架构或软件。
Prometheus 的主要优势包括与 Kubernetes 的紧密集成,许多可用的导出器和库以及快速的查询语言和 API。Prometheus 的主要缺点包括简化的,受约束的数据模型,基于拉取的模型的有限粒度以及缺乏加密。
以下列表回顾了除 Prometheus 外监视 Kubernetes 的六种方法。每种工具都有其自身的优点和缺点。让我们回顾一下每个工具的主要功能。
1.Grafana
Grafana 是一个开源平台,用于可视化,监视和分析指标。Grafana 的主要重点是时间序列分析。Grafana 可以通过多种图形选项(包括折线图,热图和条形图)显示分析的数据。当监视的指标超过预定义的阈值时,您会收到警报。
主要功能包括:
警报 - 您可以通过不同的渠道(包括 SMS,电子邮件,Slack 或 PagerDuty)获取警报。如果您更喜欢其他交流渠道,则可以使用一些代码来创建自己的通知程序。
仪表板模板 - 通过模板化,您可以创建可重复用于多个用例的仪表板。例如,您可以为生产服务器和测试服务器使用相同的仪表板。
供应 - 您可以使用脚本自动化 Grafana 中的所有内容。例如,您可以使用包含 IP 地址,服务器和数据源预设的脚本自动启动 Grafana 和新的 Kubernetes 群集。
注释 - 在发生错误时用于数据关联。您可以通过在图形中添加文本来手动创建注释,也可以从任何数据源获取数据。
2.cAdvisor
cAdvisor 可以收集、处理和导出有关正在运行的容器的性能和资源使用情况信息。cAdvisor 具有对 Kubernetes 的本地支持,因为它已集成到 Kubelet 二进制文件中。
其主要功能包括:
自动发现 - 自动发现给定节点中的所有容器并收集统计信息,包括内存,CPU,网络和文件系统使用情况。
存储插件 - 将统计信息导出到不同的存储插件,例如 Elasticsearch 和 InfluxDB。
整体计算机使用率 - 通过分析计算机上的“根”容器来提供整体计算机使用率。
Web- UI- 您可以在 Web-UI 上查看指标,该指标显示有关计算机上所有容器的实时信息。
3.Fluentd Fluentd
Fluentd Fluentd 通过在两者之间提供统一的日志记录层,将数据源与后端系统分离。日志记录层使您可以收集生成的多种类型的日志。
主要功能包括:
JSON 数据结构 - 使您能够统一所有日志数据处理方面,例如跨不同源缓冲,过滤和输出日志。
可插拔的体系结构 —灵活的插件系统使您可以通过连接多个数据源和输出来扩展 Fluentd 的功能。
系统资源 - 实例运行在 30MB 到 40MB 的内存上,每秒可以处理 13,000 个事件。如果需要更多内存,则可以使用 Fluent Bit 轻型转发器。
可靠性 - 支持基于文件的缓冲和内存缓冲,以防止节点上的数据丢失。此外,您可以设置 Fluentd 以支持高可用性和强大的故障转移。
4.Jaeger
Jaeger 是一个开源工具,用于监视 Kubernetes 等分布式服务之间的流量。Jaeger 使用分布式跟踪来跟踪通过不同微服务的服务请求的路径。然后,您可以直观地看到请求流。分布式跟踪是一种管理和观察微服务的方法,它作为服务网格的一部分运行。
主要功能包括:
高可扩展性 - 设计为无单点故障(SPOF),可根据业务需求进行扩展。
多种存储选项 - 支持两个开源 NoSQL 数据库,Elasticsearch 和 Cassandra。Jaeger 还提供了简单的内存存储用于测试。
云原生部署 - 支持不同的配置方法,包括环境变量,命令行选项和配置文件。Kubernetes 模板,Kubernetes 运算符和 Helm 图表支持 Kubernetes 部署。
监视 -Jaeger 后端组件默认情况下公开 Prometheus 指标和日志。
5.Telepresence
Telepresence 是一个开源工具,可以在本地运行单个服务,同时将该服务连接到远程 Kubernetes 集群。网真在 Pod 中部署了双向网络代理,该代理可为 Kubernetes 环境收集数据,包括 TCP 连接,环境变量和卷。
主要功能包括:
兼容性 - 带有 OS 原生软件包的 Linux 和 Mac OS 均可使用。
开发工作流程 - 为您提供在 Kubernetes 上开发的多容器应用程序的快速开发工作流程。您可以在将本地 Docker 容器代理到集群时运行它。
在本地调试 Kubernetes 服务 - 当临时群集中有 bug 时,您想在本地运行服务。网真使您可以在本地调试服务。
连接到远程 Kubernetes 群集 - 您可以从本地进程访问远程群集。通过此访问权限,您可以使用笔记本电脑上的本地工具与群集内的进程进行通信。
6. Zabbix
Zabbix 旨在监视大量网络参数和服务器的运行状况,并基于存储的数据提供许多数据可视化和报告功能。具有少量服务器的小型组织和具有多个服务器的大型企业可以使用 Zabbix 监视 IT 基础结构。
主要功能包括:
弹性阈值 - 您可以定义弹性问题阈值,也称为触发器。这些触发器基于后端数据库中的值。
实时可视化 —您可以使用内置的绘图功能立即查看受监视的项目。
自动发现 - 提供多种自动化大型环境(如 Kubernetes)管理的方法。您可以在组织中自动添加和删除文件系统和网络接口。
网络发现 - 使您能够定期扫描网络中的外部服务或 Zabbix 代理,并在发现时采取预定义的措施。
分布式监视 - 提供使用 Zabbix 代理监视分布式基础结构的有效方法。您可以使用代理在本地收集数据,然后将数据报告给服务器。
结论
Prometheus 是用于监视 Kubernetes 工作负载的开源工具。它被本地集成为 Kubernetes 中的默认监视工具,包括内置的警报管理器。但是,您还应该考虑针对您的 Kubernetes 环境使用其他监视选项,以补充和改进 Kubernetes 功能体验。
看完上述内容,你们掌握 6 个 Kubernetes 监视工具分别是哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!