监控Kubernetes的最佳实践、工具和方法

译文
开发 云原生
本文探讨了市面上的一些 Kubernetes 监控和 Kubernetes日志工具,包括用于监控的Prometheus 以及用于可视化和仪表板的 Grafana。

作者 | Kyle Hunter

翻译 | 布加迪

在 Kubernetes 环境中,应用程序跨集群内的多个节点运行,应用程序服务可能分布在多个集群和多个云中,因此跟踪应用程序及其依赖的基础架构的健康状况困难重重。

Kubernetes 监控是从您运行的 Kubernetes 集群收集度量指标,以识别关键事件,并确保所有硬件、软件和应用程序按预期运行。在一个地方汇总指标将帮助您了解和保护整个 Kubernetes 集群以及在上面运行的应用程序和服务的健康状况。

鉴于容器化和 Kubernetes 创建抽象层,加上 K8s 环境中运行的应用程序具有动态性,监控一切可能是个挑战。幸好有许多开源 Kubernetes 监控工具以及流行的商业工具,简化监控工作。

本文探讨了市面上的一些 Kubernetes 监控和 Kubernetes日志工具,包括用于监控的Prometheus 以及用于可视化和仪表板的 Grafana。

用于日志和监控的Kubernetes生态系统工具

有众多流行的工具可以改进 Kubernetes容器监控工作。一些最常见的工具包括如下:

•Prometheus(https://prometheus.io/docs/introduction/overview/):一种开源事件监控和警报工具,可收集指标并存储为时间序列数据。Prometheus 于 2016 年加入了云原生计算基金会,成为继 Kubernetes 之后的第二个托管项目。

•Grafana(http://grafana.com/):一个完全托管的应用程序和基础架构可视化平台,可与Prometheus等监控软件配合使用。Grafana提供了数据收集、存储、显示和警报等功能。

•Thanos(https://thanos.io/):一种度量系统,提供了一种简单且经济高效的方式来集中和扩展基于Prometheus的监控系统。

•Elasticsearch(https://www.elastic.co/elasticsearch/):一种分布式的、基于JSON的搜索和分析引擎。

•Logstash(https://www.elastic.co/logstash/):一种开源服务器端数据处理管道,可同时从多个来源获取数据,对其进行转换,然后发送到您青睐的存储区。

•Kiban(https://www.elastic.co/kibana/)a:一种数据可视化和探索工具,可用于日志和时间序列分析、应用程序监控和运营智能等使用场景。

应该选择哪些Kubernetes监控工具?

许多团队单独或组合使用这些监控和日志记录工具,以创建自己的解决方案,并满足特定的容器监控和Kubernetes应用程序监控需求。最常用的组合工具之一是Prometheus和Grafana。Prometheus让您可以从硬件和软件收集时间序列数据,而Grafana让您可以直观显示Prometheus收集的数据。

另一个流行的组合工具是Elasticsearch、Logstash和Kibana,通常名为ELK堆栈或 Elastic Stack,它们都可以通过Elastic(https://www.elastic.co/)获得。虽然Elastic本身是一家营利性公司,但这些组件是免费开源的。

实施上述任何工具,无论是单独实施还是组合实施,都必然会带来一定的复杂性,尤其是当Kubernetes环境扩大到含有诸多集群时——可能在不同的云环境中运行不同的K8s发行版。

由于应用程序导入问题、手动配置要求和配置漂移,大规模管理Prometheus配置可能成为一项挑战。虽然Prometheus和Grafana可以很好地协同用于单个集群,但在多集群环境下,可能需要将Thanos添加到工具集中,以便聚合数据,并提供长期存储和全局视图。不过可能会在数据保留和高可用性方面面临限制,因此一些人更青睐ELK堆栈。

由于这种复杂性,许多组织更喜欢监控即服务,使用Datadog、Cloudwatch和New Relic之类的商业解决方案。

 

原文标题:Best Practices, Tools, and Approaches for Kubernetes Monitoring,作者:Kyle Hunter

链接:https://dzone.com/articles/best-practices-tools-and-approaches-for-kubernetes

责任编辑:薛彦泽 来源: 51CTO
相关推荐

2011-09-01 14:36:38

敏捷

2020-06-10 09:57:23

Kubernetes日志容器

2023-11-07 07:08:57

2022-07-26 08:00:00

测试工具回归测试软件功能

2021-03-11 14:33:28

Kubernetes开源容器

2011-12-01 15:54:56

机房环境数据中心

2014-08-19 10:06:53

IAP

2024-01-22 12:46:00

KubernetesAPI接口

2022-11-24 09:55:12

Kubernetes监控

2017-10-20 08:25:10

数据收集工具数据源

2009-07-01 17:44:46

Servlet和JSP

2017-06-13 16:07:21

开源网络监控服务器

2022-02-25 11:51:11

KubeScrape开源监控工具

2015-02-02 10:16:39

网络监控监控工具

2022-05-26 11:11:19

Kubernetes容器云安全

2023-08-20 16:51:28

Kubernetes开源工具

2020-10-30 20:50:24

Kubernetes容器工具

2020-11-12 10:40:37

Kubernetes日志运维

2023-06-09 19:01:03

软件开发

2013-08-12 09:45:06

最佳编程方法编程方法编程
点赞
收藏

51CTO技术栈公众号