本文主要介绍日志采集工具 Logtail与LoongCollector版本演进与核心功能变更,以及Logtail向LoongCollector升级以及LoongCollector回滚至Logtail版本的操作流程。
版本对比
版本命名变更说明
Logtail、iLogtail、LoongCollector实际上是同一软件在不同时期的不同命名:
Logtail/iLogtail:3.0版本之前的命名。
LoongCollector:3.0版本之后的命名。
日志与Tag解析规范化
日志主体重复key处理:
1.8版本之后:不允许日志主体中出现重复的key,例如输入
content: xxx, content: yyy将只保留一个content: xxx。1.8版本之前:保留所有重复key并重命名,例如输出
content: xxx, content_0: yyy
日志tag重复key处理:
1.8版本之后:不允许日志tag中出现重复的key,例如输入
__tag__:tag: xxx, __tag__:tag: yyy将只保留一个__tag__:tag: xxx。1.8版本之前:保留所有重复key并重命名,例如输出
__tag__:tag: xxx, __tag__:tag_0: yyy。
单行、多行日志处理增强
异常处理机制变更:
2.x版本:默认按
\n切分,如需丢弃可通过Multiline.UnmatchedContentTreatment参数设置为discard。1.x版本:无法按行首分割时将整个内容作为一块处理。
最后一行日志处理:
1.8版本之前:无回车符的最后一行日志或最后一段多行日志需要等待回车或下一个多行段落才会输出。
1.8版本之后:引入超时机制控制。为了保证最后一段完整性,默认延时为60秒,2.0版本之前无法调整。2.0开始全局控制参数为
default_reader_flush_timeout,采集配置级控制参数为FlushTimeoutSecs。如果对延时敏感可通过上述参数调整,不建议设置为0,以免日志截断。
Tag处理机制变更
通过扩展插件处理后的Tag将保留在Tag形式中,即写入数据模型的tags结构中,相比之前写入content结构的方式大幅节省空间:
对消费场景有影响,需要进行兼容性处理。
对查询场景无影响。
容器日志采集路径变更
采集ACK集群容器日志时,如果配置使用ACK控制台创建:
2.0版本起:目录的最大递归深度默认是0,如果采集路径中有
/**/,则为10。2.0版本之前:最大递归深度默认均为100。
主机场景Logtail升级到LoongCollector
从Logtail升级到LoongCollector
请根据主机操作系统,参照下表对应命令升级Logtail至LoongCollector。
主机类型 | 操作系统 | 下载方式 | 安装方式 |
Linux | ARM | 主机可联网,直接下载。 | 根据网络情况选择安装命令。 |
x86-64 | |||
ARM | 主机离线,需先在可以访问公网的服务器上下载安装脚本与安装包。 | 请将安装脚本和安装包拷贝至需要安装 | |
x86-64 | 主机离线,需先在可以访问公网的服务器上下载安装脚本与安装包。 |
如果显示以下信息,则表示升级成功。
Try to stop ilogtail ...
kill process Name: ilogtail pid: 878
kill process Name: ilogtail pid: 879
stop successfully
Stop ilogtail successfully.
Upgrading loongcollector files ...
Upgrade loongcollector files successfully.
Starting loongcollector ...
loongcollector is running
Upgrade loongcollector successfully.从LoongCollector回滚到Logtail
请根据主机操作系统,参照下表对应命令将LoongCollector回滚到Logtail。
必须要重新下载logtail.sh脚本,不能使用原来的logtail.sh脚本。
操作系统 | 下载方式 | 升级方式 |
ARM与x86-64 | 主机可联网: | 下载完成后执行升级命令。 如果需要指定某个特定版本,则执行如下命令。 |
ARM | 主机离线,需先在可以访问公网的服务器上下载安装脚本与安装包: | 请将安装脚本和安装包拷贝至需要升级Logtail的服务器上后,执行如下升级命令。 |
x86-64 | 主机离线,需先在可以访问公网的服务器上下载安装脚本与安装包: |