阿里云-日志服务用户指南-D_第1页
阿里云-日志服务用户指南-D_第2页
阿里云-日志服务用户指南-D_第3页
阿里云-日志服务用户指南-D_第4页
阿里云-日志服务用户指南-D_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、日志服务用户指南日志服务/用户指南日志服务/用户指南 PAGE 109 PAGE 109用户指南日志服务(Log Service,Log)是针对日志垂直场景的一站式服务,在阿里巴巴集团内部被广泛使用。目前版本提供如下功能:日志中枢(LogHub):通过Agent/API实时收集、订阅、消费日志数据日志投递(LogShipper):将日志定时投递至存储类服务(ODPS/OSS)日志查询(LogSearch):提供基于时间、关键词查询用以定位及分析问题其中日志中枢为基础功能,用户可根据需求选择日志投递及日志查询功能。日志服务提供健全API及Web控制 台方便用户使用。日志服务与阿里云其他产品关系如

2、下:上游:下游:ECS:云主机(ECS)是用户日志产生的重要场所。Log和ECS紧密集成,让用户便捷管理云主机上产生的日志数据EMR:通过Spark Stream实时消费LogHub中实时数据ODPS:通过LogShipper,日志可以定时投递到ODPS表中,进行离线分析云监控:云监控可直接对LogHub中日志进行监控项配置、及报警(即将推出)OSS:通过LogShipper,日志可以准实时投递到OSS中,并通过EMR(MR)进行离线分析其他:用户可以通过Storm、程序、或第三方应用消费LogHub中日志数据下图是产品大图:一切皆日志半世纪前说起日志,想到的是船长、操作员手里厚厚的笔记。如今

3、计算机诞生使得日志产生与消费无处不在:服务器、路由器、传感器、GPS、订单、及各种IoT设备通过不同角度描述着我们生活的世界。借助于计算力 量,通过收集、处理、使用日志,我们不断更新对整个世界以及体系的认知。日志是什么?从船长日志中我们可以发现,日志除了带一个记录的时间戳外,可以包含几乎任意的内容,例如:一段记录文 字、一张图片、天气状况、船行方向等。几个世纪过去了,船长日志的方式已经扩展到一笔订单、一项付款 记录、一次用户访问、一次数据库操作等多样的领域。日志这种广泛使用模式之所以经久不衰,在于:日志是一种简单的不能再简单的存储抽象。它是一个只能增 加的,完全按照时间排序的一系列记录。日志(

4、时间序列数据)看起来如下:我们可以给日志末尾添加记录,并且可以从左到右读取日志记录。每一条记录都指定了一个唯一的有一定顺序 的日志记录编号。日志顺序由时间来确定,从图上可以看到日志从右到左的时间顺序,新产生的事件被记录,过去的事件渐渐 远去,但它记录了什么时间发生了什么事情,这无论对于计算机、人类、还是整个世界而言,是认知与推理的 基础。核心概念为方便理解整个日志服务服务并顺利使用,这里首先介绍其中的几个基本概念。地域(Region)地域为阿里云的服务节点。用户通过在不同的阿里云Region部署服务,让自己的服务距离客户更近,获得更低 的访问延时及更好的用户体验。目前阿里云在全国各地拥有多个R

5、egion。项目(Project)项目为日志服务中的基本管理单元,用于资源隔离和控制。用户可以通过项目来管理某一个应用的所有日志及 相关的日志源。日志库(Logstore)日志库为日志服务中日志数据的收集、存储和查询单元。每个日志库隶属于一个项目,且每个项目可以创建多 个日志库。用户可以根据实际需求为某一个项目生成多个日志库,其中常见的做法是为一个应用中的每类日志 创建一个独立的日志库。例如,假如用户有一个big-game游戏应用,服务器上有三种日志:操作日志(operation_log),应用程序日志(application_log)以及访问日志(access_log),用户可以首先创建名

6、为big-game的项目,然后在该项目下面为这三种日志创建三个日志库,分别用于它们的收集、存储和查询。分区(Shard)分区(shard)是每个日志库下读写基本单元,用户可以指定每个日志库下分区数目。每个分区能承载一定量的 服务能力:- 写入:5MB/S,2000次/S- 读取:10MB/S,100次/Sshard有两种状态:readwrite:shard处于可读可写状态readonly:shard只能读,不能写每个shard都是有一个range,取值范围可用MD5方式来表示,用于支持指 定hashkey的模式写入,以及shardsplit和merge操作inclusiveBeginKey:s

7、hard起始的rangekey(包含)exclusiveEndKey:shard的结束rangekey(不包含)在向Shard读写数据过程中,读必须指定对应shard,而写的过程中可以使用负载均衡模式或者指定hash key的模式。负载模式下,每个数据包,随机写入某一个当前可用的shard中,在指定hash key模式下,数据写入shard range包含这个key的shard。日志(Log)日志为日志服务中处理的最小数据单元。日志服务采用半结构数据模式定义一条日志,具体数据模型如下:主题(Topic):用户自定义字段,用以标记一批日志(例如:访问日志根据不同的站点进行标记)。默认该字段为空字

