机器组与LoongCollector采集配置关联指南

在服务器上成功安装LoongCollector后,您还需要设置机器组,将服务器关联到日志服务指定资源中,随后进行LoongCollector采集配置,来定义数据的采集规则。并将采集配置手动绑定到机器组中,来实现下发采集规则到服务器上。

核心概念与关系解析

什么是机器组

机器组是包含多台服务器的虚拟分组,属于日志服务Project中的资源,日志服务通过机器组管理服务器,服务器通过心跳与机器组关联。

日志服务提供以下两种机器组类型:

IP地址机器组

使用IP地址机器组时,需要在机器组中添加IP地址信息来与服务器关联。

  • 该种方式创建与配置更简单。

  • IP地址发生冲突或IP改变会导致心跳失败,影响数据采集。

用户自定义标识机器组

通过在机器组中配置一个用户自定义的字符串作为识别标识,并在服务器上的标识文件中添加该字符串来进行关联。一台服务器的标识文件中可配置多个用户自定义标识,标识之间以换行符分隔。

  • 配置流程相比IP地址机器组更复杂。但在VPC等自定义网络环境,IP地址冲突会导致采集失败。而用户自定义标识可避免此类情况发生。

  • 可实现机器组的自动弹性伸缩。为新增的服务器配置相同的用户自定义标识,日志服务可自动识别并添加至机器组中。若不再需要采集服务器日志,直接删除服务器上配置的标识文件,机器组自动将该服务器移除。

  • 通常业务系统由多个模块组成,各模块均可进行独立的水平扩展,即支持添加多台服务器。为实现高效的日志数据收集和分类,建议为各模块创建单独的机器组。如常见网站分为HTTP请求模块、逻辑模块和存储模块,其自定义标识可分别定义为http_modulelogic_modulestore_module

如何创建机器组

机器组与服务器之间建立心跳关联的前提是在服务器上成功安装LoongCollector采集器。建议您在安装采集器时一并创建机器组,详情可参考LoongCollector安装与管理(Linux)LoongCollector安装与管理(Kubernetes)

什么是LoongCollector采集配置

采集配置是定义如何采集、处理数据的核心规则。其目的是通过灵活配置,实现数据的高效采集、结构化解析、过滤加工等效果。采集配置通过绑定到机器组中来实现下发采集规则到服务器上,并在数据采集时使用服务器上资源进行处理。采集配置项主要包含三部分内容:

  • 全局配置:包含采集配置的名称,日志主题(Topic)与Tag 等,利用TopicTag可对采集到的日志进行标记与分类。

  • 输入配置:定义了待采集数据的类型(如文件输入,集群标准输出,SQL查询结果,HTTP输入等),以及不同类型数据的采集路径、来源等信息。

  • 处理配置:通过处理插件的组合,来定义解析数据的规则,将待采集数据按需格式化(如过滤,脱敏,正则匹配,JSON解析等)。

如何创建采集配置

采集配置需要绑定到生效的机器组中才能下发到服务器上,因此建议您根据不同数据源类型,参考完整采集流程进行配置,详情可参考日志数据采集(Log)

机器组与采集配置的关系

日志服务支持将一个LoongCollector采集配置应用到多个机器组,一个机器组也支持应用多个LoongCollector采集配置,采集配置仅与机器组绑定,机器组中服务器增减将自动应用或取消相应采集配置,从而实现了服务器与采集配置的解耦。不同系统类型的服务器不支持添加到同一个机器组中。

image

机器组与采集配置关联场景

采集怎么匹配多个目录

需求:例如需要同时采集/var/log/messages/opt/app/logs/*.log到同一LogStore中。

解决方案

  1. 在目标LogStore中创建两个采集配置,路径分别为/var/log/messages/opt/app/logs/*.log

  2. 将这两个采集配置应用到同一个机器组中。

  3. 日志服务会将该机器组中所有服务器上路径为/var/log/messages/opt/app/logs/*.log的数据采集到目标LogStore中。

同服务器日志上传至多LogStore

需求:例如单台服务器上存在多目录下多类型日志,需要保存到不同LogStore中。

解决方案

  1. 在不同LogStore中分别创建不同的采集配置。

    需要注意:若多个配置采集同一个文件,需要在输入配置中,打开允许文件多次采集开关。详情参考日志多次采集
  2. 将这些采集配置应用到同一个机器组中。

  3. 日志服务会根据不同的采集配置将该机器组中不同日志上传到不同LogStore中。

不同服务器上日志如何集中汇总

需求:例如多台服务器分散在不同机器组中,但存在某类日志需要汇总到同一LogStore保存。

解决方案

  1. 在目标LogStore中创建一个采集配置。

  2. 将这个采集配置应用到多台服务器所在的多个机器组中。

  3. 日志服务会将多个机器组中服务器上的日志采集到目标LogStore中。

变更服务器上的采集规则

需求1:机器组绑定的采集配置所定义的规则不符合预期,需要修改为其他采集配置。

解决方案

  1. 登录日志服务控制台,在Project列表,单击打开目标Project。在左侧导航栏中,选择资源 > 机器组。在打开的机器组页面中,选择需要修改的机器组后,在机器组配置页面单击修改。

  2. 在管理配置中查看左侧采集配置列表,勾选需要的采集配置后添加到右侧应用列表中。

需求2:新增服务器时需要应用已有的采集配置,或已有服务器不再需要继续采集。

解决方案

  1. 登录日志服务控制台,在Project列表,单击打开目标Project。在左侧导航栏中,选择资源 > 机器组。在打开的机器组页面中,选择需要修改的机器组后,在机器组配置页面单击修改。

  2. 修改机器组覆盖的服务器数量,来应用或取消采集配置:

    1. 若是IP地址型机器组,在IP地址栏中增加或删除IP地址信息,多台服务器IP地址之间需使用换行符分隔。

      IP值必须与服务器的/usr/local/ilogtail/app_info.json文件中ip字段相同。
    2. 若是用户自定义标识型机器组,在新增的服务器上配置相同的用户自定义标识日志服务可自动识别并添加至机器组中。若不再需要采集服务器日志,直接删除服务器上配置的标识文件,机器组自动将该服务器移除,实现自动弹性伸缩。

    说明

    将服务器添加到机器组并不会自动安装LoongCollector,您需要先在新增服务器上安装LoongCollector。