本文介绍如何使用LoongCollector(Logtail)实现对ECS实例、自建Linux/Windows等主机文本日志的增量采集。如需采集全量日志,可以通过导入历史日志实现。
前提条件
安装LoongCollector(Logtail)
LoongCollector 是新一代日志采集 Agent,是 Logtail 的升级版。暂不支持Windows系统,如需在Windows主机上采集日志,请参考机器组-Windows相关内容。
不同场景下的安装方式
安装方式 | 适用场景 |
仅当服务器为阿里云ECS,且ECS与Project属于同一个阿里云账号,所属地域也相同时适用。 | |
当服务器为阿里云ECS,且ECS与Project属于同一个阿里云账号,但不属于同一个地域时适用。 | |
当服务器为阿里云ECS,且ECS与Project属于同一个地域,但不属于同一个阿里云账号时适用。 | |
|
安装步骤
ECS与Project同账号同地域
ECS实例与日志服务Project同账号同地域时,可以通过阿里云运维编排服务(OOS)在ECS实例中自动安装LoongCollector(Logtail),同时完成机器组的创建和配置,此处仅提供自动安装的必需操作,更多详细信息请参考LoongCollector安装(Linux):
|
日志服务提供了正则、单行等多种文本日志接入模板,各模板之间除了解析插件不同外,其余配置完全相同;同时,模板内支持添加、删除解析插件。此处您可以根据采集日志的特点选择模板,也可以任意选择文本日志模板后再根据日志特点进行插件配置。
在机器组配置页面,选择主机场景和ECS安装环境后单击创建机器组。
在创建机器组面板中,选择与Project同地域的ECS实例(ECS实例可以选择多台),单击安装并创建为机器组,等待安装完成,配置机器组名称并单击确定。
说明如果安装失败或一直处于等待中,请检查ECS地域是否与Project相同。
安装后,您可前往
页面,单击新建的机器组,在 区域,查看心跳状态。如果心跳为OK则表示创建成功。
ECS与Project同账号不同地域
当ECS与Project属于同一个阿里云账号,但不属于同一个地域时,需要手动下载安装包,并通过公网传输的方式执行安装命令。
下载LoongCollector:替换
${region_id}
为ECS实例所属地域的RegionID。wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;
安装LoongCollector
选择安装命令,并替换
${region_id}
为Project所属地域的RegionID。合适的网络传输方式有利于日志数据的传输更快速稳定。公网:适用于大多数场景,最常见于跨地域或外部服务器(如自建IDC),但受带宽限制且不稳定。
chmod +x loongcollector.sh; ./loongcollector.sh install ${region_id}-internet
传输加速:用于跨地域(如国内到国外),通过CDN加速提升性能,避免公网延迟高,传输不稳定问题,但流量需额外计费。
需要先打开Project的日志跨域传输加速功能,再执行安装命令。
chmod +x loongcollector.sh; ./loongcollector.sh install ${region_id}-acceleration
安装完成后执行
sudo /etc/init.d/loongcollectord status
查看状态,系统返回loongcollector is running
则表示安装并启动成功。若显示未运行,请卸载后重新安装。
创建机器组:用于管理和组织多台服务器的日志采集工作。
创建用户自定义标识文件:日志服务通过发现用户自定义标识与主机上的LoongCollector建立心跳连接。
重要同一机器组中不允许同时存在Linux和Windows服务器,请勿在Linux和Windows服务器上配置相同的用户自定义标识。
一个服务器可配置多个用户自定义标识,标识之间以换行符分隔。
在指定目录下(如目录不存在请手动创建)创建用户自定义标识文件
user_defined_id
,并配置用户自定义标识,此处以user-defined-1
为例:默认情况下,新增、删除、修改自定义标识文件后,1分钟内生效。
echo "user-defined-1" > /etc/ilogtail/user_defined_id
配置机器组:登录日志服务控制台,单击管理日志资源的Project,在左侧导航栏中,选择 。单击机器组右侧 ,配置完成后单击确定。
设置机器组名称。
机器组标识:选择用户自定义标识。
用户自定义标识:手动输入
user-defined-1
。
确认机器组创建成功:创建完成后,在机器组列表,单击新建的机器组,在
区域,查看心跳状态。如果心跳为OK则表示创建成功。若心跳失败,请检查用户标识与用户自定义标识内容是否正确。
基础采集配置
在确认满足前提条件后,您可以开始进行基础配置。同时,也可以参考高级采集配置,对日志内容进行脱敏、过滤等处理,实现更精细化的日志采集需求。
若您通过阿里云运维编排服务(OOS)自动安装了LoongCollector,则选择模板接入的操作已完成,您可跳过此步骤,直接进行基础采集配置。
登录日志服务控制台,单击管理日志资源的Project查看日志库列表,单击存放日志的Logstore名称前的展开,之后单击数据接入后的
,在搜索框中输入文本日志进行模板搜索,选择合适的模板,单击立即接入:
日志服务提供了正则、单行、多行等多种文本日志接入模板,各模板之间除了日志解析插件不同外,其余配置完全相同;同时,模板内支持添加、删除日志解析插件。此处您可以根据采集日志的特点选择模板,也可以任意选择文本日志模板后再进行插件配置与组合。
单行-文本日志采集:将日志整行存入content字段(保留原始文本),适合快速采集无需分析的日志(如临时调试),操作简单但后续分析时需通过模糊搜索手动提取信息,分析成本高。
其他文本日志采集:根据日志格式选择内置解析功能(如Nginx/JSON/正则)会自动提取关键字段(如status=200、method=GET),查询分析更高效,适合需长期频繁分析的日志,虽然需要配置解析规则,但能显著降低查询分析成本。
对比示例(以Nginx日志为例)
原始日志: | |
极简模式(单行-文本日志)采集结果 | 选择解析插件(Nginx)解析结果 |
|
|
极简单行
正则解析
分隔符解析
标准JSON解析
嵌套JSON解析
JSON数组解析
Nginx日志解析
IIS日志解析
Apache日志解析
高级采集配置
您可以在基础采集配置的同时,参考下述操作进行高级配置,以满足更精细化的日志采集需求,也可以在基础配置完成后通过更新方式进行调整。以下是常见高级配置及其功能:
Logtail提供了处理插件用于将原始日志进一步解析为结构化数据,处理插件分为原生处理插件和扩展处理插件,此处覆盖原生处理插件的使用。
在目标Project页面中单击
展开目标Logstore,单击Logtail配置,单击目标Logtail配置操作列的管理Logtail配置,在配置页面单击编辑。
在Logtail配置页面,您可按需从下列场景中选择合适的操作修改采集配置规则:
配置多行日志采集:当一条日志内容(如异常堆栈信息)占用多行时,需启用多行模式,并配置行首正则表达式以匹配日志的起始行,将占用多行的日志作为一条日志采集并存储到日志服务。
允许文件多次采集:允许一个文件日志被多个LoongCollector(Logtail)配置采集。
配置日志主题类型:为不同的日志流设置不同的主题(Topic),可用于组织和分类日志数据,更好地管理和检索相关日志。
配置采集黑名单:在采集时忽略指定的目录或文件,支持按照文件路径、文件、目录配置黑名单。
日志脱敏处理:对日志中的敏感信息进行脱敏处理后保存到日志服务。
日志内容过滤:当原始日志中有大量无效日志无需保存到日志服务时,可使用日志过滤来剔除。
指定写入日志时间:用于解析日志中的时间字段,并将解析结果设置为日志的
__time__
字段。日志传输压缩:如果您想要优化日志传输效率,您可配置压缩方式,支持
lz4
和zstd
。
对比示例(以脱敏插件为例)
原始日志: | |
JSON文本日志采集结果 | 脱敏插件解析结果 |
|
|