8、符串(空字符串也为一个有效的主题)。时间(Time):日志中保留字段,用以表示日志产生的时间(精度为秒,从1970-1-1 00:00:00 UTC计算起的秒数),一般由日志中的时间直接生成。内容(Content):用以记录日志的具体内容。内容部分由一个或多个内容项组成,每一个内容项由Key、Value对组成。来源(Source):日志的来源地,例如产生该日志机器的IP地址。默认该字段为空。与此同时,日志服务对日志各字段的取值有不同要求,具体如下表描述:数据域要求time整型,Unix标准时间格式,最小单位为秒topic任意不超过128字节的字符串source任意不超过128字节的字符串con

9、tent一个或多个Key-Value对。其中Key为仅包含字母、下划线、数字,不以数字开头,不超过128字节的UTF-8编码字符串。Value为不超过1024*1024字节的任意字符串上表content中的key不可以使用如下关键字: time , source , topic , partition_time ,_extract_others_, extract_others 日志组(LogGroup)一组日志的集合,写入与读取的基本单位。日志组限制为:最大4096行日志,或10MB空间。日志主题(Topic)一个日志库内的日志可以通过日志主题(Topic)来划分。用户可以在写入时指定日志主

10、题,并在查询时必须指 定查询的日志主题。例如,一个平台用户可以使用用户编号作为日志主题写入日志。这样在查询时可利用日志 主题让不同用户仅看到自己的日志。如果不需要划分一个日志库内日志,让所有日志使用相同的日志主题即可。注意:空字符串是一个有效的日志主题(Topic),且无论是写入还是查询日志时,默认的日志主题都是 空字符串。所以,如果不需要使用日志主题,最简单的方式就是在写入和查询日志时都使用默认日志主题,即空字符串。下图描述了日志库、日志主题和日志之间的关系:实际使用场景中,日志的格式多样。为了帮助理解,以下以一条nginx原始访问日志如何映射到日志服务日志数 据模型为例说明。假设用户ngi

11、nx服务器的IP地址为17,下面为其上的一条原始日志:93 - - 01/Mar/2012:16:12:07 +0800 GET /Send?AccessKeyId=8225105404 HTTP/1.1 200 5 -93 - - 01/Mar/2012:16:12:07 +0800 GET /Send?AccessKeyId=8225105404 HTTP/1.1 200 5 -Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2把该条原始日志映射到日志服务日志数据模型,如下:数据域

12、内容说明topic沿用默认值(空字符串)time1330589527日志产生的精确时间(精确到秒),从原始日志中的时间戳转换而来。source17使用服务器IP地址作为日志源contentKey-Value对日志具体内容用户可以自己决定如何提取日志原始内容并组合成Key-Value对,例如下表:keyvalueip93methodGETstatus200length5ref_url-browserMozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2管理控制台日志服务控制台是帮助用户操作日

13、志服务中各种资源的交互界面。你可以在控制台上管理所有的项目(Project)、日志库(Logstore),配置日志收集的策略,管理需要收集日志的机器等。本部分文档将详细描 述如何利用控制台完成如下操作:创建、管理项目创建、管理项目下的日志库管理需要收集日志的服务器配置日志收集客户端(Logtail)的收集策略日志投递启用、投递任务状态查询及失败重试目前,日志服务的项目(Project)操作仅可在控制台完成。所以,请登陆阿里云控制台首页,并从产品菜单中 选择日志服务,如下:日志服务控制台分成Project管理和离线投递任务管理两个主要部分。默认情况下,控制台会直接进入Project管理模块,它也

14、是所有项目管理的入口。项目创建进入控制台的Project管理界面,点击右上方创建Project按钮开始创建项目,如下:按照对话框提示填写项目信息,点击确认按钮即成功创建项目。成功创建后,该项目会在项目列表中列出。项目的名称必须要符合Project命名规则,且创建后无法修改。创建项目时必须指定所属区域(即阿里云Region),且创建后无法修改,也无法在多个区域迁 移项目。项目列表Project管理界面的项目列表会列出当前阿里云账号下的所有项目,如下图用户可以通过项目列表操作相应的项目,具体如下:管理项目:点击项目名称或者项目列表右边的管理按钮都可以对该项目进行日志库管理和机器组管 理。删除项目:

15、点击项目列表右边的删除按钮可删除当前项目。另外,当鼠标移动到项目名称上,会弹出浮动窗口显示该项目的更多细节,如下图项目删除如上所述,通过项目列表右边的删除按钮即可删除项目。为了保证用户的数据安全,删除项目需要二次安全 认证。点击删除按钮后会弹出如下二次验证对话框:正确通过二次安全验证后,相应的项目就会被成功删除,且所有数据也不可恢复。如项目操作所述,可以通过项目列表进入该项目的日志库管理界面,如下图:如上图所示,用户可以对于一个项目进行日志库管理和机器组管理两类操作。默认情况下,用户从项 目列表直接进入日志库管理界面。本章节仅关注日志库管理,关于机器组管理的操作请参看下一节。日志库的创建在日志

