多行模式不对日志内容进行解析,每条日志都被作为一个整体被采集到日志服务中,极大简化了日志采集流程。本文介绍如何通过日志服务控制台创建多行模式的Logtail配置采集日志。
方案概览
在多行模式下,Logtail通过行首正则表达式去匹配一条日志的行首,未匹配部分为该条日志的一部分。Logtail会将日志内容存放在content
字段中,不会对日志中的字段进行提取。每条日志时间为采集时Logtail所在主机的系统时间。
假设您的原始日志为:
2024-08-19 13:47:37,070 ERROR Failed to join the cluster, retry...
java.lang.IllegalStateException: Fail to get leader of group naming_service_metadata, Unknown leader
at com.alipay.sofa.jraft.core.CliServiceImpl.getPeers(CliServiceImpl.java:605)
at com.alipay.sofa.jraft.core.CliServiceImpl.getPeers(CliServiceImpl.java:498)
at com.alibaba.nacos.core.distributed.raft.JRaftServer.registerSelfToCluster(JRaftServer.java:353)
at com.alibaba.nacos.core.distributed.raft.JRaftServer.lambda$createMultiRaftGroup$0(JRaftServer.java:264)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
使用多行模式采集到日志服务后的效果展示:
前提条件
已创建Logtail机器组并添加相应服务器,创建机器组的步骤,请参见创建用户自定义标识机器组(推荐)或创建IP地址机器组。
安装Logtail的主机需开放80(HTTP)端口和443(HTTPS)端口。ECS实例的端口由安全组规则控制,添加安全组规则的步骤请参见添加安全组规则。
服务器日志的内容持续新增。Logtail只采集增量日志,如果下发Logtail配置后日志文件无更新,则Logtail不会采集该文件中的日志。更多信息,请参见读取日志。
1. 选择Project和Logstore
登录日志服务控制台。
单击控制台右侧的快速接入数据卡片。
在接入数据页面,查找多行 - 文本日志并单击。
选择目标Project和Logstore,日志会被采集到对应的Logstore。
2. 机器组配置
Logtail配置会应用到指定的机器组,从而采集服务器上的数据。无论是否已有机器组,都必须根据实际需求正确选择使用场景和安装环境,这将影响后续的页面配置。
已有机器组
从源机器组列表选择目标机器组,单击下一步。
没有可用机器组
单击创建机器组,在创建机器组面板设置相关参数。机器组标识分为IP地址和用户自定义标识,更多信息请参见创建用户自定义标识机器组(推荐)或创建IP地址机器组。
重要创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击重试。如果还未解决,请参见Logtail机器组无心跳进行排查。
3. Logtail配置
3.1 全局配置
3.2 输入配置
文件路径
最大目录监控深度
3.3 处理配置
日志样例,支持多条日志;添加日志样例可协助您配置日志处理相关参数,降低配置难度,建议添加。
多行模式,本示例为采集多行日志,请打开此功能。
类型,选择自定义,本示例使用的行首正则表达式为:
\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d+\s.*
切分失败处理方式,选择保留单行。
处理模式,选择无。
Logtail配置生效时间最长需要3分钟,请耐心等待。
4. 查询分析配置
日志服务默认开启全文索引。您也可以根据采集到的日志,手动创建字段索引,或者单击自动生成索引,日志服务将自动生成字段索引。更多信息,请参见创建索引。
5. 查询日志
单击查询日志,系统将跳转至Logstore查询分析页面。
您需要等待1分钟左右,待索引生效后,才能在原始日志页签中,查看已采集到的日志。查询和分析日志的详细步骤,请参见查询和分析日志。
如果需要查询日志中的所有字段,建议使用全文索引。如果只需查询部分字段、建议使用字段索引,减少索引流量。如果需要对字段进行分析(SELECT语句),必须创建字段索引。