iLogtail 的 Agent Group 和 Agent 都带有标签属性(tags),但原始设计中两者数据结构不一致:Agent Group 使用 Name-Value 数组,Agent 使用字符串数组。解决方案是将两者统一为 Name-Value 数组,并在 Agent Group 中加入运算符来表达「与」和「或」两种语义。这样 Agent Group 就拥有一个由标签和运算符组成的表达式,如果该表达式能与 Agent 持有的标签匹配,则认为该 Agent 属于该分组。例如,一个 Agent Group 定义标签为 cluster:A 和 cluster:B 且运算符为「或」,则持有任一标签的 Agent 都属于该组;如果运算符为「与」,则 Agent 必须同时持有两个标签才属于该组。这种方案支持灵活的分组策略。




