监控与日志

本文详细介绍了Kubernetes中的监控系统,包括资源、性能、安全和事件监控,重点讲解了MetricsServer的结构和Prometheus的使用。同时涵盖了日志管理的场景、采集方法,以及kube-eventer在事件处理中的作用。
摘要由CSDN通过智能技术生成

一、监控

1、监控类型

从监控类型上划分,在 K8s 中可以分成四个不同的类型:

资源监控:这种监控主要关注于基础资源的使用情况,例如 CPU、内存、网络等。通常使用数值或百分比等单位来统计,可以通过 Zabbix、Telegraf 等项目实现。

性能监控:性能监控指的是对应用程序性能的监控,常见的是 APM(应用性能管理)监控。

安全监控:安全监控主要关注安全策略的执行情况,例如越权管理、安全漏洞扫描等。通过监控安全事件并及时响应,确保系统的安全性。

事件监控:K8s 中的事件监控是一种特殊的监控方式,基于状态机的状态转换产生事件。当从正常状态转换到异常状态时,会发出警告事件。

2、监控采集组件 metrics-server

Metrics Server 的结构大致为:

① Core 层:包括了数据的采集、处理和聚合等功能。

② Source 层:是 Metrics Server 的数据来源定义和管理层,负责管理不同数据源之间的交互和整合。

③ API 层:这是 Metrics Server 向外部提供服务的接口层,用户可以通过这些 API 端点查询和检索集群中的资源使用情况数据。

④ API Registration 层:这一层的作用是将 Metrics Server 的 API 注册到 Kubernetes API Server 上,用户可以直接通过 Kubernetes API Server 访问 Metrics Server 提供的 API。

3、常用的开源监控方案

Prometheus

(1) 简介:Prometheus 是一款完全开源的监控和警报工具,其代码以 Apache 许可证的形式发布,它是开源社区中一个受欢迎和广泛采用的监控解决方案。

(2) 三种数据采集链路:

① Push 方式:在 Push 方式中,被监控的服务或应用程序主动推送指标数据到 Prometheus 服务器。

② Pull 方式:在 Pull 方式中,Prometheus 服务器定期从被监控的服务或应用程序拉取指标数据。

③ Prometheus on Prometheus:通过一个 Prometheus 来去同步数据到另一个 Prometheus。

kube-eventer

kube-eventer 是一个用于 Kubernetes 的事件离线工具,用于提取集群中的事件数据并将其保存到外部存储中,如文件系统或数据库。kube-eventer还支持监控和警报功能,能够及时发现和解决事件处理过程中的异常情况。

二、日志

1、日志的场景:

主机内核的日志:用于诊断网络栈异常、驱动异常、文件系统异常等问题,帮助开发者解决影响节点稳定性的异常情况。

② Runtime的日志(如Docker):用于排查 Pod 状态无响应等问题,帮助管理员维护和管理容器化环境的稳定性。

核心组件的日志(如APIServer、Scheduler、etcd和Ingress):用于审计、调度、存储状态和流量分析等关键任务,帮助监控和诊断整个Kubernetes集群的状态和健康状况。

部署应用的日志:用于查看业务层的状态和诊断异常。

2、日志的采集:

根据日志采集位置的不同,可以将其划分为三种情况:

宿主机文件:日志文件位于宿主机上,容器通过卷挂载(volume)将日志写入宿主机。使用宿主机上的日志轮转策略,通过宿主机上的代理(agent)进行采集。

容器内日志文件:日志文件位于容器内部,通常采用 Sidecar 容器来将日志写入 stdout,然后再通过容器本地的日志轮转策略,以及外部的代理进行采集。

直接写入 stdout:日志直接输出到 stdout,采集策略包括直接由代理采集到远程位置,或者通过标准 API 采集到远程位置

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值