如果您要使用日志服务Project采集服务器日志,首先需要在目标服务器上安装Logtail客户端。本文介绍如何在Linux系统中安装、升级和卸载Logtail。
使用限制
兼容性要求
如果您的机器配置较低或操作系统版本较旧,安装 Logtail 2.0 可能会出现兼容性问题,导致软件无法正常运行。在这种情况下,建议使用Logtail 1.8.7
版本。安装命令如下:
./logtail.sh install ${region_id} -v 1.8.7
支持的操作系统
Linux x86-64(64位)服务器
Logtail支持以下操作系统版本:
Alibaba Cloud Linux: 2、3
Anolis OS: 7、8
CentOS Linux: 6、7、8
Debian GNU/Linux: 8、9、10、11、12
RedHat Enterprise: 6、7、8、9
OpenSUSE: 15.1、15.2、42.3
SUSE Linux Enterprise Server: 11、12、15
Ubuntu: 14.04、16.04、18.04、20.04、22.04、24.04
其他基于 glibc 的 Linux 操作系统:
Logtail 2.0及以上版本需要glibc 2.6及以上版本。
Logtail 1.x版本支持glibc 2.5及以上版本。
CPU要求(x86-64):
Logtail 2.0及以上版本需要CPU支持sse4_2和avx指令集。
Linux ARM(64位)服务器
Logtail支持以下操作系统版本:
Alibaba Cloud Linux 3.2 ARM版
Anolis OS 8.2 ARM版及以上版本
CentOS 8.4 ARM版
Debian 11.2、12.2 ARM版
Ubuntu 20.04、22.04、24.04 ARM版
CPU要求(ARM):
Logtail 2.0及以上版本需要CPU架构最低为ARMv8.2-A。
安装Logtail
在线安装
请根据日志服务Project采集日志数据的网络连接方式(即网络类型),选择对应的安装命令进行安装。更多关于网络类型的说明,请参见选择网络。
网络类型
适用场景
阿里云内网
云服务器ECS实例和日志服务Project位于同一地域。
公网
云服务器ECS实例和日志服务Project位于不同地域。
服务器为其他云厂商的云主机或自建数据中心(IDC)。
传输加速
如果服务器分布于海外自建机房或来自海外云厂商,使用公网传输数据可能会导致网络延迟高、传输不稳定等问题。建议选择传输加速功能以提升数据传输的效率和稳定性。
说明在线安装时,将根据服务器系统自动匹配安装对应的Logtail,无需进行手动选择。
阿里云内网(经典网络、VPC)
未确定ECS实例所在地域
如果尚未确定ECS实例所在的地域,可以通过以下步骤安装 Logtail。
在ECS实例中通过公网下载Logtail安装脚本到当前工作目录。此操作会消耗约 10 KB 的公网流量。
wget http://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/linux64/logtail.sh -O logtail.sh
使用auto参数安装Logtail。
执行以下命令安装Logtail,并指定
auto
参数。安装脚本会自动获取ECS实例元数据,确定实例所在地域,并通过阿里云内网下载对应地域的安装程序(不消耗公网流量)。chmod +x logtail.sh ./logtail.sh install auto
已确定ECS实例所在地域
如果已知ECS实例所在的地域,可以按照以下步骤安装 Logtail。
根据ECS实例所在地域,获取对应的
${region_id}
。重要各地域对应的
${region_id}
请参见开服地域,例如华东 1(杭州)对应的${region_id}
为cn-hangzhou
。使用阿里云内网下载Logtail安装脚本(不消耗公网流量)并完成安装,注意替换
${region_id}
为实际地域值。wget http://logtail-release-${region_id}.oss-${region_id}-internal.aliyuncs.com/linux64/logtail.sh -O logtail.sh chmod +x logtail.sh ./logtail.sh install ${region_id}
公网
根据日志服务Project所在地域,获取对应的
${region_id}
。重要各地域对应的
${region_id}
请参见开服地域,例如华东 1(杭州)对应的${region_id}
为cn-hangzhou
。执行以下命令下载Logtail安装脚本并完成安装,注意替换
${region_id}
为实际地域值。wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh chmod +x logtail.sh ./logtail.sh install ${region_id}-internet
传输加速
根据日志服务Project所在地域,获取对应的
${region_id}
。重要各地域对应的
${region_id}
请参见开服地域,例如华东 1(杭州)对应的${region_id}
为cn-hangzhou
。使用传输加速安装Logtial后,需要进入Project,开启传输加速域名后方可生效。具体操作,请参见开启Project的传输加速域名。
执行以下命令下载Logtail安装脚本并完成安装,注意替换
${region_id}
为实际地域值。wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh chmod +x logtail.sh ./logtail.sh install ${region_id}-acceleration
离线安装
假设您要采集服务器A上产生的日志,但是服务器A无法访问公网。此时,您可以先在能够访问公网的机器上下载Logtail安装包和安装脚本。然后将它们复制到服务器A上,并在服务器A执行安装脚本完成安装。具体操作步骤如下所示。
根据日志服务Project所在地域,获取对应的
${region_id}
。重要各地域对应的
${region_id}
请参见开服地域,例如华东 1(杭州)对应的${region_id}
为cn-hangzhou
。在能够访问公网的机器上,执行以下命令下载安装脚本,注意替换
${region_id}
为实际地域值。wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh
根据服务器架构,选择对应的命令下载安装包,注意替换
${region_id}
为实际地域值。x86-64 架构:
wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail-linux64.tar.gz
ARM 架构:
wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/aarch64/logtail-linux64.tar.gz
将下载的安装脚本(
logtail.sh
)和安装包(logtail-linux64.tar.gz
)拷贝至需要安装Logtail的目标服务器。在目标服务器上,执行以下命令完成Logtail的本地安装,注意替换
${region_id}
为实际地域值。chmod +x logtail.sh ./logtail.sh install-local ${region_id}
批量安装
如果您需要在多台ECS中安装Logtail,您可借助ECS云助手功能完成批量安装。具体操作步骤如下所示。
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
选择您要安装Logtail的ECS服务器,并单击发送命令。
确认云助手是在线状态(如果不是在线状态,请参见安装云助手Agent,完成云助手安装。),并单击下一步。
在脚本编辑框中输入安装命令(此处以公网安装方式为例,更多安装命令,请参见在线安装),并单击执行。等待命令执行完成,然后在输出栏查看结果,确认安装成功。
此处用到的安装命令如下所示:
#!/bin/bash region_id='cn-hangzhou' wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh chmod +x logtail.sh ./logtail.sh install ${region_id}-internet
安装Logtail后,如果ECS的网络由经典网络切换至VPC,则需要更新Logtail配置。更多信息,请参见ECS经典网络切换为VPC后,如何更新Logtail配置。
启动和停止Logtail
启动Logtail
sudo /etc/init.d/ilogtaild start
停止Logtail
sudo /etc/init.d/ilogtaild stop
查看Logtail状态及版本
查看Logtail状态
使用以下命令查看Logtail状态。
sudo /etc/init.d/ilogtaild status
如果系统返回如下信息,表示已安装Logtail。
ilogtail is running
如果Logtail状态显示未运行,请卸载后重新安装。
查看Logtail版本
Logtail会将版本信息存储在
/usr/local/ilogtail/app_info.json
文件的logtail_version
字段中。您可以通过以下命令查看Logtail版本信息。cat /usr/local/ilogtail/app_info.json
返回结果如下所示:
{ "UUID" : "0DF18E97-0F2D-486F-B77F-*********", "hostname" : "david*******", "instance_id" : "F4FAFADA-F1D7-11E7-846C-00163E30349E_*********_1515129548", "ip" : "**********", "logtail_version" : "0.16.30", "os" : "Linux; 2.6.32-220.23.2.ali1113.el5.x86_64; #1 SMP Thu Jul 4 20:09:15 CST 2013; x86_64", "update_time" : "2020-01-05 13:19:08" }
升级Logtail
升级Logtail时,请使用
upgrade
命令。如果使用install
命令,将会执行覆盖安装,导致以下后果:/usr/local/ilogtail
等目录会被卸载并删除。原有配置将被清空。
升级行为说明。
升级过程中,Logtail会短暂停止运行。
升级仅覆盖必要的文件,配置文件和Checkpoint文件将被保留,确保升级期间日志不会丢失。
升级完成后,Logtail 将自动启动,并注册为开机启动项。
从
1.x
升级至2.x
的注意事项。 如果您从Logtail 1.x
系列升级至2.x
系列,请确保采集配置中未启用容器发现功能,否则可能导致采集失败。具体检查内容如下:控制台采集配置页面未显示“容器”相关字样。
配置参数中
EnableContainerDiscovery
或docker_file
设置为false
。
在线升级Logtail
您可以通过Logtail安装脚本(logtail.sh)升级操作,该脚本会根据已经安装的Logtail配置信息,自动选择合适的升级方式。
根据日志服务Project所在地域,获取对应的
${region_id}
。重要各地域对应的
${region_id}
请参见开服地域,例如华东 1(杭州)对应的${region_id}
为cn-hangzhou
。执行以下命令完成Logtail的版本升级,注意替换
${region_id}
为实际地域值。wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh chmod +x logtail.sh sudo ./logtail.sh upgrade
确认升级结果。
如果显示以下信息,则表示升级成功。
stop successfully Stop logtail successfully. Upgrading logtail files ... Upgrade logtail files successfully. Starting logtail ... ilogtail is running Upgrade logtail successfully. { "UUID" : "XXXXXXXX-XXXX", "compiler" : "GCC 9.3.1", "hostname" : "xxx", "instance_id" : "XXXXXXXX-XXXX_172.16.0.75_1730950372", "ip" : "172.16.0.75", "logtail_version" : "2.0.8", "os" : "Linux; 5.10.134-13.an8.x86_64; #1 SMP Mon Jan 9 10:39:46 CST 2023; x86_64", "update_time" : "2024-11-07 11:32:52" }
离线升级Logtail
根据日志服务Project所在地域,获取对应的
${region_id}
。重要各地域对应的
${region_id}
请参见开服地域,例如华东 1(杭州)对应的${region_id}
为cn-hangzhou
。在能够访问公网的机器上,执行以下命令下载安装脚本,注意替换
${region_id}
为实际地域值。wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh
根据服务器架构,选择对应的命令下载安装包,注意替换
${region_id}
为实际地域值。x86-64 架构:
wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail-linux64.tar.gz
ARM 架构:
wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/aarch64/logtail-linux64.tar.gz
将下载的安装脚本(
logtail.sh
)和安装包(logtail-linux64.tar.gz
)拷贝至需要安装Logtail的目标服务器。在目标服务器上执行升级命令。
chmod +x logtail.sh ./logtail.sh upgrade-local
卸载Logtail
根据日志服务Project所在地域,获取对应的
${region_id}
。重要各地域对应的
${region_id}
请参见开服地域,例如华东 1(杭州)对应的${region_id}
为cn-hangzhou
。执行以下命令卸载Logtail,注意替换
${region_id}
为实际地域值。wget http://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh chmod +x logtail.sh ./logtail.sh uninstall
适用场景
服务器与日志服务Project同账号同地域
(推荐使用)日志服务借助运维编排服务OOS,可实现在同地域ECS实例中自动安装Logtail。更多信息,请参见安装Logtail(ECS实例)。
如自动安装不满足需求,您也可以手动安装Logtail。
服务器与日志服务Project同账号不同地域
配置流程如下图:
您需选择公网安装Logtail。然后在日志服务Project中创建机器组,并配置Logtail采集日志。更多信息,请参见采集主机文本日志。
如果您已经通过阿里云内网(经典网络、VPC)安装Logtail,可通过修改
ilogtail_config.json
文件中的网络参数进行跨地域采集。编辑
/usr/local/ilogtail/ilogtail_config.json
文件。例如Project在西南1(成都),ECS在华东1(杭州),更新后配置如下所示:
{ "config_server_address" : "http://logtail.cn-chengdu.log.aliyuncs.com", "data_server_list" : [ { "cluster" : "cn-chengdu", "endpoint" : "cn-chengdu.log.aliyuncs.com" } ], ... }
配置文件修改后需重启Logtail。
sudo /etc/init.d/ilogtaild restart
服务器与日志服务Project不同账号
此方法适用于服务器部署在其他阿里云账号、其它云厂商环境或自建IDC中。配置流程如下图:
您需选择公网安装Logtail,然后使用账号A的ID配置用户标识,并配置用户自定义标识。然后在账号A的日志服务Project中管理机器组,并配置Logtail采集日志。更多信息,请参见采集主机文本日志、通过Logtail跨阿里云账号采集日志。
常见问题
如何判断是否安装Logtail成功?
您可以通过查看Logtail状态确定是否已在目标服务器上安装Logtail。具体操作,请参见查看Logtail状态。
安装Logtail后,配置采集任务心跳失败如何解决?
完成Logtail采集配置后,若出现心跳失败的情况,可执行如下命令查看Logtail版本,并进行升级重试。
cat /usr/local/ilogtail/app_info.json
安装Logtail后,采集数据发送失败错误码及处理方法有哪些?
Logtail将采集到的日志聚合并发送到日志服务。如果数据发送失败,Logtail自动根据错误信息决定重试或放弃发送,具体信息,请参见发送日志。