更新时间:2024-04-25 10:47:22

AnyRobot SuperAgent为日志、链路、指标、业务等各类数据摄入场景提供统一的任务调度及管理能力,能够满足各类主机、容器等生产环境中的数据摄入需求。

如何基于AnyRobot  SuperAgent管理模块进行机器数据的采集&接收?

1. 完成所需执行器的安装部署:您需根据自身部署平台的CPU架构(ARM或x86),将数据采集/接收场景所需执行器成功部署至目标主机/集群。请根据实际数据需求,查阅下方对应版本、对应类型执行器的《数据采集实施指导》手册,完成指定执行器的安装部署操作,具体包括:《数据接收执行器实施指导》、《文件采集执行器实施指导》、《系统指标执行器实施指导》、《Kubernetes事件采集执行器实施指导》、《插件采集执行器实施指导》;

注意:在进入AnyRobot SuperAgent管理界面创建指定数据摄入任务之前,需要保证所需执行器已成功部署。否则,进行数据摄入任务下发配置时,SuperAgent管理界面将无法提供可供选择的下发对象,任务将无法成功下发至指定执行器,进而无法实现指定数据的采集/接收。

2. 创建数据摄入任务进入AnyRobot SuperAgent管理模块,根据实际数据需求选择数据摄入方式,配置对应数据摄入任务配置参数。具体配置操作请参见 创建数据摄入任务

3. 下发数据摄入任务:完成上述配置后,您可将此任务配置下发至对应执行器,执行器将基于配置参数自动拉起适于指定数据类型的数据采集器或数据接收器,并根据配置中的processors参数对数据进行加工处理,再按照output参数将其发送至指定Kafka中,待后续数据流使用。具体配置操作请参见 下发数据摄入任务

注意:下发数据摄入任务前,请务必确认所需执行器已成功部署至目标主机或目标Kubernetes集群,否则数据摄入任务将无法执行!您也可以先行配置任务参数,待部署完成后再下发此任务。

4.获取数据上报地址(仅针对数据接收任务):成功创建数据接收任务后,返回至SuperAgent数据摄入任务管理列表,即可查看数据发送端所需的数据上报地址信息。您需将此地址写入数据发送端的配置中,确保发送端能够正确将数据发送到指定数据接收器。具体操作请参见 获取数据上报地址

相关概念

• 执行器:负责接收AnyRobot SuperAgent管理端下发的数据摄入任务,拉起对应摄入任务的采集器/接收器资源后,并将任务分配给对应采集器/接收器;

• 采集器:负责采集指定数据类型的数据,进行数据处理后发送至AnyRobot的程序。

• 接收器:负责接收各种数据源发送过来的数据,进行数据处理后发送至AnyRobot的程序。

 

进入AnyRobot SuperAgent管理模块,您可以根据实际数据需求,进行数据摄入任务的创建、查看、修改、删除等管理操作,详细配置说明如下:

► 创建数据摄入任务

进入数据管理>数据源>SuperAgent管理配置页面,点击配置页左上角的【+新建】按钮,进入“新建数据摄入任务”配置页,如下所示:


1. 选择数据摄入方式

点击选择所需的数据接收器或采集器,当前支持数据接收器、文件采集器、系统指标采集器、Kubernetes事件采集、自定义插件采集器,适用场景详见其帮助信息。同时,每个选项卡片的右上角展示了支持此摄入方式对应执行器的最新版本号,如上图所示,当前数据接收器对应执行器的最新版本号为1.5.0。

注意:若您当前部署的执行器小于最新版本,建议完成执行器版本升级操作后,再进行对应数据摄入任务的创建及下发操作。

完成“摄入方式”的配置后,即可点击【下一步】,进入“摄入配置”步骤页。

注意:“摄入方式”为必选项,不得为空,否则无法继续配置此任务。

2. 配置数据摄入任务参数

"摄入配置"步骤页包括对任务基本参数信息,以及具体数据摄入参数的配置。如下所示:

1)任务基本信息

在“基本配置”区域,填写任务名称、任务ID等基本任务信息,配置限制说明如下:

配置参数 参数说明 限制条件
*任务名称

设置数据摄入任务的名称。

• 任务名称仅支持包含连字符-这一特殊字符;

• 任务名称不能重复,且不能为空;

• ≤40个字符

任务ID

选填项,默认为随机数,也可自定义设置。任务ID(即job_id)是任务的唯一标识,将作为上报地址(URL链接)的一部分。数据发送端会基于此地址信息进行数据上报。

• 任务ID不能以除字母、数字之外的字符开头,且不能包含除字母、数字、连字符-之外的字符来命名;

• 任务ID不能重复;

• ≤20个字符

备注

设置数据摄入任务的备注信息,仅用于任务标识。

• ≤255个字符

2)数据摄入参数

在“摄入配置”区域,配置选择*索引库,用于存储采集/接收到的数据。完成后,进行采集器配置操作,“采集器配置”文本框中提供了针对不同类型采集器及接收器的默认参数,包括input、output、processors三部分,此类参数决定了数据采集器或数据接收器进行数据采集/接收、处理及输出的方式

