可观测性:监控与日志|学习笔记

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
云拨测,每月3000次拨测额度
简介: 快速学习可观测性:监控与日志

开发者学堂课程【Kubernetes 入门 可观测性:监控与日志】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/51/detail/1018


可观测性:监控与日志


内容介绍:

一、背景

二、监控

三、日志

四、总结

 

一、背景

监控和日志是大型分布式系统的重要基础设施,监控可以帮助开发者查看系统的运行状态,而日志可以协助问题的排查和诊断。

在 Kubernetes 中,监控和日志属于生态的一部分,并不是核心组件,因此大部分的能力依赖上层的云厂商的适配。Kubernetes 定义了接入的接口标准和规范,任何符合接口标准的组件都可以快速集成。

 

二、监控

1、监控的类型

l 资源监控

CPU、内存、网络等资源类的指怀,吊以效值、日刀比平 LL13P,n0n 方式。

l 性能监控

应用的内部监控,通常是通过 Hook 的机制在虚拟机层、字节码执行层隐式回调,或者在应用层显示注入,获取更深层次的监控指标,常用来应用诊断与调优。

l 安全监控

针对安全进行的一系列监控策略,例如越权管理、安全漏洞扫描等等

l 事件监控

Kubernetes 中一种另类的监控方式,紧密贴合 Kubernetes 的设计理念,

l 补充常规监控方案的缺欠与弊端。

2、Kubernetes 的监控接口标准

通过 APIServer Aggregated API 注册了三种不同的 metrics 接口,将监控的消费能力进行标准化和解耦,从而实现了与社区的融合。

image.png

3、Prometheus-开源社区的监控“标准”

l 简洁强大的接入标准

l 多种数据采集、离线方式

l Kubernetes 的兼容

l 丰富的插件机制与生态

l Prometheus Operator 的助力

 

三、日志

1、日志的场景

l 主机内核的日志:

主机内核日志可以协助开发者诊断例如︰网络栈异常,驱动异常,文件系统异常,影响节点(内核)稳定的异常。

l Runtime 的日志:

最常见的运行时是 Docker,可以通过 Docker 的日志排查例如删除 Pod Hang 等问题。

l 核心组件的日志:

APIServer 日志可以用来审计,Scheduler 日志可以诊断调度,etcd 日志可以查看存储状态,Ingress 日志可以分析接入层流量。

l 部署应用的日志:

可以通过应用日志分析查看业务层的状态,诊断异常

2、日志的采集

从采集位置上划分,需要支持如下三种:

1、宿主机文件

2、容器内文件

3、容器标准/错误输出

3、Fluentd 日志采集方案

l Data Collection

l Data Aggregation& Processing

l lndexing &storage

l Analysis &visualization

 

四、总结

image.png

在 Kubernetes 中,监控和日志属于生态的一部分,并不是核心组件 Kubernetes 定义了接入的接口标准和规范,任何符合接口标准的组件都可以快速集成。

与监控日志紧密相关的四个产品:

l SLS(Log):日志服务

l ARMS(APM):应用的性能监控

l AHAS(Architecture Awareness):架构感知监控

l Cloud Monitor:云监控

metrics-server 把功能做了很多裁剪,会很不方便,会跟及自己的节奏进行发布

npd 增加了很多监控和检测项

在采集层提供了优化的 node-exporter,场景化的 other-exporters

以及针对 GPU 的 GPU-exporter

阿里云容器服务日志体系

image.png

我们可以采集 pod、Kemel、etcdCore 、Components、Docker 的日志,都收集到 SLS 中,通过 数据离线,离线到 ossMax 、Compute 中,在 Opensearch、 E-MapRreduce、 Flink 中实施日志的搜索和消费,可以对接 Grafana 和 DataV 进行数据的采集和消费

l 监控

四种容器场景下常见的监控方式

Kubernetes 监控的演进与接口标准

两种常用的开源监控方案

l 日志

Kubernetes 日志的四种不同场景

