普罗米修斯(Prometheus),不要走:用于Kubernetes的6种替代监视工具



监视有助于确保Kubernetes应用程序的平稳运行,并进一步解决其运行过程中可能出现的任何问题。

例如,它允许您随时查找多少内存,当前可用的磁盘空间以及如何积极使用CPU,以了解容器之间的资源分配以及集群中运行的应用程序的状态。 Prometheus通常用于这些目的,在本文中,我们将考虑针对Kubernetes的六个替代监视工具。

Prometheus是一种流行的开源监视工具,许多公司都使用它来监视其IT基础结构。 Prometheus最初是在SoundCloud上开发的,用于收集多维数据和查询。 Prometheus服务器具有自己的独立单元,独立于网络存储或外部服务。因此,部署其他基础结构或软件不需要太多工作。

Prometheus的主要优点是它与Kubernetes以及许多可用的导出器和客户端库的紧密集成,以及快速的查询语言和API。Prometheus的主要缺点是缺乏加密和具有基于密钥的度量标准的标准数据模型,这可能与第三方系统的模型不一致。在这种情况下,您需要使用导出程序来转换指标。Prometheus使用Pull模型处理数据,即,它轮询端点以获取数据。

但是,还有许多其他工具可以考虑使用。

替代监控工具


这些工具(例如Prometheus)可以与Kubernetes结合使用。它们每个都有其优点和缺点。

1. Grafana




Grafana是用于可视化,监视和分析指标的开源平台。Grafana专门从事时间序列分析。她可以以折线图,热图和直方图的形式可视化监视工作的结果。当跟踪的指标超过设置的阈值时,您将收到警报。

主要特点:

  • 警报。您可以通过各种渠道接收警报,包括SMS,电子邮件,Slack或PagerDuty。如果您喜欢其他选项,则可以通过编写少量代码来手动添加自己的警报。
  • . () . , .
  • . Grafana . , Grafana Kubernetes , IP-, .
  • 注解。如果出现问题,您可以对来自不同仪表板和来源的事件进行时间匹配,以分析故障原因。您可以通过向图形的必要点和片段添加注释来手动创建注释。在图形上,注释显示为垂直的红线。将鼠标悬停在注释上时,可以获得事件的描述,例如,有关服务器响应或系统重启的信息。

2.顾问




cAdvisor收集,处理和导出运行中的容器的性能和资源利用率信息。cAdvisor具有内置的Kubernetes支持,因为它已集成到Kubelet(在节点上运行的代理)中。

主要特点:

  • . , , CPU, .
  • . , Elasticsearch InfluxDB.
  • -. -, .

* , cAdvisor , Kubernetes.

3. Fluentd




Fluentd将数据源与后端系统分开,从而提供了一个集中式日志记录。这使您可以收集和转换来自以不同语言编写的不同应用程序的日志。Fluentd将来自多个来源的数据转换为JSON格式。

主要特点:

  • 使用JSON格式。使您可以在缓冲,过滤和传输阶段统一处理日志数据。
  • 可扩展的体系结构。灵活的插件系统使您可以通过连接多个数据源和输出来扩展Fluentd的功能。
  • . Fluentd 30-40 . 13 000 . , - Fluent Bit.
  • . , . , Fluentd , .

4. Jaeger




Jaeger是用Go语言编写的后端。他从事痕迹的收集,存储,分析和显示。Jaeger使用分布式跟踪来跟踪通过各种微服务的请求路径。该工具使您可以直观地查询流。分布式跟踪是一种管理和监视微服务的方法。首先是“集成”到服务网格中。

主要特点:

  • 高扩展性。使您能够解决单点故障(SPOF)问题并进行扩展以满足您的业务需求。
  • 支持多个存储库。它支持两个开源NoSQL数据库,Elasticsearch和Cassandra。为了进行测试,Jaeger还提供了一个简单的内存存储。
  • 云部署。它支持各种配置方法,包括环境变量,命令行选项和配置文件。使用模板,Kubernetes运算符和Helm图。
  • 监控方式 Jaeger后端组件默认情况下以Prometheus格式提供指标和日志。

5.网真




网真是一个开源工具,可让您创建使用远程Kubernetes集群中的本地容器的“幻想”。网真在炉膛中部署了一个双向网络代理,该代理为Kubernetes环境收集数据,包括TCP连接,环境变量和卷。

主要特点:

  • . Linux, Mac OS, .
  • . , Kubernetes. Docker-, «» .
  • Kubernetes. , , , . Telepresence , .
  • Kubernetes. . , , , .

6. Zabbix




Zabbix旨在监视服务器状态以及大量网络参数,并基于存储的数据提供许多可视化和报告功能。具有少量服务器的小型组织和具有大型,广泛基础结构的大型企业都可以使用Zabbix来监视IT基础结构。

主要特点:

  • 灵活的问题阈值。您可以在触发器中设置问题阈值,该触发器将使用数据库中的值。
  • 实时可视化。您可以使用内置的图形功能立即查看跟踪的数据。
  • . Zabbix . . .
  • . Zabbix .
  • . Zabbix Proxy. , .


Prometheus和内置的警报管理器默认情况下集成到Kubernetes中。但是,如您所见,还有其他监视解决方案至少可以使您补充和改进自己的Kubernetes工具包。



作为广告


VDSina为任何任务提供虚拟和物理服务器,提供大量用于自动安装的操作系统,可以从自己的ISO安装任何操作系统,也可以通过自己设计和日常付款的便捷控制面板进行安装我们还有永恒的服务器;)


All Articles