From b2f54fb4164d654fcdc4f26a0c207b32dc8d5952 Mon Sep 17 00:00:00 2001 From: "gaokuilin.gkl" Date: Mon, 11 Nov 2024 17:12:26 +0800 Subject: [PATCH] feat: add configer provider info report interface --- config_server/protocol/v2/README.md | 6 +++++- config_server/protocol/v2/agentV2.proto | 19 ++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/config_server/protocol/v2/README.md b/config_server/protocol/v2/README.md index 567151584b..1c86704c7e 100644 --- a/config_server/protocol/v2/README.md +++ b/config_server/protocol/v2/README.md @@ -238,6 +238,10 @@ Client:这个版本的配置状态上报中修改了version的定义,-1仍 Server:这些信息是Agent状态的一部分,可选保存。与通过Event上报可观测信息不同的是,作为状态信息没有时间属性,用户可通过接口可获取即刻状态,而不需要选择时间窗口合并事件。 +上报配置状态有两种途径: +1. 在全量心跳或者配置状态变化后的压缩心跳 request 中将配置最新状态带上。 +2.【可选补充】通过 ReportConfigRequest 接口上报。适合对状态更新实时性要求比较高,或对心跳服务、配置服务、状态服务拆分以减少故障半径的实现。 + ### 预定义命令 Client: 通过request的flag传递,定义了FullStatus,表明本条信息为全量状态 @@ -259,4 +263,4 @@ Client: 当HeartbeatResponse中的code为0时,Agent应该正常处理下发的 ### 辅助信息 在command\_info, command\_detail, config\_info, config\_detail中,都预留了extra字段,可以用于传递一些额外的用户自定义的辅助信息。\ -注意:extra字段仅作传递辅助信息使用,不会对管控行为造成任何影响。 \ No newline at end of file +注意:extra字段仅作传递辅助信息使用,不会对管控行为造成任何影响。 diff --git a/config_server/protocol/v2/agentV2.proto b/config_server/protocol/v2/agentV2.proto index bc99338d58..c6755dad55 100644 --- a/config_server/protocol/v2/agentV2.proto +++ b/config_server/protocol/v2/agentV2.proto @@ -150,6 +150,7 @@ message HeartbeatResponse { bytes opaque = 8; // Opaque data for extension } +// optional api, see readme. // API: /Agent/FetchPipelineConfig/ // API: /Agent/FetchInstanceConfig/ // Agent request to ConfigServer, pulling details of the config @@ -166,8 +167,24 @@ message FetchConfigResponse { repeated ConfigDetail config_details = 3; // config detail } +// optional api, see readme. +// API: /Agent/ReportPipelineConfig/ +// API: /Agent/ReportInstanceConfig/ +// Agent request to ConfigServer, report status of the config +message ReportConfigRequest { + bytes request_id = 1; + bytes instance_id = 2; // Agent's unique identification + repeated ConfigInfo config_infos = 3; // Config status info +} + +// ConfigServer response to Agent's request +message ReportConfigResponse { + bytes request_id = 1; + CommonResponse commonResponse = 2; +} + message CommonResponse { int32 status = 1; bytes errorMessage = 2; -} \ No newline at end of file +}