十大Kubernetes开源监控工具
2019/11/1 9:47:50

在本文中,我们将通过优缺点的比较,向您介绍十大流行的Kubernetes开源监控工具。
如今,Kubernetes在GitHub上已经拥有了超过58000万颗点赞之星,而且它在全球范围内有着2200多名在册的贡献者。可以说,它已然成为了容器编排方面的实际标准。不过,在解决并运行分布式微服务应用的过程中,它时常也会面临一些严峻的挑战。其中,广为开发与运维人员所提及的挑战之一便是:对于Kubernetes的监控问题。面对复杂的分布式环境,大家往往需要通过开发各种开源的监控方案,以满足实际应用的需求。
当前,在Kubernetes生态系统及其社区中,有着林林总总的Kubernetes工具。它们中有的能够通过日志来辅助检测状态;有的则是一种数据收集器;而另一些则提供了操作Kubernetes的界面。有些是Kubernetes原生的,有些则是开发人员自行研发的。在本文中,我们将通过优缺点的比较,向您介绍十大流行的Kubernetes开源监控工具。
Prometheus
优点:Kubernetes原生,易于使用,拥有庞大的社区。
缺点:可扩展性与存储能力不强。
由于具有与大量数据源的集成能力,因此Grafana在业界备受欢迎。同时,强大的Grafana具有警报、注释、过滤、特定数据源查询、可视化仪表板、身份验证与授权、以及跨组织协作等多种功能。
优点:拥有大型生态系统,以及丰富的可视化与警报功能。
缺点:未能针对Kubernetes的日志管理进行优化。
ELK(ala Elastic Stack)
就Kubernetes的日志而言,最受欢迎的开源解决方案当属ELK Stack。ELK是Elasticsearch、Logstash和Kibana的首字母缩写,其实它包含了第四个组件:Beats。它们都属于轻量级的数据传送器。虽然堆栈中的每一个组件都仅负责日志管道中的不同阶段,但是它们组合在一起,却能为Kubernetes提供了一个全面而强大的日志解决方案。
其中,Logstash管道能够在发送日志并对其进行存储之前,完成数据的汇总和处理。具有可扩展性的Elasticsearch,即使在存储和搜索数百万个文档时,也能具有不俗的表现。其对应的Kibana平台,则能够出色地为用户提供分析数据所需的可视化界面。
堆栈中所有不同的组件都可以被轻松部署到Kubernetes环境之中。您可以使用各种部署配置、以及helm图表,将不同的组件作为pod予以运行。通过部署,我们可以将Metricbeat和Filebeat作为守护进程的采集器,将Kubernetes的元数据附加到对应的文档中。
优点:拥有庞大的社区,易于在Kubernetes中部署与使用,具有丰富的分析功能。
缺点:扩展起来较为麻烦。
Fluentd/Fluent Bit
Fluentd在Logstash的基础上进行了相关性能的改进,因此也广受Kubernetes用户的欢迎。在工具设计方面,Fluentd拥有出色的性能、可扩展性和可靠性。各种简单方便的输入与输出,并不会对其性能产生任何影响。针对处理传输中的故障、以及数据过载问题,Fluentd使用磁盘或内存来进行缓冲和队列。同时,Fluentd通过支持多种配置选项,以确保提供更为灵活的数据管道。
Kubernetes原生的Fluentd和Fluent Bit都隶属于CNCF项目。它们不但可以与Kubernetes无缝集成,而且能够在仅占用少量资源的情况下,使用相关的pod和容器元数据来丰富各类数据。
优点:具有庞大的插件生态系统,提供优异的性能与可靠性。
缺点:配置较为麻烦。
cAdvisor(https://github.com/google/cadvisor)
作为一款开源的代理工具,cAdvisor能够通过收集、处理和导出数据,来展示那些正在运行的容器性能,及其资源使用情况。它能够以Kubelet二进制文件的形式,被内置集成到Kubernetes之中。
与其他代理工具不同,cAdvisor并不是被部署在每个pod中,而是在节点级别上。它能够自动发现计算机上所有正在运行的容器,并收集到诸如内存、CPU等系统网络指标。
作为一款基础性的本地开源监视工具,

下一页
返回列表
返回首页
©2024 人工智能世界_专注人工智能领域,汇集人工智能技术资料 电脑版
Powered by iwms