关于kubernetes:简单有效全面的Kubernetes监控方案

简介:近年来,Kubernetes作为泛滥公司云原生革新的首选容器化编排平台,越来越多的开发和运维工作都围绕Kubernetes开展,保障Kubernetes的稳定性和可用性是最根底的需要,而这其中最外围的就是如何无效地监控Kubernetes集群,保障整个集群的一个良好的可察看性。本期将为大家介绍Kubernetes的监控计划。

前言

近年来,Kubernetes作为泛滥公司云原生革新的首选容器化编排平台,越来越多的开发和运维工作都围绕Kubernetes开展,保障Kubernetes的稳定性和可用性是最根底的需要,而这其中最外围的就是如何无效地监控Kubernetes集群,保障整个集群的一个良好的可察看性。本期将为大家介绍Kubernetes的监控计划。

监控计划指标

目前存在多套的Kubernetes监控计划,但理论施行起来可能会遇到很多问题,例如计划部署难、监控指标不准、没有适合的大盘、不晓得哪些指标须要哪些不须要、数据太多很卡等等。其实这些问题的实质上还是因为Kubernetes的架构绝对规范的虚拟机/物理机的形式要简单很多,而面对简单零碎,就须要咱们去做十分多的工作,例如:

  • 明确监控指标:K8s外部的各类零碎组件:APIServer、ETCD、Scheduler、Controller Manager、Kubelet等;K8s底层,例如虚拟机、物理机的监控;K8s之上的业务/进口等
  • 相干监控数据采集:例如部署kube-state-metrics采集K8s内资源对象的数据;通过kubelet裸露的prometheus端口拉取运行的Pod、容器指标;通过service端口采集APIServer、ETCD、Scheduler等组件的指标
  • 后端建设:搭建数据存储、可视化、告警等后端服务
  • 内容建设:配置监控大盘、问题排查教训、每个组件监控的黄金指标、告警模板等
  • 计划稳定性建设:包含数据采集、存储、可视化、告警等服务的品质监控和保护

SLS全栈监控计划

SLS作为阿里可观测性数据引擎,具备可观测数据日志、指标、分布式链路追踪、事件等的一站式采集和存储。为了便于用户疾速接入和监控业务零碎,SLS提供了全栈监控的APP,将各类监控数据汇总到一个实例中进行对立的治理和监控。全栈监控基于SLS的监控数据采集、存储、剖析、可视化、告警、AIOps等能力构建,具体性能如下:

  • 实时监控各类零碎,包含主机监控、Kubernetes监控、数据库监控、中间件监控等。
  • 反对ECS、K8s一键装置,反对图形化的监控配置管理,无需登录主机配置采集监控项。
  • 运维老司机多年教训的报表总结,包含资源总览、水位监控、热点剖析、具体指标等数十个报表。
  • 反对自定义的剖析,反对包含PromQL、SQL92等多种剖析语法。
  • 反对对接AIOps指标巡检,利用机器学习技术主动发现异常指标。
  • 反对自定义告警配置,告警告诉间接对接音讯核心、短信、邮件、语音(电话)、钉钉,并反对对接自定义WebHook。

Kubernetes监控最佳实际

SLS全栈监控曾经内置了对于Kubernetes监控的反对,并且解决了十分多的Kubernetes监控的痛点需要,例如:

  • 部署简略,只须要一条命令就能够部署残缺的Kubernetes监控计划
  • 应用简略,内置了多种Kubernetes以及上下游相干的监控报表,开箱即用
  • 运维简略,所有的监控数据、报表、告警等后端都是云化,只须要按量付费即可,无需去运维监控的实例
  • 覆盖面全,监控范畴包含Kubernetes中的各种内置组件,也包含相关联的主机、中间件、数据库等监控

部署

SLS全栈监控的Kubernetes部署形式绝对比较简单,只须要依照接入页面中的提醒,装置AliyunLogConfig自定义资源和监控组件,两个装置步骤只须要执行两个命令即可。

相干参考(1. 创立全栈监控实例;2. 创立Kubernetes监控)

应用

Kubernetes监控部署结束后就会主动部署采集Agent并采集监控数据到云端,默认采集的监控数据有:

  • Kubernetes零碎的元数据信息,例如节点、Pod、Deployment等配置信息
  • Kubernetes零碎组件的监控数据,包含APIServer、ETCD、Kubelet等
  • Kubernetes上运行的Deployment、StatefullSet、DaemonSet、Pod、容器指标信息
  • 节点的根底指标,例如节点CPU、内存、网络、磁盘IO等

数据采集到云端后,SLS全栈监控会默认提供一系列的Dashboard模板,包含集群级、利用级(Deployment、StatefullSet、DaemonSet等)、Pod级各类指标,绝大部分场景的监控只须要应用内置的Dashboard大盘即可,内置大盘次要有:


1-集群级监控实际

在K8s迭代了数十个版本后,集群自身的稳定性个别不须要关怀,绝大部分状况下,都是应用的不合理影响了集群的稳定性。通常状况下,集群级别监控只须要关注集群中运行的利用数量变动以及相干的水位变动。这里最常见的是应用《资源总览》、《水位监控》和《运行时监控》。其中

  • 资源总览中可能查看每个资源的总数以及和前一天相比的变动状况,用来监控是否有一些疾速变动的资源呈现
  • 水位监控中次要显示集群中可能申请的Pod、CPU、内存资源以及以后的申请率信息,避免达到水位下限
  • 运行时监控中次要显示集群中的Deployment、StatefullSet、Pod、Container的变动状况



2-零碎组件监控实际

同样,K8s的零碎组件监控,通常只须要关怀其中应用局部的不合理即可,因而只须要查看其中APIServer和ETCD的局部,避免有十分多的额定资源和拜访导致APIServer或ETCD申请过慢。

3-利用根底指标监控

全栈监控默认提供了Node、Pod、Deployment、DaemonSet、StatefullSet的根底指标监控,所有这些资源都包含列表的Overview指标以及详情的Detail指标,而且各个相关联的资源还反对跳转关系,例如:所有的列表反对跳转到详情的Detail指标、Node中反对关联运行的Pod指标、Deployment/DaemonSet/StatefullSet反对跳转关联Pod。

4-热点监控

热点监控次要辅助咱们疾速找到“离群”的机器,避免因为局部机器成为热点,导致该机器上利用响应变慢,以至于影响整个集群的性能。在找到热点机器后,还能够通过改机器的IP,跳转到对应Node的具体指标中,查看热点具体是由该节点上哪个Pod引起。

小结

本文次要关注在Kubernetes的监控计划上(如何接入可参考《全栈监控阐明》),从监控的问题发现到定位其实还有很多的工作须要做,还须要更多的可观测性数据来撑持,后续咱们会介绍,如何利用多种可观测数据来帮助排查和定位Kubernetes中的各类问题,敬请期待。

原文链接
本文为阿里云原创内容,未经容许不得转载。

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据