16、库管理页面直接点击右上方的创建按钮即开始日志库创建流程,弹出如下对话框:按照对话框提示填写日志库信息,点击确认按钮即成功创建日志库。成功创建后,该日志库会在日志库列表 中显示。在创建日志时需要注意如下几点:日志库名称需要遵循日志库命名规范,且创建后无法修改。目前,日志服务对于存入日志库内的数据提供三种消费模式:日志消费,日志投递和日志索引 2天的日 志数据。关于如何消费日志的更多信息,请参考日志查询。如果用户选中日志投递中ODPS,则会提示用户指定投递的ODPS Project和Table名称。关于日志投递到ODPS的更多信息,请参考投递日志到ODPS。如果用户选中日志投递中OSS,则会提示用

17、户指定投递的OSS Bukcet和访问控制角色名称等属性,关于日志投递到OSS的更多信息,请参考投递日志到OSS。如果用户选择开启日志索引功能,则会提示用户指定索引的保存时间以及分词属性,设置完成后1min左右生效,之后会对实时流入的数据建立索引。在创建完日志库后, 控制台会主动弹出对话框帮助用户继续为该日志库创建Logtail配置。用户可以选择继续创建Logtail配置,也可以选择取消,暂时不创建该日志库的Logtail配置。关于如何创建Logtail配置请参考Logtail收集日志。每个日志服务项目可创建最多100个日志库。日志保存时长仅可在创建日志库时选择,创建完后就不可更改。日志库列表

18、日志库管理页面的LogStore列表会列出该项目下的所有日志库(如下图),并提供进一步配置、管理的入口。具体来说,用户可以通过日志库列表做如下操作:点击列表中LogStore名称可进入日志查询页面,具体请参考日志查询操作。点击日志数据收集模式列下的创建(如果已经创建,则为修改)链接进行当前日志库的Logtail配置Logtail收集日志并写入该日志库,用户需要进行该项配置,具体请参考Logtail收集日 志。点击日志数据收集模式列下的查看链接了解日志服务的API文档,通过API或者SDK向该日志库写入 日志。点击日志数据消费模式列下日志消费的修改链接可以修改日志库的shard个数,目前只支持增

19、加,如下图点击日志数据消费模式列下日志投递的ODPS创建链接设置导入ODPS对应的数据表,如下图:点击日志数据消费模式列下日志投递的OSS创建连接设置导入OSS对应的Bucket,如下图:点击日志库列表中最右边的删除链接删除对应的日志库。日志库删除如上所述,点击删除链接即开始删除日志库流程。在删除日志库前会弹出如下对话框让用户确认删除操作:日志库删除后,其保存的日志数据不可恢复日志服务通过机器组的方式管理所有需要通过Logtail客户端收集日志的ECS云机器。用户可以通过日志服务项 目列表进入该项目的机器组管理页面,如下:创建机器组点击机器组管理页面右上方的创建机器组按钮即会弹出如下对话框:按

20、照如上对话框提供机器组信息,点击确认即可开始机器组创建过程。在创建机器组时,需要特别注意以下问 题:请确保你填写的云主机为此登陆云账号所有。请确保你填写的云主机和当前日志服务Project在一个阿里云Region。请确保使用ECS云主机的内网IP(不是外网IP),且多个IP请用换行分割。请不要把Windows云主机和Linux云主机添加到同一机器组。目前日志服务已经关闭云盾远程安装Logtail客户端功能,请用户按照自助安装Logtail文档进行操作。机器组列表(如下图),并且该列表也是对机器组进行各种操作的 入口。具体来说,用户可以通过机器组列表进行如下操作:点击修改机器组链接来修改机器组中

21、的云主机列表(注:机器组名称在创建时选定后就不可以更改)。点击查看状态链接了解当前机器组内各个云主机上Logtail客户端心跳状态是否正常。点击管理配置链接配置机器组内所有云主机的日志收集配置,具体请参考Logtail收集日志点击删除链接可以删除相应的机器组。下面将详细说明这些功能的操作方式。修改机器组在创建完机器组后,用户可以随时调整该机器组内的云主机列表。如前所述,点击机器组列表中的修改机器组 即会弹出如下对话框:修改机器列表(IP列表)并确认保存。查看状态为验证Logtail客户端已经在机器组内的所有云主机安装成功,用户可以点击机器组列表中的查看状态链接,查看Logtail客户端的心跳信

22、息,具体如下:如果所有云主机上的Logtail客户端都安装成功,则心跳信息应该都为OK。如果心跳信息为Fail,建议首先 按照页面提示进行自查。如自查仍无法解决问题,可通过工单寻求帮助。心跳OK指Logtail与日志服务连接正常。机器加入机器组后可能会有几分钟左右的延时才能看到 心跳OK状态,请耐心等待。如云主机心跳一直Fail,请按照自助安装Logtail文档进行操作。管理配置日志服务利用机器组管理所有需要收集日志的云主机,这其中的一个重要管理项目就是Logtail客户端的收集配 置(请参考Logtail收集日志)。用户可以通过给一个机器组应用、删除Logtail配置来决定每台云主机上的Lo

