版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Logtail日志平台技术架构介绍开启日志采集之旅导读:目前Logtail已承载阿里云全站、所有云产品服务、全球各Region部署、阿里巴巴集团(淘宝、天猫、菜鸟等)上重要服务的数据采集。每天采集接近百万服务器上数PB的实时数据,对接数千个应用与消费者。什么是日志提到日志,很多人的第一印象就是系统打到本地的Log文件,出问题的时候看一下这个Log文件,用来排查问题。更进一步可以根据这个Log文件做实时的监控、第三方审计、入侵检测、行为分析、数据大盘制作等等。马老师说过:阿里巴巴不是零售,我们是一家数据公司,为了数据才做电商、做物流、卖东西。我们认为日志是记录世间人和物所有行为的一种方式,是数
2、据中极其重要又极其庞大的一个组成部分。会产生日志的设备有:服务器、交换机、手机、传感器、IOT设备、智能设备.产生的日志类型有:网络的七层日志、OS日志、订单日志、支持日志、GPS定位日志、用户点击日志.产生的日志形式有:文本文件、二进制文件、syslog、udp日志.如何充分利用这些日志资源才是我们的核心技术和竞争力。什么是日志采集数据的价值是什么?数据的价值在于把数据变成行动。这里一个非常重要的过程是数据分析。提到数据分析,大部分人首先想到的都是Hadoop、流计算、机器学习等数据加工的方式。如果从整个过程来看,数据分析其实包含了4个过程:采集,存储,计算和理解四个主要步骤:采集:从各种产
3、生数据的源头,将数据集中到存储系统。包括硬盘上的历史数据、用户网页的点击、传感器等等。存储:以各种适合计算的模式集中式存储数据,其中既包含大规模的存储系统(例如数仓),也有例如临时的存储(例如Kafka类消息中间件)。计算:形态多种多样,但大部分计算完成后会将结果再放入存储,而这个过程也可能迭代多次。理解:利用机器学习、可视化、通知等手段提炼出结论性或具有代表意义的数据并将结果呈现出来。数据的采集是一门很大的范畴,从实时性上和每次传输数据规模上分,一般可以分为3类:实时采集:例如access log、database change log等定时任务:例如每隔5分钟从FTP或数据源去批量导出数据
4、线下导数据:例如邮寄硬盘、AWS Snowmobile 卡车、阿里云的闪电立方等从数据的价值以及体量上而言,实时数据采集毫无疑问最重要的,而其中最大的部分就是日志实时采集。为何使用Agent实现日志的实时采集一般有2种方式:直接上传:在应用程序(或依赖的框架)中将日志直接上传到服务端。例如各种日志上传的SDK、Log4j的appender、docker driver等通过Agent采集:应用本身只产生日志,由Agent作为代理采集到服务端。例如将日志打到磁盘、syslog转发、从中间框架(docker engine、mysql、应用自带的monitor模块)中抽取等下面我们来详细剖析一下二者区
5、别:从以上分析来看,两种采集方式各有优缺点、也有各自适应的场景:直采:适用于对性能/资源要求较高的场景,例如IOT/智能设备等对于资源要求极高,没有额外的资源独立部署采集Agent;例如负载均衡设备、CDN节点等日志产生量极高(每秒数百MB或者数GB的日志),只有直接上传方能满足性能要求Agent采集:只要应用可以将日志输出(以文件形式保存到磁盘、syslog等)或者支持通用的接口拉取,Agent即可将日志采集到。大部分场景下松耦合、可扩展性、可维护性相比Agent额外开销更具优势为何选用Logtail日志采集Agent有很多,例如Logstash、Fluentd、Beats系列(FileBe
6、ats、MetricBeats、Packetbeat、Winlogbeat、Auditbeat、Heartbeat)、Nxlog、Telegraf、Heka、Nifi、Logspout、Datadog agent、Sematext agent、Splunk addon系列、Sumologic collector。业界有那么多的Agent,每个Agent各种各样的功能和特性看起来让人眼花缭乱。但围绕日志采集这个最原始的需求展开,无非也就是功能、性能、稳定性、运维代价这4个方面:功能:作为选择Agent最基本需求,主要分为输入源、数据处理(除日志解析外,还包括过滤、压缩等)、数据输出。性能:不同类
7、型Agent之间会有数十倍的性能差距。当日志产生速率较低且资源充足时,此项可以忽略;但大部分情况下采集Agent是作为整个集群的基础软件,在集群规模庞大的情况下,即使每台机器节省1%的CPU、10MB的内存也是很大一笔资金节省。稳定性:稳定的重要性无需多言,除保证自身运行的稳定外,Agent还需保证不能超出限定的资源使用Quota,以免对应用产生影响。运维代价:日志采集的运维主要包括:Agent部署、动态伸缩、配置管理、Agent升级、Agent异常监控。当只有数台主机时,Agent可以使用人肉的方式进行管理,但当集群规模扩大到数百及以上时,运维必须依赖有效的机制。阿里云日志服务也有自己的采集
8、Agent-Logtail。目前logtail已承载阿里云全站、所有云产品服务、全球各Region部署、阿里巴巴集团(淘宝、天猫、菜鸟等)上重要服务的数据采集。每天采集接近百万服务器上数PB的实时数据,对接数千个应用与消费者。之所以使用Logtail作为采集Agent也是经过上述四个方面的综合考虑。由于采集Agent数量众多,这里我们选择目前最主流的3款Agent进行对比:相对主流的采集Agent,Logtail在采集功能上有一定的不足,对于输入源、处理方式等支持没有开源软件的多,但从目前的功能来看,可以满足95%以上的日志采集需求。但日志采集并不是能够采集到就可以。相对开源软件,Logtai
9、l的优势是有集团百万服务器、上万应用的练兵环境,很多问题纯粹从Agent和开源社区的角度并不会考虑到。因此经历了数年的迭代优化,在性能、稳定性、运维代价上,Logtail相对更加成熟,在性价比上具有绝对的优势。Logtail相关概念为了更好的了解日志采集,这里我们首先对日志采集中遇到的基本概念进行简要的介绍。概念介绍项目:项目(Project)是日志服务中的资源管理单元,用于资源隔离和控制。您可以通过项目来管理某一个应用的所有日志及相关的日志源。它管理着用户的所有日志库(Logstore),采集日志的机器配置等信息,同时它也是用户访问日志服务资源的入口。日志库:日志库(Logstore)是日志
10、服务中日志数据的采集、存储和查询单元。每个日志库隶属于一个项目,且每个项目可以创建多个日志库。Logtail客户端:Logtail是一款执行日志收集工作的Agent,一般安装在需要收集日志的服务器上,作为独立软件运行。机器组:一个机器组包含一或多台需要收集一类日志的机器。通过绑定一组Logtail配置到一个机器组,可以让日志服务根据同样的Logtail配置采集一个机器组内所有服务器上的日志。采集配置:是Logtail收集日志的策略集合,采集配置一般包括需要采集的数据源、解析方式、过滤方式等参数,所有采集配置均在控制台进行管理。各概念间关系日志库直接负责日志存储,所有Logtail采集的数据最终
11、都会存储到日志库中。日志库由项目进行管理,项目和日志库的关系类似于数据库和表之间的关系。一个日志库中可包含多个不同的采集配置,日志库下的采集配置默认将数据采集到该日志库。采集配置并不直接应用于Logtail客户端,而是应用于中间层的机器组,便于大规模集群和应用的灵活管理。一个Logtail可属于多个机器组,一个机器组可包含多个Logtail,实现Logtail与机器组的解耦。一个采集配置可应用到多个机器组,一个机器组可关联多个采集配置,实现机器组与采集配置的解耦。安装配置流程Logtail的安装配置流程相对比较简单,如果日志服务和ECS在同一账号下,则只需5个步骤即可实现采集。日志服务已经和E
12、CS打通,可自动获取ECS对应的owner信息,因此不需要设置aliuid信息。安装LogtailECS安装1、购买一台ECS2、根据ECS所在区域选择Logtail安装脚本(参见Logtail安装指南)例如华东1的经典网络,使用wget /linux64/logtail.sh; chmod 755 logtail.sh; sh logtail.sh install cn_hangzhou3、使用/etc/init.d/ilogtaild status检查Logtail运行状态,如输出ilogtail is running表示安装成功自建主机安装1、选择任意公网Logtail安装脚本(参见Lo
13、gtail安装指南)例如选择华东1公网安装,使用wget /linux64/logtail.sh; chmod 755 logtail.sh; sh logtail.sh install cn_hangzhou_internet2、使用/etc/init.d/ilogtaild status检查Logtail运行状态,如输出ilogtail is running表示安装成功3、配置账号标识文件(参见非本人ECS/线下机器,配置完成后无需重启Logtail)配置创建项目和日志库在阿里云官网产品中选择日志服务或直接点击进入日志服务控制台,若您当前没有开通,会提示您开通日志服务,点击开通。点击创建P
14、roject按钮,地域(Region)中选择Logtail安装时所选的地域,例如选择华东1(杭州)。3. Project创建成功后会提示创建Logstore,点击创建;这里我们输入Logstore名称,其他参数无需修改,点击确认。创建采集配置1、Logstore创建完毕后,会提示进行数据接入。如下图所示,可通过三个入口创建采集配置:2、在弹出的数据接入页面中,我们选择自定义数据中的文本文件接入。3、在采集配置中我们选择极简模式,日志路径中的文件夹和文件名分别输入/var/log和message,点击下一步。创建机器组并应用1、配置页面点击下一步后,会提示您选择机器组,这里我们点击创建机器组。2、机器组配置页面中选择IP地址类型的机器组,IP输入ECS的内网IP(Logtail获取的IP地址可通过cat /usr/loca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026春牛津译林版英语八年级下册Unit 6 Grammar(同步课件)
- 2025-2026学年钱塘江春行教案
- 2026牛津译林版英语八年级下册Unit 4 单元复习课件(知识点+语法+游戏)课件
- 青岛科技大学《高阶C语言程序设计》2024-2025学年第二学期期末试卷
- 广州城市职业学院《雷达干涉测量》2024-2025学年第二学期期末试卷
- 潍坊工商职业学院《学科教学法与微格训练》2024-2025学年第二学期期末试卷
- 河南轻工职业学院《中小学课堂乐器》2024-2025学年第二学期期末试卷
- 广东梅州职业技术学院《检验仪器学》2024-2025学年第二学期期末试卷
- 重庆应用技术职业学院《酒店管理信息系统》2024-2025学年第二学期期末试卷
- 宁夏理工学院《地理课程设计与评价》2024-2025学年第二学期期末试卷
- 口腔种植手术急救应急预案
- 2023学年完整公开课版0不能作除数
- 建标 149-2010 小城镇生活垃圾处理工程建设标准
- 《干部履历表》1999版电子版
- GB/T 42673-2023钢管无损检测铁磁性无缝和焊接钢管表面缺欠的磁粉检测
- NB/T 11145-2023煤层气勘探开发选区地质评价方法
- 鄂科版生命安全教育一年级全册教案
- 统编版二年级下册语文全册课件(全套课件)ppt
- 医院保障设备处于完好状态的制度与规范
- 医院有线电视系统设计方案
- GB/T 20404-2014功能障碍者移位机要求和试验方法
评论
0/150
提交评论