除IP地址外,您还可以使用用户自定义标识(Custom ID)来动态定义机器组。
背景信息
自定义标识机器组在以下场景中具有明显优势:
- VPC等自定义网络环境中,可能出现不同机器IP地址冲突的问题,导致服务端无法管理Logtail。使用自定义标识可以避免此类情况的发生。
- 多台服务器通过同一个自定义标识实现机器组弹性伸缩。您只需为新增的服务器配置相同的自定义标识,服务端可自动识别,并将其添加至机器组中。
操作步骤
在服务器上设置用户自定义标识。
- Linux Logtail
通过文件
/etc/ilogtail/user_defined_id
来设置用户自定义标识。例如,设置用户自定义标识为
userdefined
,执行如下命令:# vim /etc/ilogtail/user_defined_id
然后在该文件中输入
userdefined
。 - Windows Logtail
通过文件
C:\LogtailData\user_defined_id
来设置用户自定义标识。例如,设置用户自定义标识如下:
C:\LogtailData>more user_defined_id userdefined_windows
说明- 同一机器组中不允许同时存在Linux和Windows服务器,请勿在Linux和Windows服务器上配置同样的用户自定义标识。
- 一个服务器可配置多个用户自定义标识,标识之间以换行符分割。
- 若目录 /etc/ilogtail/、C:\LogtailData或文件/etc/ilogtail/user_defined_id、C:\LogtailData\user_defined_id不存在,请手动创建。
- Linux Logtail
创建机器组。
查看机器组状态。
在机器组列表页面,双击机器组名称,在右侧机器组配置页面查看机器组状态,可以看到使用相同用户自定义标识的服务器列表及其心跳状态。 说明- 机器组状态中的IP列表,即为使用相同用户自定义标识的服务器的IP地址。例如:
假设当前为用户自定义标识机器组,用户自定义标识为userdefined,机器组状态中的IP分别为10.10.10.10、10.10.10.11、10.10.10.12。则表示您在这三个服务器上创建了相同的用户自定义标识userdefined。如果您需要新增10.10.10.13服务器,则只需要在该服务器上创建用户自定义标识userdefined,即可在机器组状态中看到该服务器10.10.10.13,日志服务会使用userdefined机器组的采集配置来采集新增服务器上的日志。
- 心跳状态代表服务器与日志服务的连接是否正常,如果异常请参见Logtail 机器无心跳处理。
- 机器组状态中的IP列表,即为使用相同用户自定义标识的服务器的IP地址。例如:
禁用用户自定义标识
如果想恢复使用服务器IP作为标识,请删除user_defined_id文件,1分钟之内即可生效。
- Linux系统
rm -f /etc/ilogtail/user_defined_id
- Windows系统
del C:\LogtailData\user_defined_id
生效时间
新增、删除、修改user_defined_id文件后,默认情况下,1分钟之内即可生效。
如需立即生效,请执行以下命令重启Logtail:
- Linux系统
/etc/init.d/ilogtaild stop /etc/init.d/ilogtaild start
- Windows系统
选择
,在服务列表中右键单击LogtailWorker服务,选择重新启动以使配置生效。
示例
系统通常由多个模块组成,每个模块可以包含多台服务器。例如常见网站分为前端HTTP请求处理模块、缓存模块、逻辑处理模块和存储模块,每个模块可以进行单独的水平扩展,因此在新增服务器时需要能够对其进行实时日志采集。
创建自定义标识。
安装完成Logtail客户端后,为服务器开启用户自定义标识。示例场景中的模块可以分成4类机器标识:http_module、cache_module、logic_module和store_module。 创建机器组。
创建机器组时,用户自定义标识请填写机器组名称对应的用户自定义标识。 查看机器组状态。
可以在机器组状态中查看使用相同自定义标识的服务器列表及其心跳状态。 若前端模块增加服务器10.1.1.3,只需在新服务器上开启用户自定义标识http_module。成功执行操作后可以在机器组状态中看到新增的服务器。