23、gtail收集哪些日志,如何解析这些日志,发送日志到哪个日志库等。点击机器组列表中的管理配置即可管 理相应机器组应用哪些Logtail收集配置,如下图:如上图所示,配置管理对话框可以帮助用户在机器组上添加、移除LogStore。当添加LogStore时,该Logtail客户端。当移除LogStore时,该LogStore对 应的Logtail配置会从Logtail客户端移除。删除机器组如上所述,通过机器组列表右边的删除按钮即可删除机器组。为了保证用户的数据安全,删除机器组需要二 次安全认证。点击删除按钮后会弹出如下二次验证对话框:正确通过二次安全验证后,相应的机器组就会被成功删除。ECS云主机

24、上的日志。除了安装Logtail客户端 外,为Logtail客户端创建日志收集配置也非常关键。如日志库管理所述,可以通过日志库列表可以给相应日志 库创建、修改Logtail配置。在日志库列表中,有无创建Logtail配置的日志库显示有所不同,如下图:如图所示,在未给日志库创建Logtail配置时,日志库列表显示Logtail未配置,对于已经配置Logtail的日志库,日志库列表显示Logtail已配置,点击管理链接即可进入Logtail配置列表进行配置管理。本章节分创建 和修改Logtail配置说明其操作方式。如果需要收集IIS的访问日志,请参考IIS日志收集最佳实践来进行配置。Logtail

25、配置列表通过管理链接进入后,该页面列出了指定Logstore对应的所有配置,其中包含三部分内容:配置名称、数据来源(目前仅支持文本文件,近期会上上线syslog支持)和配置详情,其中当数据来源为文本文件时,配置详情展示了文件路径和文件名称,如下图:请注意一个文件只能被一个配置收集。创建Logtail配置用户有两个途径开始创建Logtail配置。首先,在创建完日志库后控制台会主动弹出如下对话框引导用户创建,Logtail配置列表点 击创建按钮进入配置向导功能。创建Logtail配置目前分为三个步骤:选择数据源,指定收集模式和应用机器组,具体如下说明:选择数据源/指定收集模式目前数据源仅支持文本文

26、件(后续支持syslog日志收集),指定收集模式方法如下: 文本文件日志收集Logtail目前已不提供windows文件内容收集,如果需要在windows系统收集日志请使用Logstash或者SDK。Logtail配置适合所有支持的Linux64位发行版本。具体可参考使用Logtail写入日志。应用机器组在完成Logtail配置之后,整个向导还会提升用户应用该配置到相应机器组,如下图:用户可以选择需要应用的机器组并点击应用到机器组按钮来完成配置应用。当然,用户也可以点击取消按 钮暂时不应用配置。如机器组管理所述,用户可以在任何时候向一个机器组应用指定配置。修改Logtail配置如前所述,用户可

27、以通过日志库列表中的修改链接开始修改一个已经创建的Logtail配置。整个配置修改的流 程和创建完全相同,需要注意的是用户要通过向导右下方的上一步和下一步按钮转到希望修改的步骤并重 新开始配置。删除Logtail配置删除指定Logtail配置请跳回至Logtail配置列表页面,点击指定Logtail配置的删除链接,成功后即会将该配 置与之前应用机器组解除绑定,Logtail也会停止收集该配置对应的日志文件内容。删除指定LogStore前必须删除其对应的所有Logtail配置。投递日志到ODPS投递日志到ODPS是日志服务的一个功能,能够帮助用户最大化数据价值。如日志库管理所述,用户可以自己 决

28、定对某个日志库是否启用该功能。一旦启用该功能,日志服务后台会定时把写入到该日志库内的日志投递到如上图所示,通过日志投递任务管理,用户可以查看过去两天内的所有日志投递任务,了解其状态。投递任务状态可以是成功、进行中和失败 。失败状态则表示用户的投递任务出现了因外部原因而无法重试的错误(如ODPS表结构不符合日 志服务规范、无授权等),需要用户参与解决问题。用户可以参考投递日志到ODPS的投递任务管理 部分了解更多细节。对于投递失败任务(创建两天内),用户可在任务列表中查看导致失败的外部原因。修复好这些外部 原因后,用户可以逐一或者整体重试所有失败任务。投递日志到OSS投递日志到OSS是日志服务提

