云上日志架构:统一采集、存储和分析

郑

郑产品

· 阅读 1019

分享
云上日志架构

云上日志架构:统一采集、存储和分析

日志是排查问题的第一手资料。在分布式系统中,日志分散在各个节点上,如果没有统一的日志管理方案,排查问题就像大海捞针。本文分享如何基于阿里云SLS(日志服务)搭建统一的云上日志架构。

不少团队在「云上日志架构:统一采集、存储和分析」上走过弯路,根源通常是只优化了局部、却忽视了全局。对象存储与数据生命周期的价值恰恰体现在端到端的协同:从资源申请、网络互通,到弹性与容灾,每一步都需要统一的规范和口径。

云上日志架构:统一采集、存储和分析

日志分类

企业级日志通常分为四类:系统日志(syslog、dmesg、secure)、应用日志(业务代码输出的日志)、访问日志(Nginx/SLB的access log)、审计日志(操作记录、API调用记录)。不同类型的日志有不同的采集方式和保留策略。

采集方案

ECS上的日志推荐使用Logtail(阿里云官方采集Agent)。Logtail以DaemonSet方式部署在ACK集群中,自动采集所有容器的标准输出日志。对于ECS上的文件日志,安装Logtail后配置采集规则(文件路径、解析正则、过滤条件)。

应用日志建议在代码中使用结构化日志格式(JSON),包含traceId、timestamp、level、message等字段。这样在SLS中可以直接用JSON解析,无需复杂的正则表达式。

存储和索引

SLS的Project按地域划分(和ECS同地域,避免跨地域流量费),Logstore按日志类型划分。建议创建以下Logstore:app-log(应用日志)、access-log(访问日志)、sys-log(系统日志)、audit-log(审计日志)。

开启索引后,SLS支持全文搜索和SQL分析。索引分全量索引和字段索引,建议关键字段开启字段索引(支持精确匹配和模糊搜索),非关键字段只开全量索引(节省存储)。

分析和告警

SLS支持类SQL的查询语法,可以做实时统计分析。常用查询:错误日志统计 level: ERROR | SELECT count(*) as cnt, __source__ GROUP BY __source__。接口响应时间分析 * | SELECT avg(request_time), p99(request_time) FROM access-log。

配置SLS告警,当错误率超过阈值或出现特定错误模式时,自动通知运维人员。告警可以对接钉钉、短信、电话、Webhook。

云上日志架构:统一采集、存储和分析

与安徽卓牛一起推进对象存储与数据生命周期

安徽卓牛作为阿里云一级代理商,长期服务企业客户的上云与用云全过程,能够围绕对象存储与数据生命周期提供架构评审、产品选型、迁移实施与运维托管等一站式支持,帮助团队把精力集中在业务本身。

如果你正在评估「云上日志架构:统一采集、存储和分析」相关方案,或希望对现有架构做一次体检,欢迎通过官网在线客服联系安徽卓牛,获取贴合自身业务的建议。

把对象存储与数据生命周期放回架构全局来看

单点的最优解,叠加起来未必是全局最优。评估对象存储与数据生命周期时,建议先明确业务的峰值模型与故障容忍度,再倒推资源与网络该怎么设计:哪些负载是稳定基线、哪些是突发流量、哪些可以容忍短暂中断,答案不同,架构取向也完全不同。

在此基础上再谈规格与参数,才有意义。否则很容易陷入「先买资源、再找用途」的被动局面,成本与复杂度都会随之上升。