日志分析是什么?

日志分析是指系统地收集、集中、搜索和直观呈现来自应用、服务器、网络设备和云基础设施的机器生成数据(日志)的过程。它不仅可以存储数据,还提供了各种工具来帮助您提出复杂的问题,并清晰地了解系统性能。

从本质上讲,日志是数字系统中发生的每个事件的实时日记。日志分析引擎可以将这些通常杂乱无章的非结构化文本转换为可查询的结构化数据。这些情报对于排查应用错误、监控网络流量以及在安全趋势影响业务之前发现它们至关重要。

日志管理与日志分析

虽然日志管理和日志分析经常互换使用,但它们代表了处理遥测数据的不同成熟阶段。

日志管理侧重于“管道”- 日志的收集、路由、存储和归档。其主要目标通常是记录和确保符合数据保留政策。

日志分析在托管数据的基础上提供情报。它利用强大的搜索引擎、SQL 查询和可视化信息中心来主动检测异常。管理功能可确保数据存在,而分析功能则可揭示系统行为背后的“原因”,让团队从被动存储转变为主动排查问题。

日志分析的工作原理是什么?

日志事件的生命周期涉及一个流水线,该流水线将数据从创建阶段移至分析洞见阶段。这种机械流程可确保将原始机器输出转换为工程师可用来解决问题的成果。

软件智能体或 API 从微服务、防火墙和数据库等各种来源收集日志。这些数据会流式传输到单个集中式存储库,以消除数据孤岛,确保工程师在请求通过不同系统层时可以看到请求的完整上下文。

非结构化文本字符串会被解析为 JSON 等结构化格式。系统会提取 IP 地址、错误代码和用户 ID 等关键字段并编入索引。正是这种编入索引机制让用户能够在几秒钟(而不是几分钟)内搜索数十亿条日志条目。

工程师使用 SQL 等查询语言来识别模式或构建可视化信息中心。在此阶段,原始日志会转换为图表,方便您轻松发现活动高峰,或将日志与系统指标和跟踪记录相关联。

日志分析的常见应用场景

以下场景说明了团队如何应用日志分析来解决实际的运营和安全问题。

场景

说明

示例 SQL 查询

排查错误

按来源统计错误,找出最常发生故障的应用部分。

SELECT resource.labels.cluster_name, count(*) as error_count FROM my_logs WHERE severity = 'ERROR' GROUP BY 1

监控流量

使用 VPC 流日志查看通过网络传输的流量。

SELECT json_payload.src_ip, sum(cast(json_payload.bytes_count as INT64)) as total_bytes FROM vpc_logs GROUP BY 1

安全审核

查看审核日志中记录的特定操作,了解谁在访问系统。

SELECT proto_payload.authentication_info.principal_email, count(*) FROM audit_logs GROUP BY 1

场景

说明

示例 SQL 查询

排查错误

按来源统计错误,找出最常发生故障的应用部分。

SELECT resource.labels.cluster_name, count(*) as error_count FROM my_logs WHERE severity = 'ERROR' GROUP BY 1

监控流量

使用 VPC 流日志查看通过网络传输的流量。

SELECT json_payload.src_ip, sum(cast(json_payload.bytes_count as INT64)) as total_bytes FROM vpc_logs GROUP BY 1

安全审核

查看审核日志中记录的特定操作,了解谁在访问系统。

SELECT proto_payload.authentication_info.principal_email, count(*) FROM audit_logs GROUP BY 1

微服务调试

跨数十个微服务跟踪单个请求非常复杂。日志分析与跟踪记录 ID 相结合,使开发者能够将失败请求的历程拼接在一起,从而找到导致失败的确切服务。

威胁搜寻

安全分析师使用防火墙、身份提供方和 VPC 流日志中的日志来跟踪未经授权的行为者在网络中的横向移动,识别被盗用的账号或暴露的资源。

审核和合规性报告

受监管的行业使用不可变日志存储和分析功能,向审核人员证明谁在何时访问了特定记录,从而确保满足严格的数据处理要求。

日志分析的优势

从基本日志记录过渡到高级分析,可显著提高工程团队的运营效率和投资回报率。

加快问题排查和根本原因分析 (RCA)

集中式搜索使站点可靠性工程师 (SRE) 能够大幅缩短平均解决时间 (MTTR)。团队无需通过 SSH 连接到各个服务器,即可快速找到导致服务中断的确切错误日志,从而更快地恢复服务。

主动安全性和合规性

日志分析是安全信息和事件管理 (SIEM) 的基础。安全团队可以通过大规模审核用户操作来搜寻威胁、检测未经授权的访问,并确保符合 HIPAA 或 PCI-DSS 等框架。

应用性能得到提升

开发团队使用日志趋势来识别运行缓慢的数据库查询和隐藏的瓶颈。通过分析随时间推移的趋势,工程师可以在用户报告性能问题之前修复低效代码。

利用 Google Cloud 解决业务难题

新客户可获得 $300 赠金,用于抵扣 Google Cloud 的费用。
与 Google Cloud 销售专员联系,详细讨论您的独特挑战。

如何制定日志分析策略

成功的策略不仅要收集日志,还要进行结构化分析,从而提供业务价值。

1. 定义目标和范围:确定哪些系统需要记录日志,并确定对运营和安全目标至关重要的特定事件

2. 标准化日志格式:在各个应用中实现结构化日志记录(如 JSON),确保数据易于解析和查询

3. 设置保留和路由政策:确定哪些日志保留在“热”存储空间中以进行实时分析,哪些日志归档到“冷”存储空间以满足合规性要求

4. 自动生成提醒和信息中心:构建主动提醒规则,以检测异常情况,并在问题影响最终用户之前通知团队

可帮助您入门的其他学习资源

  • 文档:阅读 Google Cloud 上的日志分析简介。
  • 教程:按照分步指南创建存储桶并运行 SQL 查询。
  • SQL 示例:探索预先编写的 SQL 查询库,以执行常见任务。

迈出下一步

获享 $300 赠金以及 20 多种提供“始终免费”用量的产品,开始在 Google Cloud 上构建项目。

Google Cloud