LoongCollector

1758
下载
LoongCollector 源自阿里云可观测性团队所开源的 iLogtail 项目,在继承了 iLogtail 强大的日志采集与处理能力的基础上,进行了全面的功能升级与扩展。从原来单一日志场景,逐步扩展为可观测数据采集、本地计算、服务发现的统一体。 LoongCollector 是一款集卓越性能、超强稳定性和灵活可编程性于一身的数据采集器,专为构建下一代可观测 Pipeline 设计。愿景是:打造业界领先的“统一可观测 Agent(Unified Observability Agent)”与“端到端可观

通信协议


由iLogtail社区联合哔哩哔哩共同建设。服从HTTP/HTTPS协议。

通用参数

ip 和 port 为 ConfigServer 的 ip 和接收端口,默认为127.0.0.1和8899。

API 响应规范

数据的发送及接收均为 protocol buffer 格式,参见源代码中的 config_server/protocol 文件夹(v1.0)。

在调用API接口过程中,若返回HTTP状态码为 200,则表示请求成功,若返回HTTP状态码为其他,例如404等,则表示调用API接口失败。服务端会返回请求响应信息如下。code为响应码,表示请求成功/失败的类型;message 是响应信息,包含详细的请求成功信息/失败说明。

{
"code" : <Code>,
"message" : <Message>
}

主要响应码如下所示:

HTTP状态码响应码说明
200Accept请求成功
400INVALID_PARAMETER无效的参数
500INTERNAL_SERVER_ERROR内部服务调用错误

通信时常见数据类型说明

Agent

通信传输中的采集 Agent 信息。

参数类型说明
agent_typestringAgent 的类型
agent_idstringAgent 的唯一标识
attributesAgentAttributesAgent 的运行信息
stringstring[]Agent 的标签
running_statusstringAgent 的运行状态
startup_timeint64Agent 的启动时间
intervalint32Agent 的心跳间隔

AgentAttributes

参数类型说明
versionstringAgent 的版本
categorystringAgent 的类型(用于拉取AGENT_CONFIG)
ipstringAgent 的IP
hostnamestringAgent 的主机名
regionstringAgent 的地域
zonestringAgent 的可用区
extrasmap<string,string>Agent 的其他信息

AgentGroup

通信传输中的 AgentGroup 信息。

参数类型说明
group_namestringAgentGroup 的唯一标识
descriptionstringAgentGroup 的备注说明
tagsAgentGroupTag[]AgentGroup 的标签数组

AgentGroupTag

通信传输中的 AgentGroup 的 Tag 信息。

参数类型说明
namestringAgentGroupTag 的标签名
valuestringAgentGroupTag 的标签值

CheckStatus(枚举类型)

拉取配置文件更新时返回的更新状态。

说明
NEW新增的配置文件
DELETED删除的配置文件
MODIFIED有改动的配置文件

Command

Agent 从 ConfigServer 接收到的指令。

参数类型说明
typestring指令的类型
namestring指令名
idstring指令的编号
argsmap<string,string>指令的参数

ConfigCheckResult

ConfigServer 返回给 Agent 的配置文件更新信息。

参数类型说明
typeConfigTypeConfig 的类型
namestringConfig 的唯一标识
old_versionint64Config 的本地版本
new_versionint64Config 的最新版本
contextstringConfig 的上下文
check_statusCheckStatusConfig 的更新状态

ConfigDetail

通信传输中的采集 Config 的信息。

参数类型说明
typeConfigTypeConfig 的类型
namestringConfig 的唯一标识
versionint64Config 的版本
contextstringConfig 的上下文
detailstringConfig 的详细数据

ConfigInfo

Agent 向 ConfigServer 请求时携带的配置文件信息。

参数类型说明
typeConfigTypeConfig 的类型
namestringConfig 的唯一标识
versionint64Config 的版本
contextstringConfig 的上下文

ConfigType(枚举类型)

配置文件的类型。

说明
PIPELINE_CONFIG采集 pipeline 配置
AGENT_CONFIGAgent 运行配置

RespCode(枚举类型)

通信时返回的状态码。

说明
ACCEPT请求成功
INVALID_PARAMETER请求失败,参数有误
INTERNAL_SERVER_ERROR请求失败,服务内部错误

接口说明

以API的形式对外提供统一的管控。总体分为两大类:

  • 用户API
    • AgentGroup 创建/修改/删除/查看
    • 采集配置 创建/修改/删除/查看
    • 采集配置与 AgentGroup 绑定/解绑
  • Agent API
    • Agent心跳
    • 采集配置获取

用户API: AgentGroup 创建/修改/删除/查看

ip:port/User/CreateAgentGroup

  • 功能:新建 AgentGroup
  • 请求方式:POST
  • 参数:
参数类型,默认值说明
agent_groupAgentGoup,无默认值(必填)新建的 AgentGroup 的信息
  • 返回值: 无

ip:port/User/UpdateAgentGroup

  • 功能:修改已有的 AgentGroup 的信息
  • 请求方式:PUT
  • 参数:
参数类型,默认值说明
agent_groupAgentGoup,无默认值(必填)修改后的 AgentGroup 的信息
  • 返回值: 无

ip:port/User/DeleteAgentGroup/

  • 功能:删除已建立的 AgentGroup
  • 请求方式:DELETE
  • 参数:
参数类型,默认值说明
group_namestring,无默认值(必填)要删除的 AgentGroup 的名称
  • 返回值: 无

ip:port/User/GetAgentGroup/

  • 功能:查看 AgentGroup 的信息
  • 请求方式:GET
  • 参数:
参数类型,默认值说明
group_namestring,无默认值(必填)要获取的 AgentGroup 的名称
  • 返回值:
