LogCollector 是日志服务基于开源日志采集工具 Filebeat 二次开发的日志采集客户端,用于快速上报日志数据。在服务器中安装 LogCollector 之后,通过控制台或配置文件即可下发采集规则、快速接入日志服务。本文档介绍在 Linux 服务器上安装、升级或卸载 LogCollector 等操作。
Filebeat 是 Elastic 开发的开源日志采集工具,将其部署到服务器之后,可以采集服务器文本日志到 ElasticSearch、Kafka、Logstash 等进行二次处理。火山引擎日志服务基于开源的 Filebeat 工具进行二次开发,适配了日志服务的服务端功能、增加多种日志解析模式,改造为 LogCollector 对外正式提供服务。
LogCollector 兼容开源 Filebeat 的多种特性,实时监听并上报日志数据,提高日志采集效率与性能。
LogCollector 支持多个 Linux 操作系统,推荐您使用以下经过兼容性测试的操作系统版本。
说明
LogCollector 目前仅支持 Linux x86-64(64位)操作系统,不支持 ARM 架构和 Windows 操作系统。
操作系统类别 | 操作系统版本 |
---|---|
CentOS | CentOS 7.6、CentOS 7.7、CentOS 7.8、CentOS 7.9、CentOS 8.3 |
Ubuntu | Ubuntu 16.04、Ubuntu 18.04、Ubuntu 20.04、Ubuntu 22.04 |
veLinux | veLinux 1.0 |
Fedora | Fedora 32、Fedora 33 |
OpenSUSE | OpenSUSE 15.2 |
Debian | Debian 9、Debian 10、Debian 10.9 、Debian 11.6 |
根据地域与网络类型,执行对应的下载命令,下载 LogCollector 到指定目录下。
说明
/usr/local
,您也可以在命令行中指定其他路径。wget https://logcollector-cn-guangzhou.tos-cn-guangzhou.ivolces.com/logcollector.sh -O logcollector.sh; chmod 755 logcollector.sh
wget https://logcollector-cn-guangzhou.tos-cn-guangzhou.volces.com/logcollector.sh -O logcollector.sh; chmod 755 logcollector.sh
执行以下命令安装 LogCollector。安装完成后,会自动启动 LogCollector 进程。启动后,Logcollector 进程变为运行状态,开始尝试与日志服务的服务端进行通信。
sudo ./logcollector.sh install --endpoint {endpoint} --secret_id {AccessKeyID} --secret_key {AccessKeySecret} --region {region}
其中,endpoint
、secret_id
、secret_key
和 region
为必选参数,详细说明如下。
参数 | 是否必选 | 示例 | 说明 |
---|---|---|---|
endpoint | 必选 | https://tls-cn-beijing.ivolces.com | |
secret_id | 必选 | AK******** | 火山引擎账号或 IAM 账号的 Access Key ID。 |
secret_key | 必选 | TUdZ******** | 火山引擎主账号或 IAM 用户的 Secret Access Key。 |
region | 必选 | cn-beijing | 日志项目所在的地域。 |
compress_type | 可选 | none | 指定 LogCollector 压缩日志的方式。
|
ip | 可选 | 10.1.1.* | 机器的 IP 标识。 说明
|
label | 可选 | http_module | 机器的自定义标识。 说明
|
执行如下命令,如果返回结果中的 Active
属性为 active (running)
,则表示安装 LogCollector 成功且运行状态正常。
systemctl status filebeatd.service
LogCollector 运行过程中,如果需要修改 endpoint
等鉴权和机器组标识等相关参数,可以通过以下任意一种方式修改。
停止 LogCollector 之后,重新执行安装命令,并填写正确的参数,参数说明请参考2 安装并启动 LogCollector。最后再次启动 LogCollector 即可。
#停止 LogCollector。 systemctl stop filebeatd.service #重新执行安装命令,修改鉴权参数。 ./logcollector.sh init --endpoint https://tls-cn-beijing.ivolces.com --secret_id {AccessKeyID} --secret_key {AccessKeySecret} --region {region} systemctl start filebeatd.service
在目录 filebeat-7.12.0/etc
中找到 LogCollector 配置文件 filebeat.yml
,其中的 output.tls
部分默认为初始化时填写的 endpoint
、ip
、label
等配置参数,初始化之后您可以随时修改这些参数,修改完成后重启 LogCollector 即可生效。
配置文件 filebeat.yml
示例如下。
output.tls: endpoint: https://tls-cn-beijing.ivolces.com #--日志服务的服务地址。 secret_id: XXXXXXXXXXBcFk4C8sbmXQ8i65XXXXXXXXXX #--火山引擎账号密钥Access Key ID。 secret_key: XXXXXXXXXX4tX5SHyXv6tZXXXXXXXXXX #--火山引擎账号密钥Secret Access Key。 region: cn-beijing #--日志项目的所在地域(Region)。 compress_type: lz4 #--压缩类型,建议维持默认设置lz4。 ip: 10.1.x.x #--手动指定的宿主机 IP 地址。 label: label1,label2,label3 #--机器 Label。支持添加多个 Label,各个 Label 之间使用英文逗号(,)分隔。 logging.level: info #--filebeat 日志级别。 logging.to_files: true logging.files: rotateeverybytes: 5242880 keepfiles: 7 permissions: 0644
执行以下命令,查看当前设备所安装的 LogCollector 版本号。
/etc/init.d/filebeatd -v
说明
需要以管理员权限执行以下命令。
操作 | 命令 |
---|---|
查看运行状态 |
|
启动 LogCollector |
|
停止 LogCollector |
|
重启 LogCollector |
|
以管理员权限执行以下命令卸载 LogCollector。
cd /usr/local/filebeat-7.12.0/tools/ && ./filebeat.sh uninstall #或 cd /usr/local/filebeat-7.12.0/tools/ && ./logcollector.sh uninstall