监控与日志

一、监控

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 显示系统框架

一.FrameBuffer FrameBuffer 介绍: FrameBuffer中文译名为帧缓冲驱动,它是出现在2.2.xx内核中的一种驱动程序接口。主设备号为29,次设备号递增。 Linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。FrameBuffer机制模仿显卡的功能…

github用法详解

本文是一篇面向全体小白的文章,图文兼备。为了让小白们知道如何使用GitHub,我努力将本文写得通俗易懂,尽量让刚刚上网的小白也能明白。所以各位程序员们都可以滑走了~ 啥是GitHub? 百度百科会告诉你, GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为…

可以用来测试的接口

实际开发过程中,我们可以通过postman工具来测试接口 get请求 https://api.github.com/events?id1&nameuser post请求 http://httpbin.org/post 参数1:key1value1 参数2:key2value2

2023年NOC大赛软件创意编程(学而思)赛道图形化小高组复赛试题

目录 第一题 闪烁的星星 第二题 聚沙成塔 第三题 画十字

力扣刷题:100.相同的树

题目: 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p [1,2,3], q [1,2,3] 输出&#xff…

【JavaScript 漫游】【027】表单事件简记

文章简介 本篇文章为【JavaScript 漫游】专栏的第 026 篇文章&#xff0c;对 JavaScript 中的表单事件进行了简单记录。 input 事件 input 事件当 <input>、<select>、<textarea> 的值发生变化时触发。对于复选框&#xff08;<input typecheckbox>&…

百度搜索引擎SEO优化方法

随着互联网的不断发展&#xff0c;搜索引擎已经成为人们获取信息、产品和服务的主要途径之一。而在中国&#xff0c;百度作为最大的搜索引擎&#xff0c;其影响力不可忽视。了解并掌握百度SEO关键词优化方法&#xff0c;对于提升网站在搜索引擎中的排名至关重要。 关键词选择&a…

【硬件工程师面经整理12_逆变器篇】

文章目录 逆变器1.1 半桥逆变&#xff08;half-bridge inverter&#xff09;电路1.2 全桥逆变&#xff08;H-bridge inverter&#xff09;1.3 H桥电路结构&#xff0c;用的是什么管子&#xff0c;有没有出现问题&#xff0c;怎么解决的 逆变器 逆变电路的基本工作原理 单相桥…

双周回顾#005 - 零

一件悲伤的事实&#xff0c;这两周&#xff0c;成长值为零&#xff5e;&#xff5e; 从大数据部门临时抽调到互联网部门&#xff0c;支援重构的“配置下单”项目。 一个变种的低代码架构设计&#xff0c;唯一比较有意思的是它的业务组件的设计与校验设计&#xff0c;算是学习…

数据结构测试题

目录 1.闰年判断 2.志愿者选拔 3.单词接龙 4.对称二叉树 5.英雄南昌欢迎您 6.时间转换 7.矩阵乘法 8. Huffuman树 1.闰年判断 题目描述&#xff1a; 给定一个年份&#xff0c;判断这一年是不是闰年。 当以下情况之一满足时&#xff0c;这一年是闰年&#xff1a; 1. 年…

VMwareWorkstation17.0搭建Windows98微软操作系统虚拟机(完整安装步骤·全网最详细图文教程)更新中

VMwareWorkstation17.0搭建Windows98微软操作系统虚拟机&#xff08;完整安装步骤全网最详细图文教程&#xff09; VMwareWorkstation17.0搭建Windows98微软操作系统虚拟机&#xff08;完整安装步骤全网最详细图文教程&#xff09;

使用mysqld --install命令时出现MSVCR120.dll文件丢失错误

Visual C 2013 and Visual C Redistributable Package https://support.microsoft.com/en-us/help/3179560/update-for-visual-c-2013-and-visual-c-redistributable-package 进去之后先找到自己的版本&#xff0c;x64还是x86&#xff0c;下载 vcredit &#xff0c;进行安装即…

Mybatis | 动态SQL

目录: 动态SQL中的 “元素” :\<if>元素\<choose>、\<when>、\<otherwise>元素\<where>、\<trim>元素\<set>元素\<foreach>元素\<bind>元素 作者简介 &#xff1a;一只大皮卡丘&#xff0c;计算机专业学生&#xff0c;正…

编写dockerfile挂载卷

编写dockerfile文件 [rootwq docker-test-volume]# vim dockerfile1 [rootwq docker-test-volume]# cat dockerfile1 FROM centosVOLUME ["volume01","volume02"]CMD echo "------end------" CMD /bin/bash [rootwq docker-test-volume]#使用do…

使用Spark探索数据

需求分析 使用Spark来探索数据是一种高效处理大规模数据的方法&#xff0c;需要对数据进行加载、清洗和转换&#xff0c;选择合适的Spark组件进行数据处理和分析。需求分析包括确定数据分析的目的和问题、选择合适的Spark应用程序和算法、优化数据处理流程和性能、可视化和解释…

Qt 简约又简单的加载动画 第七季 音量柱风格

今天和大家分享两个音量柱风格的加载动画,这次的加载动画的最大特点就是简单,只有几行代码. 效果如下: 一共三个文件,可以直接编译运行 //main.cpp #include "LoadingAnimWidget.h" #include <QApplication> #include <QGridLayout> int main(int argc…

【一竞技】DOTA2-梦幻联赛S22:XG战队 2-1击败 Spirit

在3月1日晚上进行的梦幻联赛第二阶段小组赛上,XG 战队以2-1 击败Spirit战队。双方对阵第三场决胜局:XG前中期优势,冰连续控盾压制最终拿下了比赛胜利,以下是对决战报。 XG战队在天辉,阵容是小狗、火女、人马、墨客、凤凰。Spirit战队在夜魇,阵容是斯温、火枪、龙骑、白虎、飞机…

14.最长公共前缀

题目&#xff1a;编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串""。 解题思路&#xff1a;横向扫描&#xff0c;依次遍历每个字符串&#xff0c;更新最长公共前缀。另一种方法是纵向扫描。纵向扫描时&#xff0c;从前…

Windows命令行工具和PowerShell介绍

Windows命令行工具和PowerShell是两种不同的文本界面命令解释器&#xff0c;它们在Windows操作系统中用于执行各种操作和管理任务。虽然它们都可以用于执行命令和脚本&#xff0c;但它们之间存在着一些区别和特点。 1. Windows命令行工具&#xff08;Cmd.exe&#xff09; …

Flutter开发之CupertinoApp

Flutter开发之CupertinoApp 最近由于使用Flutter编程更多&#xff0c;使用Flutter更顺手&#xff0c;相对于其他前端框架来说&#xff0c;Flutter在跨平台、响应式UI、自绘引擎、即插即用的组件和庞大的社区生态支持方面有更大的优势&#xff1b;Flutter拥有更低的学习成本&am…