29、供的另一项功能,能够帮助用户做数据长期存储或联合其它系统(如E-消费数据。如日志库管理所述,用户可以自己决定对某个日志库是否启用该功能。一旦启用该功 能,日志服务后台会定时把写入到该日志库内的日志投递到OSS对应的Bucket中。为方便用户及时了解投递进 度,处理线上问题,日志服务控制台提供了日志投递任务管理页面:如上图所示,通过日志投递任务管理,用户可以查看过去两天内的所有日志投递任务,了解其状态。投递任务状态可以是成功、进行中和失败 投递日志到OSS的投递任务管理部 分。对于投递失败任务(创建两天内),用户可在任务列表中查看导致失败的外部原因。修复好这些外部 原因后,用户可以逐一或者整体重

30、试所有失败任务。日志服务控制台提供专门的查询页面帮助用户在浏览器内直接查询日志。如日志库管理所述,用户可以通过点 击日志库列表中的日志库名称进入查询页面,见下图:如上图所示,用户可以在日志查询页面指定查询日志的主题,限定查询条件(参考查询语法)及日志时间区 域。如此同时,日志查询页面通过日志分布图(柱状图)和原始数据列表两种方式向用户展示查询结果。由于每次查询能力的限制,查询大量数据时有可能一次没有办法获取完整结果。在这种情况下,日志查询 页面的查询结果分布图会用粉红色柱形标示查询结果不完整的时间段(另外,绿色柱形标示对应时间段 的日志查询结果已完整)。需要用户重复提交相同查询才能够逐步得到完

31、整查询结果。详情请参考查询日 志。日志服务控制台提供专门的预览页面帮助用户在浏览器内直接预览日志库中部分日志。如日志库管理所述,用 户可以通过点击日志库列表中日志消费模式下日志消费的预览按钮进入页面,见下图:如上图所示,用户可以在日志查询页面指定查询日志库的Shard,限定日志时间区域。如此同时,日志预览页 面原始数据列表两种方式向用户展示指定时间区间开始的10个数据包的数据。使用云监控查看日志服务日志服务提供了监控项反映端对端的工作状况,并且可以对监控项设置报警。操作步骤打开云监控选择日志服务产品根据日志服务Project(项目)Logstore(日志库)点击监控图表。监控项含义请参考日志服

32、务监控项含义。文本文件日志收集流程指定文件路径名称 = 指定日志行分割方式 = 提取日志字段内容 = 指定日志时间Logtail收集文本文件按照如下步骤收集日志内容:指定文件路径名称 = 指定日志行分割方式 = 提取日志字段内容 = 指定日志时间指定日志行分割方式 - - 13/Mar/2016:10:00:10 +0800 GET / HTTP/1.1 0.011 180 404 570 - Mozilla/4.0 (compatible; MSIE6.0; Windows NT 5.1; 360se) - - 13/Mar/2016:10:00:11 +0800 GET / HTTP/1.

33、1 0.011 180 404 570 - Mozilla/4.0 (compatible; MSIE - - 13/Mar/2016:10:00:10 +0800 GET / HTTP/1.1 0.011 180 404 570 - Mozilla/4.0 (compatible; MSIE6.0; Windows NT 5.1; 360se) - - 13/Mar/2016:10:00:11 +0800 GET / HTTP/1.1 0.011 180 404 570 - Mozilla/4.0 (compatible; MSIE6.0; Windows NT 5.1; 360se)但是对

34、于java应用中的程序日志,一条日志通常会跨越多行,因此只能通过日志开头开头的特征区分每条日志 行首,下面即为一条java程序日志:2016-03-18T14:16:16,0002016-03-18T14:16:16,000INFOSessionTrackerSessionTrackerImpl.java:148Expiringsessions 0 x152436b9a12aecf,500000 x152436b9a12aed2, 500000 x152436b9a12aed1, 500000 x152436b9a12aed0, 50000如上java日志可以观察开头都是以固定的时间格式,即行

35、首正则表达式为:d+-d+-w+:d+:d+,d+s.*。如下:提取日志字段内容根据日志服务数据模型要求,一条日志的内容包含一个或者多个Key-Value对,如果需要提取指定字段进行分 析处理,需要设置正则表达式提取指定内容,如果不需要对日志内容进行处理,可以将整条日志做为一对Key-Value对。对于如上访问日志:正则表达式:(S+)s-s-s(S+)s+s(w+).*提取内容:1);2)13/Mar/2016:10:00 ;3)GET正则表达式:(S+)s-s-s(S+)s+s(w+).*提取内容:1);2)13/Mar/2016:10:00 ;3)GET正则表达式:(.*)提取内容:1)

36、 - - 13/Mar/2016:10:00:10 +0800 GET / HTTP/1.1 0.011 180 404 570 -正则表达式:(.*)提取内容:1) - - 13/Mar/2016:10:00:10 +0800 GET / HTTP/1.1 0.011 180 404 570 -Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; 360se)指定日志时间根据日志服务数据模型要求,一条日志必须要有时间(time)字段,并且格式为unix时间戳。目前提供使用系统时间:13/Mar/2016:10:00:10时间表达式:%d/%b/

37、%Y:%H:%M:%S时间(即Logtail抓取该条日志的时间)或者日志内容中的时间做为日志的时间。对于如上访问日志: 时间:13/Mar/2016:10:00:10时间表达式:%d/%b/%Y:%H:%M:%S时间:抓取日志时的时间戳抓取日志时间时间:抓取日志时的时间戳控制台配置文件日志收集模式以上一节的访问日志为例,控制台进行Logtail配置可通过极简模式和完整模式进行设置,具体流程如下:指定配置名称首先需要指定配置的具体名称,并且名称不能进行修改。配置名称只能包含小写字母,数字,横线(-)和下划线(_),并且必须以小写字母或者数字作为开头和 结尾,长度限制在3-63个字节。指定配置模式

38、如果选择数据源为文本文件,首先需要指定文件目录和文件名称。指定文件夹下所有符合文件名称的文件都会被监控到(包含所有层次的目录),其中文件夹必须填写完整路 径,文件名称可以是完整名,也支持通配符模式匹配。例如:/apsara/nuwa/./app.Log极简模式为了降低用户配置文本文件日志内容收集的难度,提供极简配置方式,只需要提供文件指定完成文件目录和文 件名称,Logtail即会按照每行为一条日志,并且不会对日志内容中字段进行提取,同时将日志时间设定为抓取 该条日志的时间,如下:设置完成后,应用到指定机器组即可完成Logtail收集的配置,收集到服务端的日志如下:如上面的索引查询结果页面,每

