日志服务支持为宿主机指定一个 IP 地址,或调整 LogCollector 获取 IP 地址的策略,便于在机器组中标识或管理机器。本文档介绍为宿主机或容器设置 IP 地址的方式。
背景信息
日志服务 LogCollector 需要读取所在宿主机或容器 IP 地址,便于在机器组中识别并管理宿主机或容器。默认情况下 LogCollector 将第一张网卡 IP 地址作为宿主机或容器 IP 地址,并将其上报到服务端,您也可以根据需求为宿主机指定一个 IP 地址,或直接调整 LogCollector 获取 IP 地址的策略。
同时设置 IP 地址获取策略并指定 IP 地址的情况下,以指定的 IP 地址为准。
设置 IP 地址获取策略
机器组通过 IP 地址区分各个宿主机或容器。在机器标识类型的机器组中,如果 LogCollector 获取的 IP 地址经常有所变化,则不利于管理员区分和识别不同的宿主机或容器。在此场景下您可以为 LogCollector 设置 IP 地址获取策略,例如调整为读取指定网卡 IP 地址或根据一定顺序获取 IP 地址。
策略说明
机器组通过 IP 地址区分各个宿主机或容器,该 IP 地址由部署环境中安装的 LogCollector 自动获取并上报到服务端。默认情况下,LogCollector 将第一张网卡 IP 地址识别为宿主机或容器 IP 地址,您也可以按需调整该 IP 地址的获取策略。
日志服务 LogCollector 支持以下 IP 地址的获取策略:
- (默认)将第一张网卡的 IP 地址作为宿主机或容器 IP 地址。
- 将指定网卡的 IP 地址作为宿主机或容器 IP 地址。 如果成功获取到 IP 地址,则将该地址作为宿主机或容器 IP 地址;如果 IP 地址获取失败,则将第一张网卡的 IP 地址作为宿主机或容器 IP 地址。
- 按照 hostname > eth0 > bond0 的顺序获取 IP 地址。 如果成功获取到 IP 地址,则将该地址作为宿主机或容器 IP 地址;如果 IP 地址获取失败,则转至下一环节获取 IP 地址。如果以上环节均失败,则将第一张网卡的 IP 地址作为宿主机或容器 IP 地址。
设置方式
在配置文件的 output.tls 中增加参数 ip_policy, 用于指定 LogCollector 获取 IP 地址的策略。配置文件路径如下:
- Logcollector v2.2.0 之前版本:/usr/local/filebeat-7.12.0/etc/filebeat.yml
- Logcollector v2.2.0 及后续版本:/usr/local/logcollector/etc/logcollector.yml
如何查看 LogCollector 版本,请参考查看软件版本。 Tip
修改设置后,应重启 LogCollector 以使配置生效。重启方式请参考进程管理。 ip_policy 参数支持的设置方式如下:
例如将 eth1 的 IP 地址作为宿主机 IP 地址,对应的设置如下:
指定 IP 地址
在采集宿主机日志的场景中,如果使用 IP 地址类型的机器组,则需要在机器组中配置宿主机 IP 地址,该 IP 地址必须为 LogCollector 获取的 IP 地址,否则会因 IP 地址不匹配造成对应宿主机的 LogCollector 心跳失败。如果 LogCollector 自动获取的 IP 地址不合适,或 IP 地址获取策略的多种规则均不符合业务需求,您也可以参考下文直接为宿主机指定一个 IP 地址。
- 安装 LogCollector 时指定 IP 地址:
- 您可以参考安装 LogCollector文档,在初始化步骤中设置 ip 参数,直接为宿主机指定 IP 地址。创建机器组时需要将此 IP 地址填入机器组设置中,该 IP 地址会作为宿主机的安装标识显示在机器组中。
- 安装 LogCollector 后修改 IP 地址:
- 在 LogCollector 的运行过程中,如果需要修改 IP 地址、 secret_id和secret_key 等鉴权参数,或者 label 等 LogCollector 标识参数,可以执行如下命令修改 LogCollector 配置文件。