如下为SuperAgent当前支持的采集器及接收器的相关配置说明,包括数据接收器文件采集器系统指标采集器Kubernetes 事件采集器插件采集器

采集器、接收器配置说明

› 数据接收器

数据接收器 output、processors 配置说明:

      • output配置:数据接收器支持配置 kafka、default两种数据输出类型,具体配置格式请参见 output配置说明(通用)
      • processors配置:数据接收器支持添加 add_metadataadd_labelsadd_k8s_attributesadd_host_attributes数据加工方式,您需要根据实际数据需求选择需要添加的数据加工方式,具体配置格式请参见 processors配置说明(通用)

› 文件采集器

文件采集器支持文本文件采集Windows事件采集,配置说明分别如下:

» 文本文件采集

文件采集器(文本文件采集)output、processors配置说明:

» Windows事件采集

文件采集器(Windows事件采集)output、processors配置说明:

        • output配置:文件采集器支持配置 kafkadefault两种输出类型,具体配置格式请参见 output配置说明(通用)
        • processors配置:文件采集器支持添加 add_metadataadd_labelsrate_limit 三种数据加工方式,具体配置格式请参见 processors配置说明(通用)

› 系统指标采集器

系统指标采集器 output、processors配置说明:

› Kubernetes事件采集器

Kubernetes事件采集器 output、processors配置说明:

› 插件采集器

插件采集器 output、processors配置说明:

      • output配置:插件采集器支持配置 kafkadefault两种输出类型,具体配置格式请参见 output配置说明(通用)
      • processors配置:插件采集器支持添加 add_metadataadd_labelsadd_k8s_attributesadd_host_attributes数据加工方式。您需要根据实际数据需求选择需要添加的数据加工方式,具体配置格式请参见 processors配置说明(通用)
output 配置说明

› 输出类型:kafka
提示:输出类型为“kafka”时,支持配置为用户自定义的kafka,当前一般为AnyRobot的kafka。

› 输出类型:default
提示:只有与AnyRobot部署在同一Kubernetes集群的采集器,其数据输出类型可以配置为default。此种情况下,数据输出将默认发送到AnyRobot的默认Kafka中。

processors 配置说明(通用)

下方示例了四种数据加工方式的配置格式,包括日志元数据信息(add_metadata)、日志自定义label信息(add_labels)、Exporter容器信息(add_k8s_attributes)、Exporter物理主机及操作系统等信息(add_host_attributes)以及采集器限速配置rate_limit)的配置格式 。AnyRobot SuperAgent 支持配置多个数据处理器,具体配置时,需要严格按照下方示例的格式进行配置,依次添加,不支持将多个处理器的配置参数合并进行添加。如果不需要某个处理器,删除下方示例处理器对象对应的配置参数即可。

完成已上配置后,点击【下一步】进入“下发配置”配置页。

► 下发数据摄入任务

1)配置下发对象

进入"下发配置"页后,可配置接收并执行此摄入任务的下发对象(即将摄入任务与执行器绑定)。任务下发到指定执行器后,执行器将进行任务调度并根据任务参数拉起对应类型的采集器或接收器,以采集或接收指定类型数据。

 

点击“配置下发对象”右侧的【新增】按钮,页面右侧弹出的“配置下发对象”抽屉中罗列了当前已成功部署的所有执行器、IP、部署方式、状态及版本号等信息。您需要根据执行器的实际部署情况勾选用于接收此数据摄入任务的执行器,点击【确认】即可。

注意:

1. 若下发对象列表中无可用执行器,请确认是否已完成对应执行器的安装部署操作,若未部署,请参考 部署执行器 中的对应文档,完成所需执行器的安装部署。

2. 执行器有正常、离线、异常三种状态;下发数据摄入任务时,仅支持勾选状态为“正常”的执行器。

2)配置容器部署参数(仅适于插件采集器

注意:仅当“摄入方式”配置为“插件采集器”时,此区域将提供“容器部署配置”入口。若选择了其他类型“摄入方式”,则不支持配置容器部署参数。

针对自定义插件采集任务,您可以根据实际部署环境,灵活配置所需的容器部署参数,包括容器存储配置资源配置环境变量配置是否开启主机网络,配置页面如下所示:

注意:以下容器部署各参数的配置格式,需遵循Kubernetes的yaml结构,否则将会报错提示。

存储配置

在存储配置文本框中输入代码文本,用于指定允许被挂载到容器中的卷。数据采集场景中,主要使用持久卷(Persistent Volume)挂载和hostpath挂载两种方式,建议在配置文本框中直接复制下方的示例代码,再根据实际需求修改自定义参数:

1)根据持久卷审领创建的持久卷,挂载到容器

