监控与日志

一、监控

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 采集到远程位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/504865.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3项目中如何一个vue组件中的一个div里面的图片铺满整个屏幕样式如何设置

在Vue 3项目中,要使一个div内的图片铺满整个屏幕,你需要确保几个关键点:div元素和图片元素的样式设置正确,以及确保它们能够覆盖整个视口(viewport)。以下是一个简单的步骤和代码示例,帮助你实现…

水电表远程集中抄表管理系统

水电表远程集中抄表管理系统是当前水电行业智能化发展的关键技术之一,为水电企业和用户提供了便捷、高效的抄表管理解决方案。该系统结合了远程监控、自动抄表、数据分析等多种功能,实现了水电抄表的智能化和精准化,为用户节省了大量人力物力…

效率真高!众安保险数据分析岗(实习)面试通过了,分享一下面试经验!

最近,我们社群组织了一场技术&面试讨论会,邀请了一些互联网大厂同学、参加社招和校招面试的同学,针对新手如何入门数据分析、机器学习算法、该如何备战、面试常考点分享等热门话题进行了深入的讨论。 基于社群的讨论,今天我整…

Maven高级(黑马学习笔记)

Maven 是一款构建和管理 Java 项目的工具。 分模块设计与开发 介绍 所谓分模块设计,顾名思义指的就是我们在设计一个 Java 项目的时候,将一个 Java 项目拆分成多个模块进行开发。 1). 未分模块设计的问题 如果项目不分模块,也就意味着所有…

selenium爬虫

方法选择和安装包 在动态网页并且登陆过程中不需要进行过于复杂的密码验证的时候使用selenium会非常的方便 安装准备过程也相对简单: 下载对应版本的chromedriver并且通过如下代码找到路径下载到python所在的目录: import sysprint(sys.executable) …

xsslabs第四关

测试 "onclick"alert(1) 这与第三关的代码是一样的&#xff0c;但是每一关考的点是不一样的所以我们看一下源代码 <!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv"content-type" content"text/html;ch…

【C++ AVL树】

文章目录 AVL树AVL树的概念AVL树节点的定义AVL树的插入AVL树的旋转右单旋左单旋左右双旋右左双旋 代码实现 总结 AVL树 AVL树的概念 二叉搜索树在顺序有序或接近有序的情况下&#xff0c;而插入搜索树将退化为单叉树&#xff0c;此时查找的时间复杂度为O(n)&#xff0c;效率低…

SSM框架,SpringMVC框架的学习(上)

SpringMVC介绍 Spring Web MVC是基于Servlet API构建的原始Web框架&#xff0c;从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff08; spring-webmvc &#xff09;&#xff0c;但它通常被称为“Spring MVC”。 SpringMVC涉及组件 …

vue项目导出excel ,文件过大导致请求超时的处理方法

一、因为文件过大&#xff0c;请求时间较长&#xff0c;就会产生请求超时的情况&#xff0c;处理方式是可以分为三个接口&#xff0c;接口1用来获取id值&#xff0c;接口2利用id值发起请求&#xff0c;询问是否准备好下载&#xff0c;如果没准备好&#xff0c;则没隔一秒再次发…

Java基于SpringBoot的企业客户管理系统的设计与实现论文

摘 要 本论文主要论述了如何使用JAVA语言开发一个企业客户管理系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述企业客户管理系统的当前背景以及系统开发的…

【DDD】学习笔记-聚合和聚合根:怎样设计聚合?

今天我们来学习聚合&#xff08;Aggregate&#xff09;和聚合根&#xff08;AggregateRoot&#xff09;。 我们先回顾下上一讲&#xff0c;在事件风暴中&#xff0c;我们会根据一些业务操作和行为找出实体&#xff08;Entity&#xff09;或值对象&#xff08;ValueObject&…

【SpringBoot】mybaitsPlus的多数据源配置

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;SpringBoot ⛺️稳重求进&#xff0c;晒太阳 mybatisPlus的多数据源配置 适用于多种场景&#xff1a;纯粹多库、 读写分离、 一主多从、 混合模式等 目前我们就来模拟一个纯粹多…