You need to enable JavaScript to run this app.
导航
为宿主机或容器设置 IP 地址
最近更新时间:2024.12.05 11:09:51首次发布时间:2023.04.24 15:18:13

日志服务支持为宿主机指定一个 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 地址类型。

设置 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 地址。

设置方式

在目录 filebeat-7.12.0/etc 中找到 LogCollector 配置文件 filebeat.yml,并在其中的 output.tls 增加参数 ip_policy, 用于指定 LogCollector 获取 IP 地址的策略。

说明

修改设置后,应重启 LogCollector 以使配置生效。重启方式请参考进程管理

ip_policy 参数支持的设置方式如下:

参数配置

说明

ip_policy:''

将第一张网卡的 IP 地址作为宿主机或容器 IP 地址。默认为此设置。

ip_policy:'hostname'

按照 hostname > eth0 > bond0 的顺序获取 IP 地址。

ip_policy:'网卡名称'

将指定网卡的 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 地址,该 IP 地址必须为 LogCollector 获取的 IP 地址,否则会因 IP 地址不匹配造成对应宿主机的 LogCollector 心跳失败。如果 LogCollector 自动获取的 IP 地址不合适,或 IP 地址获取策略的多种规则均不符合业务需求,您也可以参考下文直接为宿主机指定一个 IP 地址。

  • 安装 LogCollector 时指定 IP 地址
    您可以参考安装 LogCollector文档,在初始化步骤中设置 ip 参数,直接为宿主机指定 IP 地址。创建机器组时需要将此 IP 地址填入机器组设置中,该 IP 地址会作为宿主机的安装标识显示在机器组中。
  • 安装 LogCollector 后修改 IP 地址
    在目录 filebeat-7.12.0/etc 中找到 LogCollector 配置文件 filebeat.yml,其中的 output.tls 部分默认为初始化时填写的 endpointiplabel 等配置参数,初始化之后您可以随时修改这些参数,修改完成后重启 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