{
    "volumes": [
        {
            "persistentVolumeClaim": {
                "claimName": "claim1"
            },
            "name": "volume1"
        },
        {
            "persistentVolumeClaim": {
                "claimName": "claim2"
            },
            "name": "volume2"
        }
    ],
    "volumeMounts": [
        {
            "mountPath": "/data",
            "name": "volume1"
        },
        {
            "mountPath": "/data2",
            "name": "volume2"
        }
    ]
}

配置说明如下:

2)使用hostpath卷,将宿主机系统中的文件或者目录挂载到容器

 {​
    "volumes": [​
        {​
            "hostPath": {​
                "path": "/tmp",​
                "type": "DirectoryOrCreate"​
            },​
            "name": "volume1"​
        },​
        {​
            "hostPath": {​
                "path": "/root",​
                "type": "DirectoryOrCreate"​
            },​
            "name": "volume2"​
        }​
    ],​
    "volumeMounts": [​
        {​
            "mountPath": "/data",​
            "name": "volume1"​
        },​
        {​
            "mountPath": "/data2",​
            "name": "volume2"​
        }​
    ]​
}

配置说明如下:

资源配置

在资源配置文本框中输入代码文本,用于指定容器的最大资源限额(limits)和最小资源要求(requests)。建议在配置文本框中直接复制下方的示例代码,再根据实际需求修改自定义参数:

{
    "limits": {
        "cpu": "4",
        "memory": "32Gi"
    },
    "requests": {
        "cpu": "0",
        "memory": "0"
    }
}

配置说明:

cpumemory资源标识可以是数字,可以为0,但不能为负数。CPU和内存的度量单位以及可配置后缀遵循Kubernetes规范。若字段语法错误,将会报错提示。

环境变量配置

在环境变量配置文本框中输入代码文本,用于指定容器在不同运行环境所需的配置信息。建议在配置文本框中直接复制下方的示例代码,再根据实际需求修改自定义参数:

[
    {
        "name": "RECEIVER_PORT",
        "value": "13031"
    },
    {
        "name": "CONTROLLER_PORT",
        "value": "13032"
    },
    {
        "name": "GRPC_RECEIVER_PORT",
        "value": "13033"
    }
]

配置说明:

若存在环境变量配置参数,则namevalue必须不得为空,格式需为string。若字段语法错误,将会报错提示。

主机网络

设置是否使用主机网络,默认为关闭状态。开启后,可以使用物理机网络。

完成下发参数配置后,点击【下一步】即可完成数据摄入任务的创建。您可点击【查看任务列表】/【新建更多任务】分别查看系统中已创建的摄入任务或继续创建更多任务,如下所示:

注意:完成下发配置的操作后,即表示此任务已结束创建流程,不可退回至前序步骤修改任务配置参数。若需修改,需在任务列表中的“操作”列完成。

► 查看数据摄入任务列表

数据摄入任务列表展示了用户在AnyRobot管理端创建的所有任务,您可在此列表总览任务创建情况,进行任务管理。如下所示:

列表相关元素说明详见下表:

列表元素 元素说明
任务名称

展示任务的名称

摄入方式

展示任务的数据摄入方式,当前支持配置“数据接收”任务。

最新更新时间 展示任务最近一次的修改时间
操作 用于管理已创建的数据摄入任务。点击“查看”按钮,可查看摄入任务的任务详情,即在创建此任务时的配置参数信息;点击“编辑/删除”按钮,可修改/删除对应的数据摄入任务。

点击操作列的“查看”按钮,可查看指定数据摄入任务的详情信息,包括“摄入配置”详情、“下发配置”详情以及“任务实例”详情,具体如下:

1)查看“摄入配置”详情,获取数据上报地址

展示了任务已配置的“摄入配置”参数详情,包括任务的基本配置信息、数据处理配置信息、数据输入配置信息以及数据输出配置信息。为确保数据在发送时能够正确发送到对应的数据接收器,您需在配置数据发送时写入上报数据的地址信息(在基本配置信息中获取包含接收器地址信息的上报数据地址),如下图红框所示:

2)查看“下发配置”详情

展示了任务已配置的“下发配置”参数详情,包括下发对象(执行器)的IP地址、部署方式、运行状态、版本号以及最近一次的更新时间等信息,如下所示:

3)查看“任务实例”详情

“任务实例”详情页签,展示了执行此任务具体实例的基本运行信息。您可以在任务运行出现故障时,进入此详情页了解任务执行分支的具体状态信息,以便快速定位故障节点,高效排障,实现任务实例生命周期管理。

注意:

1. 列表区域展示了您在AnyRobot管理端创建的所有数据摄入任务,包括基于老版本执行器创建和下发的数据摄入任务、AnyRobot自带的四个默认摄入任务(用于实现AnyRobot自身的可观测性),以及通过接口创建的其他任务(此类任务并非在管理端创建,因此仅支持查看任务详情,不支持对此类任务的修改、删除操作);

2. 当AnyRobot兼容了最新版本的执行器后,基于老版本执行器创建的任务仍将正常运行,但不可对其进行编辑操作;若需使用执行器的最新功能,建议您及时升级执行器版本,再重新创建相应的数据接收任务;