39、条日志所有内容都在名为content的key之下。目前极简模式即默认选择了单行模式,不提取字段(即正则表达式为(.*))和使用系统时间三个功能,如果后续需要对极简模式进行更详细的设置可以通过修改配置进入完整模式逐项调整。完整模式如果需要对内容做更多个性化的抓取设置(比如跨行日志,提取字段等),选择完整模式即可进行个性化定 制。用户可以参考使用Logtail写入日志了解这些参数的具体含义和设置方式。下面将对每项功能进行具体描述:单行模式目前完整模式中默认选择了单行模式,即按照一行为一条日志进行分割,如果需要收集如上跨行 日志(比如java程序日志),需要关闭单行模式,然后设置行首正则表达式,行首

40、正则表达式提 供自动生成和手动输入两种功能,填写完成日志样例后,点击自动生成即会生成正则,如果无法自 动生成,可以切换为手动模式输入进行验证。在配置Logtail时需要用户提供日志样例的目的是方便日志服务控制台自动提取其中的正则匹配模 式,请务必使用实际场景的日志。提取字段如果需要对日志内容中的字段单独分析处理,可以使用使用提取字段功能将指定字段变成Key- Value对后发送到服务端,所以需要用户指定解析一条日志内容的方式(具体来说,就是正则表达式)。日志服务控制台提供两种方式让用户指定解析正则表达式。第一种方式是通过简单交互自动生成 正则表达式,如下图:用户通过划选的方式操作日志样例,告知

41、需要提取的字段。日志服务控制台会自动生成正则表达式。关于划选的具体交互方式请参考如下动画:尽管第一种方式避免了用户自己写正则表达式的困扰,但是自动生成的正则表达式很多时候并不是最 优化的,所以日志服务控制台仍然提供用户手动直接输入正则的途径。用户只需点击上图中的手动输 入正则表达式链接即可切换到手动输入模式,如下图:手动输入完成后,点击图上验证按钮即会验证用户输入的正则表达式是否可以解析、提取日志样例。无论使用自动生成还是手动输入方式产生日志解析正则表达式后,日志服务控制台都会要求用户给 每个提取字段命名(设定对于字段的Key),如下图:对于极简模式中的访问日志样例,可以通过提取字段功能提取访

42、问ip,访问时间,http方法,访问 地址和访问延时等字段,如下:使用系统时间默认设置使用系统时间,如果关闭使用系统时间功能,Logtail在解析一条日志字符串时就要求用 户指定提取字段中的某一个为时间字段,并命名为time(如上图)。在选取time字段后,用户可以 点击上图中的自动生成按钮生成解析该时间字段的方式。关于日志时间格式的更多信息请参考Logtail日期格式。根据如上的完整模式生成的配置保存后即会同步至Logtail客户端,收集到服务端的日志内容如下:如上面的查询页面结果,每条日志都按照设定的Key-Value收集到了服务端。完成解析日志的配置后,点击完成配置按钮即可以完成该Log

43、tail配置的全部创建过程。之后回到应用机器组。什么是索引KEY_1 ORKEY_2KEY_1 ORKEY_2日志中出现KEY_1 或 KEY_2KEY_1 ANDKEY_2日志中同时出现KEY_1和KEY_2KEY_1 NOTKEY_2日志中出现KEY_1但不出现KEY_2(KEY_1 OR KEY_2) AND KEY_3 NOTKEY_4日志中出现KEY_1或KEY_2,并且出现KEY_3但不出现KEY_4如何设置索引在日志服务控制台Project列表页面选择指定Project点击即可进入LogStore列表页面,在日志消费模式下 可以通过创建或者修改进行索引配置,如图示:如果需要为te

44、st-index日志库创建索引,点击创建链接显示如下对话框:其中test-index写入的日志内容如下:索引属性配置说明数据保存时间支持7天、30天和90天,一旦创建无法修改。全文索引属性- 开关全文索引属性默认打开,如果所有查询都指定Key名称可以关闭全文索引属性全文索引属性和键值属性必须至少设置一种大小写敏感选择false表示不区分,则查询INTERNALERROR和internalerror都能查询到样例日志,如果选择true,则只能通过internalError查询到样例日志。分词符日志内容:a,b;c;D-F如果设置分隔符为:逗号,分号和短横线,则切分出来5个关键词: 日志内容:a,

45、b;c;D-F如果设置分隔符为:逗号,分号和短横线,则切分出来5个关键词: a b c D F键值索引属性默认的索引会查询日志中所有key对应的内容,只要有一个命中,就会被查询到。比如日志样例中,如果查询internalError,在error和code两个key中都满足该查询条件,如果只需要查询error为internalError的日志内容,需要设置键值索引,如下图示:error:internalError其中键名称即为用户指定日志内容特定字段Key,其它两项属性大小写敏感和分词符与全文索 引属性中的功能一致,创建完成如上图的索引属性后,可根据如下查询获取error字段为internalE

