当前位置: 首页 > 科技观察

Kubernetes的普罗米修斯的六种替代品!

时间:2023-03-17 15:02:30 科技观察

【.comExpress翻译】监控可以帮助您确保您的Kubernetes应用程序平稳运行并解决可能出现的任何问题。Prometheus是一种流行的开源监控工具,许多公司使用它来监控IT基础设施。但是还有许多其他可用的监控工具,本文介绍了KubernetesPrometheus的六种替代方案。Prometheus是SoundCloud最初开发的开源监控系统,旨在监控多维数据采集和查询。Prometheus服务器有自己独立的单元,不依赖于网络存储或外部服务。因此,Prometheus不需要很多其他基础设施或软件。Prometheus的主要优势包括:与Kubernetes的紧密集成、许多可用的导出器和库以及快速查询语言和API。Prometheus的主要缺点包括:简化的约束数据模型、基于拉取模型的粒度有限以及缺乏加密。以下是使用Prometheus在Kubernetes外部进行监控的六种工具。每种工具都有其优点和缺点。让我们来看看每个工具的主要功能。1.GrafanaGrafana是一个用于可视化、监控和分析指标的开源平台。Grafana专注于时间序列分析。Grafana可以通过多种图形选项显示分析数据,包括折线图、热图和条形图。当监控的指标超过预定义的阈值时,您可以收到警报。主要功能包括:警报:警报可以通过不同的渠道获得,包括短信、电子邮件、Slack或PagerDuty。如果您更喜欢其他通信渠道,您可以使用一些代码创建自己的通知程序。仪表板模板:模板允许您创建可重复用于多种使用场景的仪表板。例如,您可以对生产和测试服务器使用相同的仪表板。配置:Grafana中的所有内容都可以使用脚本自动化。例如,Grafana和新的Kubernetes集群可以使用带有IP地址、服务器和数据源预设的脚本自动启动。注:适用于发生错误时的数据关联。可以通过向图形添加文本来手动创建注释,或者可以从任何数据源获取数据。2.cAdvisorccAdvisor收集、处理和导出运行容器的性能和资源使用信息。cAdvisor直接支持Kubernetes,因为它集成到Kubelet二进制文件中。主要功能包括:自动发现:自动发现节点中的所有容器并收集统计信息,包括内存、CPU、网络和文件系统使用情况。存储插件:将统计数据导出到不同的存储插件,例如Elasticsearch和InfluxDB。Overallmachineusage:通过分析机器上的“root”容器提供整体机器使用情况。Web-UI:可以在Web-UI上查看显示有关机器上所有容器的实时信息的指标。3、FluentdFluentd将数据源与后台系统分离,在两者之间提供统一的日志层。日志记录层使您能够收集生成的多种类型的日志。主要功能包括:JSON数据结构:使您能够统一日志数据处理的所有方面,例如跨不同数据源的缓冲、过滤和输出日志。可插入架构:灵活的插件系统允许您通过连接多个数据源和输出来扩展Fluentd的功能。系统资源:Fluentd实例运行在30MB到40MB的内存上,每秒可以处理13,000个事件。如果需要更多内存,可以使用FluentBit轻量级转发器。可靠性:支持文件缓冲和内存缓冲,防止节点数据丢失。此外,可以设置Fluentd以支持高可用性和可靠的故障转移。4.JaegerJaeger是一个开源工具,用于监控Kubernetes等分布式服务之间的流量。Jaeger使用分布式跟踪通过不同的微服务来跟踪服务请求的路径。然后,您可以可视化请求流。分布式跟踪是一种管理和观察作为服务网格一部分运行的微服务的方法。主要特性包括:高可扩展性:专为消除单点故障(SPOF)而设计,可根据业务需求进行扩展。多种存储选项:支持两种开源NoSQL数据库Elasticsearch和Cassandra。Jaeger还为测试提供了简单的内存存储。云原生部署:支持不同的配置方式,包括环境变量、命令行选项和配置文件。Kubernetes模板、KubernetesOperators和Helm图表支持Kubernetes部署。监控:Jaeger后端组件默认公开Prometheus指标和日志。5.TelepresenceTelepresence是一种开源工具,可以在本地运行时将单个服务连接到远程Kubernetes集群。Telepresence在pod中部署了一个双向网络代理,为Kubernetes环境收集数据,包括TCP连接、环境变量和卷。主要特性包括:兼容性:使用OS原生软件包,可以在Linux和MacOS上运行。开发工作流:为您提供在Kubernetes上进行多容器应用开发的快速开发工作流。您可以运行本地Docker容器并将其用作集群的代理。在本地调试Kubernetes服务:当staging集群出现错误时,您希望在本地运行服务。Telepresence使您能够在本地调试服务。连接到远程Kubernetes集群:可以从本地进程访问远程集群。此访问权限允许您使用笔记本电脑上的本地工具与集群内的进程进行通信。6.ZabbixZabbix旨在监控大量网络参数和服务器健康状况,并提供许多基于存储数据的数据可视化和报告功能。服务器很少的小型公司和服务器很多的大型企业都可以使用Zabbix来监控IT基础设施。主要功能包括:灵活的阈值:您可以定义灵活的问题阈值(又名触发器)。这些触发器基于来自后端数据库的值。实时可视化:您可以使用内置的绘图功能即时查看监控对象。Autodiscovery:提供了几种自动管理大型环境(如Kubernetes)的方法。您可以自动添加和删除组织中的文件系统和网络接口。网络发现:使您能够定期扫描网络,查找外部服务或Zabbix代理,并在找到时采取预定义的操作。分布式监控:提供一种使用Zabbix代理监控分布式基础设施的有效方法。您可以使用代理在本地收集数据,然后将数据报告给服务器。原标题:6个KubernetesPrometheusAlternatives,作者:LimorWainstein