文本日志是日志的最基本类型,本文介绍使用日志服务的Logtail采集器采集ECS主机上的文本日志、查询与分析日志,可视化查询与分析结果,配置日志异常告警等步骤,帮助您快速上手使用日志服务。
前提条件
已有可用的ECS。更多信息,请参见云服务器ECS快速入门。
已开通日志服务。具体操作,请参见开通日志服务。
背景信息
本示例中以一个包含一条文本日志的文本文件为例,其路径在ECS的/var/log/nginx/access.log
下。
access.log
文件中的日志内容如下:
10.0.*.1 - - [20/Mar/2023:12:00:03 +0000] "POST /login HTTP/1.1" 302 0 "http://example.com/login.html" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36"
针对该日志样例,本文介绍使用日志服务的操作步骤。若您拥有自备日志文件,也可使用自备文件并按需放置在ECS的自定义路径下。
方案概览
阅读本文您可以学习:
创建Project(资源管理单元)和Logstore(日志存储单元)。
通过安装Logtail采集器并进行采集配置将日志采集到Logstore中进行存储。
在日志服务控制台对日志进行查询与分析。
将分析结果通过仪表盘转换为可视化图形。
通过配置告警规则实现告警监控。
如何清理不再需要的资源以免产生额外费用。
1. 创建Project和Logstore
1.1 创建Project
登录日志服务控制台。
在Project列表区域,单击创建Project,在创建Project面板中,选择所属地域(和ECS所属地域相同),输入Project名称,其余参数保持默认。
1.2 创建Logstore
创建Project完成后,系统会提示您创建一个Logstore。在Logstore面板中,输入Logstore名称,其余参数保持默认。
您的ECS需要与日志服务Project属于同一地域。如果您的ECS不满足此条件,或者您使用的是自有服务器,请参考主机文本日志采集(手动安装)中的内容完成日志采集步骤。
2. Logtail采集配置
通过进行Logtail采集配置,可以将Logtail安装至ECS服务器并开始采集日志,日志会发送到对应的Logstore中。
2.1 选择日志空间
在创建成功对话框中,单击确定。
在快速数据接入对话框的自建开源/商业软件页签下,单击单行-文本日志对应的立即接入,表示将以单行解析的方式处理文本日志。
2.2 机器组配置
单击
,在创建机器组面板中,选择与Project同地域的ECS实例,单击安装并创建为机器组。页面中Logtail安装情况提示成功,则表示安装成功。如果安装失败,单击重建安装任务,重新选择与Project同地域的ECS实例。
Logtail安装完成后,输入机器组名称,IP地址会自动填充,无需填写。
检测机器组心跳。创建机器组大约需要2分钟。创建未生效,将导致心跳为FAIL。请2分钟后单击自动重试进行重试,直到机器组心跳为OK。机器组心跳FAIL排查请参见Logtail机器组无心跳。
2.3 Logtail配置
参考下图,输入配置名称,文件路径为/var/log/nginx
与*.log
,添加背景信息中的1条日志样例。
2.4 查询分析配置
Logtail配置生效需要1分钟左右,自动刷新后,出现预览数据,则说明Logtail配置生效。 配置生效后,单击下一步,Logtail采集配置全部完成。至此日志已按极简单行模式被存储到日志服务中。如果您希望使用其他解析模式,请参考采集配置。
3. 查询与分析日志
在配置向导的结束步骤中,单击查询日志。跳转到目标Logstore的查询分析页面,可能会有如下提示,原因是索引还未配置完成,关闭后等待1分钟,即可查看access.log
文件中的日志内容。
在输入框中输入任意字符(如
HTTP
),选择时间范围,就可以查询包含该字符的日志。您可以在access.log
中多添加一些日志内容来查看,例如下图是重复添加了背景信息的日志样例到access.log
后的查询结果。查询与分析功能主要有索引与语句语法两方面,如果您需要更好的使用查询与分析功能,请参考通过索引模式查询和分析日志进行学习。
4. 仪表盘可视化数据
在Project页面左侧导航栏中找到仪表盘下的仪表盘列表,单击添加仪表盘。
在添加仪表盘对话框,选择您希望的仪表盘布局模式,默认使用网格布局,填写仪表盘名称后单击确认。
在新生成的仪表盘中点击添加新图表后进入图表创建页面。
在编辑图表页面中,左下角查询分析面板处下拉选择Logstore(SQL),然后下拉选择对应的Logstore,输入
select count(*) as pv
,表示统计日志条数并重命名为pv(访问量)。由于示例是统计数量,因此在右侧图表类型中选择统计图Pro,然后点击应用,即可展现下图效果。如果可视化效果符合预期,单击确定,然后在仪表盘页面中单击右上角的保存。仪表盘支持多种图表类型,支持数据筛选过滤与对接第三方工具,更多使用请参考可视化概述学习。
5. 监控与告警
在Project页面左侧导航栏中找到告警,单击告警规则下的新建告警。
在新建告警页面中单击查询统计处的添加进行查询统计规则的配置。
按下图所示选择对应的Logstore,将查询区域的默认语句
*|SELECT *
替换为*
后单击预览,即可出现查询数据。单击确认保存配置。该配置表示查询选中日志库下最近15分钟的所有日志数据。说明*
表示查询所有的日志,*|SELECT *
表示查询并分析所有日志,分析日志需要为日志字段配置字段索引并开启统计功能。本示例未配置字段索引,如需分析日志请参见创建索引。单击确定保存告警规则,此规则配置每15分钟查询统计所有日志,当日志条数大于1时,触发严重度为中的告警。
单击新建的告警规则,在告警历史区域中发现告警信息如下。在仪表盘可视化中统计数据是5,但是告警配置后第一次并未触发,手动在
access.log
中添加两条背景信息中的日志样例后,统计数据为7并触发了告警。原因是检查频率与查询统计的查询区间均设置15分钟,造成只有增量日志时才触发告警的表象,您可以通过修改时间范围调整。如果您想深入了解告警功能,请参考告警概述以及快速设置日志告警进行学习。
6. 删除Project和Logstore
在您完成以上快速入门教程后,您可能需要在实际业务场景中使用日志服务,此时您可能不再需要新手教程中创建的资源,但保留这些资源将会产生计费。因为只要Logstore存在,无论是否使用都会产生活跃Shard租用费用。因此,您需要手动删除资源。计费详情参考计费概述。
在Project页面找到对应Logstore后,先删除Logtail配置,然后再删除Logstore。
或者您也可以在Project列表中找到对应Project直接单击删除来删除Project的所有资源。
相关文档
日志服务支持多种形式的日志采集,具体请参考数据采集概述。
采集K8s日志请参见通过DaemonSet方式采集Kubernetes容器文本日志和通过Sidecar方式采集Kubernetes容器文本日志。
采集云产品日志请参见云产品日志概述。
您可以将重要的查询和分析结果保存成仪表盘(可视化工具)。具体操作,请参见创建仪表盘。
如需对日志配置告警,请参见快速设置日志告警。
下载日志请参见下载日志。
当您对查询分析与仪表盘使用较为熟练后,您可能会发现有时候原始数据无法满足您的分析要求,需要加工数据的情况。日志服务提供数据加工能力,对日志数据内容进行加工、清洗和过滤筛选。详情参考数据加工(新版)概述。
当您对日志服务功能使用较为熟练后,您可以结合函数计算配置自动触发器,来实现根据日志情况自动触发函数执行,具体请参考配置云产品事件触发器与SLS触发器。
常见问题
仅创建Project和Logstore,会产生费用吗?
当您在创建Logstore时,日志服务默认预留Shard资源,因此可能产生活跃Shard租用费用。更多信息,请参见为什么会产生活跃Shard租用费用?
采集日志失败,如何排查?
使用Logtail采集日志失败,可能是因为Logtail心跳异常、采集错误、Logtail采集配置错误等原因。如何排查,请参见Logtail采集日志失败的排查思路。
在Logstore查询与分析页面,可以查询日志但无法分析日志,如何解决?
如果您要分析日志,需要为日志字段配置字段索引并开启统计功能。更多信息,请参见创建索引。
如何关闭日志服务,停止计费?
日志服务开通后无法关闭,如果不再需要使用日志服务,您可删除所有Project,具体操作请参见停止计费。