46、rror的日志内容:error:internalError合理配置索引根据具体的查询业务需求,可以选择合适的索引方法,既能达到高效查询的需求,也能节省使用费用。所有查询不需要指定键名称(Key)可以只设置全文索引属性无需设置键值索引属性部分查询需要指定键名称(Key)根据需求,对特定键(Key)创建键值索引所有查询都会指定键名称(Key)关闭全文索引属性根据需求,特定的Key创建键值索引属性项目(Project)是日志服务中的资源管理单元。它管理着用户的所有日志库(Logstore),采集日志的机器配 置等信息,同时它也是用户访问日志服务资源的入口。具体来说,Project提供用户如下功能:帮

47、助用户组织、管理不同的Logstore。在实际使用中,用户可能需要使用日志服务集中收集、存储不 同项目、产品或者环境的日志。用户可以把不同项目、产品或者环境的日志分类管理在不同的Project中,方便后续的日志消费、导出或者索引。同时,Project还是日志访问权限管理的载体。提供用户日志服务资源的访问入口。每创建一个Project,日志服务会为该Project分配一个独有的访 问入口。该访问入口支持通过网络写入、读取及管理日志。本章接下来将详细解释如何操作和使用日志服务Project。创建项目目前,日志服务仅提供控制台方式创建Project。你可以参考项目操作了解如何使用控制台创建项目。在创

48、建项 目时需要注意如下几点:内)。如果你选择的Project名称已经被别人使用,系统 会及时提醒。Project创建时需要指定所在的阿里云Region。你需要根据需要收集的日志来源和其他实际情况选择 合适的阿里云Region。如果你需要收集来自阿里云ECS虚拟机的日志,建议在ECS虚拟机相同的(不占用ECS虚拟机公网 带宽)收集日志。Project一旦创建完成则无法改变其所属Region,且日志服务目前也不支持Project的迁移,所以请谨慎选择Project的所属Region。1. 一个用户在所有阿里云Region总计最多可创建10个Project。访问项目.成功创建完Project后,日志

49、服务后端即给该Project分配了唯一的访问入口。该访问入口的格式如下:.其中,即为创建的Project名称,而为Project所属阿里云Region的日志 服务入口。目前已有多个阿里云Region已开通日志服务(服务入口),现假设用户在华东 1 (杭州)Region创建了名称为myslsproject的Project,则该项目的访问入口为:如果在阿里云的ECS机器内使用日志服务API,还可以使用内网服务入口(使用内网服务入口访问日志服务不消 耗ECS公网流量,可以节约宝贵的ECS公网带宽),各个Region的日志服务内网根服务入口。 如上例,其内网访问地址如下:在获得该访问入口后,用户就可以

50、通过日志服务的API或者SDK来访问该Project下面的日志库、向具体日志库 写入日志,消费日志内容或者查询日志信息。同时,你也可以通过日志服务的控制台列出Project下的所有日志 库,创建日志库等。具体可以参考项目操作。管理项目如前所述,Project为日志服务的资源管理单元,用户可以通过Project来管理自己的各种日志库,需要采集日志 的机器。具体来说,用户可以如下管理日志服务的Project:创建和删除Project内的日志库(Logstore)。日志库为日志服务内的日志存储单元,它用于存储一类 日志。而一个用户实际项目中可能需要收集的日志类型可能有多种,如前端Web服务器的访问日

51、志(access log),后端应用程序生成的应用日志(application log)等。用户则可以在Project创建独立的日志库并把不同类型的日志写入不同的日志库。关于日志库的更多信息请参考管理日志库。 Group)的方式帮助用户管理需要采集日志的服务器。用户可以在一个Project中创建和删除机器组,同样机器IP把需要采集的服务器归类到相应的机器组中。一种常见的 实践就是让需要写入一个Logstore的所有日志源(如所有前端Web服务器)加入到一个机器组进行管 理。目前,日志服务仅提供控制台方式帮助用户管理Project。你可以通过控制台完成如上所述的所有管理操作。具 体可以参考项目操

52、作。删除项目在某些情况下(如关闭日志服务,销毁Project的所有日志等),用户可能需要删除整个Project。日志服务允许 用户在控制台上方便地删除整个Project。当用户的Project被删除后,其管理的所有日志数据及配置信息都会永 久释放,不可恢复。所以,在删除Project前请仔细确认,避免数据丢失。具体如何在控制台删除Project,请参 考项目操作。日志库(Logstore)是日志服务中的日志存储和查询单元,通常用于存储一类日志数据。在日志服务中,无论 是写入或者查询日志,用户都需要指定操作的日志库。如果用户希望投递日志数据到ODPS做离线分析,其数 据投递也是以Logstore

53、为单元进行数据同步(即一个Logstore内的日志数据投递到一张ODPS的Table)。具 体来说,Logstore提供如下功能:收集日志,支持实时日志写入。存储日志,支持实时消费。建立索引,支持日志实时查询。提供投递到ODPS的数据通道。本章接下来将详细解释如何操作和使用Logstore。创建Logstore目前,日志服务支持在控制台或者通过API创建Logstore。你可以参考日志库操作了解如何在控制上创建一个Logstore,使用API创建Logstore请参考CreateLogstore。在创建Logstore时需要注意如下几点:任何一个Logstore必须在某一个Project下创建