Fluentd 日志采集方案

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4天前
|
监控 关系型数据库 MySQL
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
43 3
|
4天前
|
安全 Linux 调度
【后台开发】TinyWebser学习笔记(4)定时器、日志系统(单例模式)、封装互斥锁信号量
【后台开发】TinyWebser学习笔记(4)定时器、日志系统(单例模式)、封装互斥锁信号量
10 1
|
4天前
|
存储 运维 监控
【Docker专栏】Docker日志管理与监控的最佳方法
【5月更文挑战第7天】本文探讨了Docker容器的日志管理与监控,强调其在运维中的重要性。Docker默认使用`json-file`日志驱动,可通过`docker logs`命令查看。建议选择合适日志驱动,配置日志选项,并集成ELK Stack等工具进行高级分析。实时监控、设置警报、分析数据和审计日志是实践关键。最佳实践包括日志数据与容器数据分离、使用日志代理、保护敏感信息及遵守法规。关注新技术以提升系统稳定性和安全性。
【Docker专栏】Docker日志管理与监控的最佳方法
|
4天前
|
监控 安全 数据可视化
中间件应用日志记录和监控
【5月更文挑战第1天】中间件应用日志记录和监控
24 3
中间件应用日志记录和监控
|
4天前
|
Prometheus 监控 Cloud Native
【Go语言专栏】Go语言中的日志记录与监控
【4月更文挑战第30天】Go语言在软件开发和运维中扮演重要角色,提供灵活的日志记录机制和与多种监控工具的集成。内置`log`包支持基本日志记录,而第三方库如`zap`、`zerolog`和`logrus`则扩展了更多功能。监控方面,Go应用可与Prometheus、Grafana、Jaeger等工具配合,实现系统指标收集、可视化和分布式追踪。健康检查通过HTTP端点确保服务可用性。结合日志和监控,能有效提升Go应用的稳定性和性能。
|
4天前
|
存储 监控 关系型数据库
PHP编写的电脑监控软件:用户登录日志记录与分析
使用PHP编写简单但功能强大的电脑监控软件,记录用户登录日志并进行分析。代码示例展示了如何获取并存储用户IP地址和登录时间到数据库,然后进行登录数据的分析,如计算登录频率和常见登录时间。此外,还介绍了如何通过定时任务自动将监控数据提交到网站,以便实时监控用户活动,提升系统安全性和稳定性。
59 0
|
4天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理策略
【4月更文挑战第30天】 在微服务架构日益普及的当下,容器化技术与编排工具如Kubernetes成为了运维领域的重要话题。有效的监控和日志管理对于保障系统的高可用性和故障快速定位至关重要。本文将探讨在Kubernetes环境中实施监控和日志管理的最佳实践,包括选用合适的工具、部署策略以及如何整合这些工具来提供端到端的可见性。我们将重点讨论Prometheus监控解决方案和EFK(Elasticsearch, Fluentd, Kibana)日志管理堆栈,分析其在Kubernetes集群中的应用,并给出优化建议。
|
4天前
|
存储 Prometheus 监控
Flask监控与日志记录:掌握应用运行状况
【4月更文挑战第16天】本文介绍了在Flask应用中实现监控和日志记录的方法,以确保应用稳定性和问题排查。推荐使用Prometheus、Grafana、New Relic或Flask-MonitoringDashboard等工具进行监控,并通过Python的logging模块记录日志。监控集成涉及安装配置工具、添加监控代码,而日志管理则需要集中存储和使用分析工具。安全是关键,要防止未授权访问和数据泄露,避免记录敏感信息。监控和日志记录有助于提升应用性能和用户体验。
|
4天前
|
C++ 索引
【Qt 学习笔记】如何在Qt中打印日志 | qDebug的使用 | Assistant的使用
【Qt 学习笔记】如何在Qt中打印日志 | qDebug的使用 | Assistant的使用
27 0
|
4天前
|
运维 Prometheus 监控
Kubernetes 集群的监控与日志管理实践
【4月更文挑战第8天】在微服务架构日益普及的背景下,容器化技术成为支撑快速迭代和部署的关键。其中,Kubernetes 作为容器编排的事实标准,承载着服务的稳定性和扩展性。然而,随着集群规模的扩大,如何有效监控和管理集群状态、确保服务的高可用性成为一个挑战。本文将深入探讨 Kubernetes 集群的监控和日志管理策略,从系统资源利用到服务健康检查,再到日志的收集与分析,提供一个全面的运维视角,帮助运维人员构建一个健壮、可观察的 Kubernetes 环境。
25 0