参数类型说明
agent_groupAgentGroup目标 AgentGroup 的信息

ip:port/User/ListAgentGroups/

  • 功能:获取所有的 AgentGroup 列表
  • 请求方式:GET
  • 参数:无
  • 返回值:
参数类型说明
agent_groupsAgentGroup[]包含所有 AgentGroup 信息的数组

用户API:采集配置 创建/修改/删除/查看

ip:port/User/CreateConfig/

  • 功能:导入本地 Config
  • 请求方式:POST
  • 参数:
参数类型,默认值说明
config_detailConfigDetail,无默认值(必填)新增的 Config 的信息
  • 返回值: 无

ip:port/User/UpdateConfig/

  • 功能:修改已有的 Config 的信息
  • 请求方式:PUT
  • 参数:
参数类型,默认值说明
config_detailConfigDetail,无默认值(必填)修改后的 Config 的信息
  • 返回值: 无

ip:port/User/DeleteConfig/

  • 功能:删除已保存的 Config
  • 请求方式:DELETE
  • 参数:
参数类型,默认值说明
config_namestring,无默认值(必填)要删除的 Config 的名称
  • 返回值: 无

ip:port/User/GetConfig/

  • 功能:查看指定的 Config 的信息
  • 请求方式:GET
  • 参数:
参数类型,默认值说明
config_namestring,无默认值(必填)要获取的 config 名称
  • 返回值:
参数类型说明
config_detailConfigDetail目标 Config 的信息

ip:port/User/ListConfigs/

  • 功能:获取所有的 Config 列表
  • 请求方式:GET
  • 参数:无
  • 返回值:
参数类型说明
config_detailsConfigDetail[]包含所有 Config 信息的数组

用户API:采集配置与 AgentGroup 绑定/解绑

ip:port/User/ApplyConfigToAgentGroup/

  • 功能:向 AgentGroup 中添加 Config
  • 请求方式:PUT
  • 参数:
参数类型,默认值说明
group_namestring,无默认值(必填)目标 AgentGroup 的名字
config_namestring,无默认值(必填)目标 Config 的名字
  • 返回值: 无

ip:port/User/RemoveConfigFromAgentGroup/

  • 功能:删除 AgentGroup 中的 Config
  • 请求方式:DELETE
  • 参数:
参数类型,默认值说明
group_namestring,无默认值(必填)目标 AgentGroup 的名字
config_namestring,无默认值(必填)目标 Config 的名字
  • 返回值: 无

ip:port/User/GetAppliedConfigsForAgentGroup/

  • 功能:查看 AgentGroup 中的 Config 列表
  • 请求方式:GET
  • 参数:
参数类型,默认值说明
group_namestring,无默认值(必填)目标 AgentGroup 名称
  • 返回值:
参数类型说明
config_namesstring[]AgentGroup 关联的所有 Config 名称的数组

ip:port/User/GetAppliedAgentGroups/

  • 功能:查看 Config 关联的 AgentGroup 列表
  • 请求方式:GET
  • 参数:
参数类型,默认值说明
config_namestring,无默认值(必填)目标 Config 名称
  • 返回值:
参数类型说明
agent_group_namesstring[]Config 关联的所有 AgentGroup 名称的数组

ip:port/User/ListAgents/

  • 功能:获取 AgentGroup 中 Agent 列表
  • 请求方式:GET
  • 参数:
参数类型,默认值说明
group_namestring,无默认值(必填)目标 AgentGroup 名称
  • 返回值:
参数类型说明
agentsAgent[]包含 AgentGroup 中所有的 Agent 信息及其状态的数组

Agent API:写入心跳

ip:port/Agent/HeartBeat/

  • 功能:Agent 向 ConfigServer发送心跳
  • 请求方式:POST
  • 参数:
参数类型,默认值说明
agent_idstring,无默认值(必填)Agent 的唯一标识符
agent_typestring,无默认值(必填)Agent 的种类
attributesAgentAttributes,无默认值(必填)Agent 的信息
tagsstring[],无默认值(必填)Agent 拥有的 tag
running_statusstring,无默认值(必填)Agent 的运行状态
startup_timeint64,无默认值(必填)Agent 的启动时间
intervalint32,无默认值(必填)Agent 的心跳间隔
pipeline_configsConfigInfo,无默认值(必填)Agent 拥有的采集配置信息
agent_configsConfigInfo,无默认值(必填)Agent 拥有的运行配置信息
  • 返回值:
参数类型说明
pipeline_check_resultsConfigCheckResult[]Agent 拉取的采集配置更新信息
agent_check_resultsConfigCheckResult[]Agent 拉取的运行配置更新信息
custom_commandsCommand[]Agent 接收到的命令

Agent API:根据 Agent 获取采集配置(含变更信息)

ip:port/Agent/FetchPipelineConfig/

  • 功能:Agent 向 ConfigServer 发送已有的采集配置列表,获取更新
  • 请求方式:POST
  • 参数:
参数类型,默认值说明
agent_idstring,无默认值(必填)Agent 的唯一标识符
req_configsConfigInfo[]Agent 需要拉取的配置文件信息
  • 返回值:
参数类型说明
config_detailsConfigDetail[]Agent 拉取的配置文件完整信息

ip:port/Agent/FetchAgentConfig/

  • 功能:Agent 向 ConfigServer 发送已有的运行配置列表,获取更新
  • 请求方式:POST
  • 参数:
参数类型,默认值说明
agent_idstring,无默认值(必填)Agent 的唯一标识符
attributesAgentAttributes,无默认值(必填)Agent 的信息
req_configsConfigInfo[]Agent 需要拉取的配置文件信息
  • 返回值:
参数类型说明
config_detailsConfigDetail[]Agent 拉取的配置文件完整信息

observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32