54、,且一个Project下最多可以创建100个Logstore。(-)和下划线(_),必须以小写字母或者数字开 头和结尾,长度必须在3-63字节以内。且Logstore名称在其所属项目内必须唯一。日志数据的消费模式指用户打算使用日志数据的方式。其中日志消费模式支持利用日志服务 PullLogs数doc/1用户指南/7查询日志.md),其中日志 消费模式是默认打开的,且用户无法禁用。而日志据,日志投递模式支持把该日志库收集的 ODPS表格中(请参考投递日志到ODPS),日志索引模式支持 利用日志服务的实时查询接口查询该Logstore内的日志数据(请参考查询日志(投递模式可 以由用户自己确定是否打

55、开,日志索引模式目前处于内测阶段,具体开放时间请关注阿里云 官网通知。在创建Logstore时,用户需指定日志存储周期(目前只支持2天)。一旦用户日志数据超过存 储周期则会被日志服务自动删除,且无法恢复(因此,Logstore上的在线实时查询也只可能 查询在存储周期内的数据)。所以请仔细评估需求后选择合适的存储周期。除此之外还需要指 定shard个数,目前每个Logstore最大支持创建10个shard,并且无法减少,关于shard详细处 理能力请参考核心概念说明。一旦用户启用了日志投递消费模式,则需要用户指定离线投递到的ODPS Project和Table。用户需要提前在ODPS控制台中创建

56、好相应的ODPS Project及符合日志服务Schema要求的Table来接收数据,具体其参考如何开启日志投递ODPS功能。对于日志索引(内测)消费模式,用户需指定日志存储周期(7天、30天或者90天)。用户 可以按照自身需求灵活选择需要保存的日志存储周期。但是一旦创建时指定存储周期后,以后 就无法修改该日志存储周期。一旦用户日志数据超过存储周期则会被日志服务自动删除,且无 法恢复(因此,Logstore上的在线实时查询也只可能查询在存储周期内的数据)。所以请仔 细评估需求后选择合适的存储周期。向Logstore写入日志在创建完Logstore之后,用户就可以向该Logstore写入日志。目

57、前,日志服务支持通过API或者SDK来写入日 ECS服务器的数据,日志服务提供的Logtail日志收集服务可以帮助用户非常 方便的收集到日志数据。正如核心概念章节所述,日志服务的日志数据模型为一个半结构化格式。用户需要按照日志数据模型组织日志 数据,然后写入指定的Logstore。消费Logstore中的日志如前面所述,日志消费消费模式是默认开启的,因此用户可以实时通过指定游标(Cursor)和分区(shard大批量消费日志数据。你可以通过日志服务的API或者SDK查询Logstore中的日志。同时,日志服务控制台 也提供了日志预览界面,直观显示日志内容等。具体请参考日志消费预览。关键词查询L

58、ogstore中的日志在启动日志索引消费模式后,用户的每条写入日志都会被日志服务端建立索引。因此,用户得以在海量日志 数据上完成近实时的日志查询操作。日志服务提供灵活的查询语法让用户可以方便、快速的检索出感兴趣的日 志数据。为了帮助用户在日志索引模式内更好组织日志,日志服务支持日志主题(Topic)。用户在写入日志的时候可 以指定该日志所属Topic。在写入后即可以限制在一个Topic内进行查询。例如,平台厂商可能需要收集其平台 上的不同用户的日志并按照用户处理和展示,这时可以用平台上的不同用户ID作为日志Topic向一个Logstore写入不同用户的同类型日志(如access log)。在进

59、行索引查询时,日志服务也支持通过Topic来查询一个Logstore中的日志,从而实现按用户处理和展示日志的目的。如果用户在写入日志时没有指定日志Topic,则该条日志的topic为默认值:空字符串(注意:空字符串也 是一个有效的日志主题)。在查询日志时,用户可以指定topic为空字符串(日志服务API中相应接口的 参数未指定时即为查询topic为空字符串日志)。如果用户不需要 在一个Logstore内做进一步的日志划分,可以在写入和查询日志时都可忽略日志主题(在日志服务实现层 会认为所有的日志主题都为空字符串)。API或者SDK查询Logstore中的日志。同时,日志服务控制台也提供了强大的

60、日志查询 页面帮助用户查询日志,直观显示查询结果等。具体请参考日志查询。管理分区(shard)分区(shard)是每个日志库下读写基本单元,用户可以指定每个日志库下分区数目。每个分区能承载一定量的服务能力:写入:5MB/S,2000次/S读取:10MB/S,100次/S每个分区(shard)都有一个md5表示的范围,当用户指定一个md5写入日志时,日志会落到这一个分区中。如果 不指定md5写入日志,服务端会把日志按照负载均衡的方式选择一个分区(shard)写入。扩容分区(shard)扩容分区通过分裂(split)操作。在分裂操作时,指定一个处于readwrite状态的hardId,和一个md5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论