日志服务支持为宿主机指定一个 IP 地址,或调整 LogCollector 获取 IP 地址的策略,便于在机器组中标识或管理机器。本文档介绍为宿主机或容器设置 IP 地址的方式。
日志服务 LogCollector 需要读取所在宿主机或容器 IP 地址,便于在机器组中识别并管理宿主机或容器。默认情况下 LogCollector 将第一张网卡 IP 地址作为宿主机或容器 IP 地址,并将其上报到服务端,您也可以根据需求为宿主机指定一个 IP 地址,或直接调整 LogCollector 获取 IP 地址的策略。
同时设置 IP 地址获取策略并指定 IP 地址的情况下,以指定的 IP 地址为准。
设置方式 | 说明 |
---|---|
设置 IP 地址获取策略 | 在 LogCollector 配置文件中设置参数 ip_policy 即可为 LogCollector 设置 IP 地址获取策略。默认情况下 LogCollector 将第一张网卡 IP 地址作为宿主机或容器 IP 地址,您可以调整为读取指定网卡 IP 地址或根据一定顺序获取 IP 地址。详细说明请参考策略说明。 |
指定 IP 地址 | 在宿主机中安装 LogCollector 时,在初始化步骤中设置 ip 参数即可为宿主机指定一个固定的 IP 地址。安装 LogCollector 之后,也可以通过修改配置文件的方式修改 IP 地址。详细操作步骤请参考指定 IP 地址。 |
机器组通过 IP 地址区分各个宿主机或容器。在机器标识类型的机器组中,如果 LogCollector 获取的 IP 地址经常有所变化,则不利于管理员区分和识别不同的宿主机或容器。在此场景下您可以为 LogCollector 设置 IP 地址获取策略,例如调整为读取指定网卡 IP 地址或根据一定顺序获取 IP 地址。
机器组通过 IP 地址区分各个宿主机或容器,该 IP 地址由部署环境中安装的 LogCollector 自动获取并上报到服务端。默认情况下,LogCollector 将第一张网卡 IP 地址识别为宿主机或容器 IP 地址,您也可以按需调整该 IP 地址的获取策略。
日志服务 LogCollector 支持以下 IP 地址的获取策略:
在目录 filebeat-7.12.0/etc
中找到 LogCollector 配置文件 filebeat.yml
,并在其中的 output.tls
增加参数 ip_policy
, 用于指定 LogCollector 获取 IP 地址的策略。
说明
修改设置后,应重启 LogCollector 以使配置生效。重启方式请参考进程管理。
ip_policy
参数支持的设置方式如下:
参数配置 | 说明 |
---|---|
| 将第一张网卡的 IP 地址作为宿主机或容器 IP 地址。默认为此设置。 |
| 按照 hostname > eth0 > bond0 的顺序获取 IP 地址。 |
| 将指定网卡的 IP 地址作为宿主机或容器 IP 地址。 |
例如将 eth1 的 IP 地址作为宿主机 IP 地址,对应的设置如下:
output.tls: endpoint: 'https://tls-cn-beijing.ivolces.com' #--日志服务的服务地址 secret_id: Your Secrect Id #--火山引擎账号密钥Access Key ID secret_key: Your Secrect Key #--火山引擎账号密钥Secret Access Key region: cn-beijing #--日志项目的所在地域(Region) compress_type: lz4 #--压缩类型,建议维持默认设置lz4 label: http_module #--机器的自定义标识 ip_policy: 'eth1' #--IP 地址获取策略
在采集宿主机日志的场景中,如果使用 IP 地址类型的机器组,则需要在机器组中配置宿主机 IP 地址,该 IP 地址必须为 LogCollector 获取的 IP 地址,否则会因 IP 地址不匹配造成对应宿主机的 LogCollector 心跳失败。如果 LogCollector 自动获取的 IP 地址不合适,或 IP 地址获取策略的多种规则均不符合业务需求,您也可以参考下文直接为宿主机指定一个 IP 地址。
ip
参数,直接为宿主机指定 IP 地址。创建机器组时需要将此 IP 地址填入机器组设置中,该 IP 地址会作为宿主机的安装标识显示在机器组中。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