有奖征文:轻量对象存储LighthouseCOS用户实践> HOT

机器组

机器组(MachineGroup)是一组需要采集日志的机器列表,日志服务通过机器组来管理所有需要通过 LogListener 采集日志的机器。
一个机器组可以包含多台机器。当应用/服务部署在多台机器上,且这些机器的日志文件路径相同时,便可将其归为一个机器组。这样在控制台只需要配置一次日志数据采集规则,便可批量生效至机器组内的所有机器。
机器组可关联至一个日志主题,即机器组内所有的日志均上报至同一个日志主题;也可以关联至多个日志主题,即机器组内不同路径的日志分别上报至不同的日志主题。
机器组具备两种定义方式:
IP 地址:添加 IP 地址列表到机器组,机器组将自动添加这些IP对应的机器。
标识(Label):安装 LogListener 时为所在机器添加标识,机器组将自动添加包含这些标识的机器。

场景示例

某电商项目,共有6台机器及三个服务。其部署方式如下表:npayService 部署在2台机器上,有2个日志文件路径。userService和stockService 混部在4台机器上,共有4个日志文件路径。每个服务的每类日志(访问日志 access_log 和错误日志 error_log)均需上报至单独的日志主题。
机器
部署服务
日志文件路径
192.168.1.1
payService
/data/log/payService/access_log.log
/data/log/payService/error_log.log
192.168.1.2
payService
/data/log/payService/access_log.log
/data/log/payService/error_log.log
192.168.1.3
userService,stockService
/data/log/userService/access_log.log
/data/log/userService/error_log.log
/data/log/stockService/access_log.log
/data/log/stockService/error_log.log
192.168.1.4
userService,stockService
/data/log/userService/access_log.log
/data/log/userService/error_log.log
/data/log/stockService/access_log.log
/data/log/stockService/error_log.log
192.168.1.5
userService,stockService
/data/log/userService/access_log.log
/data/log/userService/error_log.log
/data/log/stockService/access_log.log
/data/log/stockService/error_log.log
192.168.1.6
userService,stockService
/data/log/userService/access_log.log
/data/log/userService/error_log.log
/data/log/stockService/access_log.log
/data/log/stockService/error_log.log
在机器上部署 LogListener 时,可为每台机器按其上运行的服务添加标识,具体如下:
机器
部署服务
标识
192.168.1.1
payService
payService
192.168.1.2
payService
payService
192.168.1.3
userService,stockService
userService,stockService
192.168.1.4
userService,stockService
userService,stockService
192.168.1.5
userService,stockService
userService,stockService
192.168.1.6
userService,stockService
userService,stockService
然后在控制台创建3个机器组,采用标识方式进行定义,分别为 payService、userService 和 stockService,再在日志主题中关联该机器组并添加对应的采集配置即可完成日志上报。
日志主题
关联机器组
采集路径
payService_access_log_topic
payService
/data/log/payService/access_log.log
payService_error_log_topic
payService
/data/log/payService/error_log.log
userService_access_log_topic
userService
/data/log/userService/access_log.log
userService_error_log_topic
userService
/data/log/userService/error_log.log
stockService_access_log_topic
stockService
/data/log/stockService/access_log.log
stockService_error_log_topic
stockService
/data/log/stockService/error_log.log
后续服务需要扩容时,只需要在新增的机器上添加部署的服务作为标识,即可自动将新增的机器添加至对应的机器组并采集日志,极大的提升运维部署效率。