服务器日志快速入湖实践

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: 阿里云提供的企业级数据湖解决方案,存储层基于阿里云对象存储 OSS 构建,本文主要介绍服务器日志如何快速入湖

前言

社会在不断发展,科技日益更新迭代,改变了传统的衣食住行,各种各样的APP成为当代年轻人的手机必备,这背后是无数的服务器在提供着技术服务,导致服务器每时每刻都会产生各种类型的日志,当业务出现问题时,运维人员需要在海量的日志中查找需要的信息,给工作带来巨大挑战。

日志入湖后,运维人员可以利用湖上的生态对日志作各种处理,如搜索、离线分析,其他使用者分析师、运营,也能合理的利用数据湖中的数据,来进行多需求的计算分析,如机器学习、实时计算、离线分析、数据下载、搜索等。

阿里云提供的企业级数据湖解决方案,存储层基于阿里云对象存储 OSS 构建,本文主要介绍服务器日志如何快速入湖

服务器日志入湖解决方案

1.开源方案

通过开源的采集器 Flume/Logstash/Beats 等,将服务器日志摄入OSS,插件多,生态广泛,缺点是可靠性、性能表现一般

2.SLS 快速入湖

日志服务(SLS)是云原生观测分析平台,为Log/Metric/Trace等数据提供大规模、低成本、实时平台化服务。一站式提供数据采集、加工、分析、告警可视化与投递功能,全面提升研发、运维、运营和安全等场景数字化能力。

