云原生日志收集机制和日志处理流程规范

简介: 【2月更文挑战第20天】

云原生平台中对日志提取收集以及分析处理的流程与传统日志处理模式大致是一样的,整体的日志收集处理流程中包括收集、ETL、索引、存储、检索、关联、可视化、分析和报告这9个步骤。


1)收集:从分散的数据来源中进行日志数据汇总、解析和清理、为缺少的值插入默认值等操作,对不相关的条目进行丢弃处理。

2)ETL(Extract、Transform、Load):数据准备阶段,包括清除不良条目、重新格式化和规范化这几个过程。

3)索引:为了加快后续查询速度,为日志数据建立索引,可以为数据中的所有字段都进行索引,也可以为部分字段进行索引。索引相对来说是较为耗费CPU资源的操作,通常都会涉及CPU资源耗费与加快查询速度两个方面的权衡。

4)存储:将大量的日志数据高效地存储到日志系统中,为了确保存储的速度以及日后分析的便利性,需要利用可横向扩展的动态结构化存储系统。

5)关联:在进行数据分析以揭示隐藏在数据背后的关键信息之前,对数据的关联性进行标识,标识的过程包括定义数据集字段之间的关联关系、人工对数据进行基础分类等。

6)可视化:使用图形、仪表板和其他方式直观地进行辅助数据展示,便于理解。

7)分析:将日志数据切片和切块,并在其中应用分析算法,通过数据分析算法来获知安全趋势、安全行为模式以及进行安全风险洞察。

8)报告:阶段性地或临时性地输出报告,报告中展示分析结论。


与日志处理流程相关的软件架构有日志源、日志处理和存储、日志查询展示和日志分析这几部分,它们的配合关系如下图:

整个日志处理系统都运行在云原生平台里,包括日志采集器、日志分析和日志存储、数据分析和日志查询组件。


标注①的几个位置显示的是日志采集器的工作原理,日志采集器运行在Kubernetes集群的每个节点内,负责采集系统日志以及集群事件信息。此外日志采集器还负责采集应用层的日志以及中间件等外部资源的日志。日志采集器的实现技术有filebeat、logstash等。


日志采集器将收集到的日志统一送往日志分析和处理中心,在标注②的位置。日志分析和处理中心负责对日志进行预处理、建立索引等操作。常见的日志分析和处理服务有ElasticSearch和Splunk。在CNCF社区,Loki日志分析组件日渐流行。Loki组件采用与云原生监控系统Prometheus类似的技术实现架构,与ElasticSearch不同的是,Loki并不对日志记录进行索引操作,仅对日志记录进行打标签,通过标签的方式对日志进行查询。Loki这种做法的好处是处理速度快、节省资源、轻量级。有时候,还会把收集到的日志数据通过Kafka等消息通道转发到不同的日志分析处理中心,由不同的日志分析处理中心做不同类型的业务分析,比如对有些日志进行实时分析,对有些日志进行批处理分析等。


日志分析和处理中心将日志写到云原生平台的共享存储中。接下来在标注④的位置是数据分析组件。数据分析组件对日志运行分析算法,可能采用的算法种类有离线分析、实时分析和机器学习分析。分析的结果存入专门的数据库。


最后通过日志查询和报表平台对存储的日志以及数据分析结果进行汇总展示,常用的日志可视化查询工具有Kibana和Grafana。Kibana对ElasticSearch有较好的支持,Grafana是CNCF社区中使用广泛的监控和日志可视化组件。

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
存储 监控 数据库
Django 后端架构开发:高效日志规范与实践
Django 后端架构开发:高效日志规范与实践
452 1
|
9月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
759 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
存储 监控
系统日志规范问题之业务执行日志的定义如何解决
系统日志规范问题之业务执行日志的定义如何解决
|
监控 测试技术 数据库
系统日志规范问题之摘要日志的定义如何解决
系统日志规范问题之摘要日志的定义如何解决
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
监控 前端开发 开发者
前端代码规范 - 日志打印规范
前端代码规范 - 日志打印规范
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
258 7
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
396 7
|
Java 应用服务中间件 HSF
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
171 3
|
运维 监控 Java
系统日志规范及最佳实践
系统日志规范及最佳实践
1153 1
系统日志规范及最佳实践