通过logtail(阿里千万实例可观测采集器,已开源 https://github.com/alibaba/ilogtail)采集服务器日志到SLS,SLS将日志投递到OSS,简单,可靠

流存储:弹性、高可靠

实际业务场景如出行打车遇到节假日,出现高峰用车场景,会导致峰值流量远超过数据存储服务器上限,打爆网关,导致业务不可用。

SLS 通过流存储做高可靠的缓冲,数据存储分区(shard)自动伸缩,抗住峰值写入流量;按量付费,0预留成本;存储3备份冗余,数据安全可靠。

采集:高性能、高质量

开源采集器如Flume官方性能报告如下图所示,性能表现一般:

Logtail采集性能可以达到单核100MB/s,相比开源采集Agent有5-10倍性能优势,能节省服务器的cpu/mem开销,避免影响服务器上核心业务,具体报告可见https://ata.alibaba-inc.com/articles/224523?spm=ata.25287382.0.0.36c97536irIv46

采集:运维负担低

开源的采集器如Flume等,采集配置需要在每台机器上手动配置,当集群过大时运维难度大,手动运维更容易产生问题,如配置遗漏,导致集群配置不一致;agent要重加载配置,流程复杂,agent crash等质量问题。

logtail 安装方便(控制台自助安装),配置中心化,通过机器组管理(可以服务端统一配置管理,不需要在机器上散落在各地手动运维配置管理)

投递:全托管、模板化

投递配置简单,全托管模式,方便快捷,按量付费,提供丰富的入湖模板,方便用户灵活使用,提供整个数据链路的仪表盘和告警

SLS助服务器日志快速入湖实践

1.开通SLS服务并创建project

  • 开通 日志服务(SLS) ( https://www.aliyun.com/product/sls ),创建一个属于自己的project,填写project名称,全局唯一,选择所属地域(如果要采集的机器组为阿里云ECS,地域选择ECS所在地域),服务日志为用户在当前project操作记录,可以按需开通

2.创建logstore

  • 进入对应的project,创建一个logstore(logstore 是日志服务中日志数据的采集、存储和查询单元 ),你可以将一类日志存储在一个logstore中,填写logstore名称,其他默认即可,点击确定

3.Logtail采集

Step1:创建配置

  • 点击对应的logstore,点击数据接入,增加logtail配置,根据业务需求选择logtail的方式,本文以单行-文本日志为例

Step2:创建机器组

  • 根据你的机器类型进行机器组配置,如ECS,自建机器,本文以ECS为例,阿里云ECS在对应机器上默认安装logtail客户端,自建机器参考相关文档,点进去有相关介绍
  • 选择实例,logtail提供多种实例选取方式,可以根据业务实际业务来选择,本文手动选择实例,可以通过关键词,如ip地址来搜索,找到对应机器,勾选上,可以同时勾选多台机器,高级选项,可以忽略
  • 点击立即执行,等待执行成功后,点击确认安装完毕
  • 设置机器组名称,点击下一步,  机器组Topic默认为空,不设置,如业务需要,可参考下面帮助信息进行设置

Step3:机器组配置

  • 选择源机器组(上一步配置完毕的机器组),可以选择多个源,让其成为应用机器组,点击下一步

Step4:logtail配置

  • 日志路径:对应机器组中机器要采集的文件路径,可以用*来表示一类的采集文件,上方右图为ECS日志所在路径,/home/oss_test/test.txt 和/home/oss_test/oss1/test2.txt,只需在日志路径中配置上方左图所示配置,最上层的采集根目录/home/oss_test/,需要采集的文件类型*.txt,即可采集该目录下所有文件后缀.txt的文件
  • 设计采集黑名单:可以设置忽略的目录和文件
  • 是否为Docker文件:当被采集的机器为容器时,需要打开该配置
  • 模式:可以选择日志被采集的模式,如单行,多行,正则匹配
  • 丢弃解析失败日志:选择解析失败的日志是否被采集
  • 最大监控目录深度:采集目录被监控的深度

Step5:查询分析配置默认即可,点击完成,点击查询日志,进入查询界面

Step6:查询,点击查询按钮,查询结果有数据,代表日志采集到logstore,可以开始投递

4.OSS投递

数据投递提供全托管服务,方便快捷,按量付费,投递不收取读取 SLS 流量费用,提供多个入湖模板,让存储更好匹配计算

Step1:填写基本目标信息

  • OSS Bucket:填写目标的OSS Bucket
  • 文件投递目录:数据将会放置在目标Bucket的文件目录下,也可以理解是一个文件路径的前缀。可不配置,将按分区格式配置动态生成目录
  • 文件后缀(可选):以此为后缀或由存储格式和压缩类型自动生成。
  • 分区格式:对于计算引擎Spark、Flink等了解的同学对数据分区(partition)的概念不会陌生。目前SLS的OSS投递功能支持用户使用自定义的时间格式来按照时间生成分区(业务时间或者其他自定义字段规划中)

Step2 :配置权限

  • 使用RAM角色来配置好Logstore的读取权限和OSS的写权限,用户还可以通过自定义角色配置粒度更细(如特定Bucket的写权限,特定Logstore的读权限等)。

Step3:配置输出格式

  • 投递大小:代表着会收集投递大小的日志数据量进行投递,无特意需求,默认就好
  • 是否压缩: 可以降低用户成本,默认就好
  • 存储格式: 文件在oss存储的格式,无特殊需求默认json,不投递tag字段,减少日志大小,特殊需求可以参考oss投递详细文档

Step4:配置时间选项

  • 投递时间:决定任务的生成间隔,投递大小或者投递时间满足任一条件会完成一次投递,所以用户可以根据自己使用场景配置合理的投递时间,比如在用户流量较小的情况下,可选择偏长的投递时间,防止出现过多小文件。
  • 开始时间:为开始投递的起始日志收集的时间,可选择 ttl - now 任意的时间。
  • 时区选择:时区选择会影响到最后具体的分区partition路径

Step5:确认,启动

Step6:投递概览和任务管理

在配置结束后会跳转到数据投递概览页面,也可以在 作业 - 数据投递(新版)中找到创建的任务

可以在数据投递概述页面查看投递任务信息,包含基础信息和统计报表,可以修改任务配置和查看任务运行情况

更详细的细节可以参考官方文档:https://help.aliyun.com/document_detail/371924.html

总结

SLS提供logtial采集+OSS投递入湖快速解决方案,logtail采集可靠性强,性能优越,运维成本低廉,极大降低了用户的成本。数据通过SLS作为缓冲,更能抵御数据洪峰。OSS投递开箱即用,全托管服务,丰富的存储格式,可视化观察投递任务进展,带给用户更好的体验。SLS还提供更丰富采集方式,如数据导入,云产品日志采集,SDK采集等,详情请参考https://help.aliyun.com/document_detail/128134.html。希望SLS能帮助用户实现日志价值,助力业务发展。

若有收获,就点个赞吧

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
30天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
|
3月前
|
Rust 前端开发 JavaScript
Tauri 开发实践 — Tauri 日志记录功能开发
本文介绍了如何为 Tauri 应用配置日志记录。Tauri 是一个利用 Web 技术构建桌面应用的框架。文章详细说明了如何在 Rust 和 JavaScript 代码中设置和集成日志记录,并控制日志输出。通过添加 `log` crate 和 Tauri 日志插件,可以轻松实现多平台日志记录,包括控制台输出、Webview 控制台和日志文件。文章还展示了如何调整日志级别以优化输出内容。配置完成后,日志记录功能将显著提升开发体验和程序稳定性。
144 1
Tauri 开发实践 — Tauri 日志记录功能开发
|
3月前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
20天前
|
存储 数据采集 监控
云上数据安全保护:敏感日志扫描与脱敏实践详解
随着企业对云服务的广泛应用,数据安全成为重要课题。通过对云上数据进行敏感数据扫描和保护,可以有效提升企业或组织的数据安全。本文主要基于阿里云的数据安全中心数据识别功能进行深入实践探索。通过对商品购买日志的模拟,分析了如何使用阿里云的工具对日志数据进行识别、脱敏(3 种模式)处理和基于 StoreView 的查询脱敏方式,从而在保障数据安全的同时满足业务需求。通过这些实践,企业可以有效降低数据泄漏风险,提升数据治理能力和系统安全性。
167 11
云上数据安全保护:敏感日志扫描与脱敏实践详解
|
2天前
|
人工智能 监控 测试技术
阿里云磐久服务器稳定性实践之路
阿里云服务器质量智能管理体系聚焦自研服务器硬件层面的极致优化,应对高并发交付、短稳定性周期、早问题发现和快修复四大挑战。通过“三个重构”(质量标准、开发流程、交付模式)、“六个归一”(架构、硬件、软件、测试、部件、制造)策略,实现芯片、整机和云同步发布,确保快速稳定上量。此外,全场景测试体系与智能预警、分析、修复系统协同工作,保障服务器在萌芽阶段发现问题并及时解决,提升整体质量水平。未来,阿里云将继续深化大数据驱动的质量管理,推动服务器行业硬件质量的持续进步。
|
4天前
|
存储 人工智能 运维
面向AI的服务器计算软硬件架构实践和创新
阿里云在新一代通用计算服务器设计中,针对处理器核心数迅速增长(2024年超100核)、超多核心带来的业务和硬件挑战、网络IO与CPU性能增速不匹配、服务器物理机型复杂等问题,推出了磐久F系列通用计算服务器。该系列服务器采用单路设计减少爆炸半径,优化散热支持600瓦TDP,并实现CIPU节点比例灵活配比及部件模块化可插拔设计,提升运维效率和客户响应速度。此外,还介绍了面向AI的服务器架构挑战与软硬件结合创新,包括内存墙问题、板级工程能力挑战以及AI Infra 2.0服务器的开放架构特点。最后,探讨了大模型高效推理中的显存优化和量化压缩技术,旨在降低部署成本并提高系统效率。
|
10天前
|
存储 监控 安全
网络安全视角:从地域到账号的阿里云日志审计实践
日志审计的必要性在于其能够帮助企业和组织落实法律要求,打破信息孤岛和应对安全威胁。选择 SLS 下日志审计应用,一方面是选择国家网络安全专用认证的日志分析产品,另一方面可以快速帮助大型公司统一管理多组地域、多个账号的日志数据。除了在日志服务中存储、查看和分析日志外,还可通过报表分析和告警配置,主动发现潜在的安全威胁,增强云上资产安全。
|
2月前
|
存储 数据采集 监控
云上数据安全保护:敏感日志扫描与脱敏实践详解
随着企业对云服务的广泛应用,数据安全成为重要课题。通过对云上数据进行敏感数据扫描和保护,可以有效提升企业或组织的数据安全。本文主要基于阿里云的数据安全中心数据识别功能进行深入实践探索。通过对商品购买日志的模拟,分析了如何使用阿里云的工具对日志数据进行识别、脱敏(3 种模式)处理和基于 StoreView 的查询脱敏方式,从而在保障数据安全的同时满足业务需求。通过这些实践,企业可以有效降低数据泄漏风险,提升数据治理能力和系统安全性。
|
3月前
|
Web App开发 存储 监控
iLogtail 开源两周年:UC 工程师分享日志查询服务建设实践案例
本文为 iLogtail 开源两周年的实践案例分享,讨论了 iLogtail 作为日志采集工具的优势,包括它在性能上超越 Filebeat 的能力,并通过一系列优化解决了在生产环境中替换 Filebeat 和 Logstash 时遇到的挑战。
147 13
|
2月前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
93 3