syntax = "proto3"; // auth验证请求和应答 message AuthRequest { string uuid = 1; string username = 2; string salt = 4; string token = 5; uint32 timestamp = 6; } message AuthReply { uint32 code = 1; string message = 2; } // 不需要响应的,基于pub/sub的机制实现远程调用; 不需要指定service_id // service_id主动订阅消息, 基于广播通讯 message Pub { string topic = 1; bytes content = 2; } ///// 服务器主动推送的消息 // 部署逻辑 message Deploy { uint32 task_id = 1; // json string config = 2; } // 获取task的logs message FetchTaskLog { uint32 task_id = 1; } // 参数配置 message ContainerConfig { string container_name = 1; // 任意的数据格式 bytes config = 2; } /////// EFKA主动上报的消息类型 // 数据传输 message Data { string service_id = 1; string device_uuid = 2; string route_key = 3; // measurement[,tag_key=tag_value...] field_key=field_value[,field_key2=field_value2...] [timestamp] bytes metric = 4; } message Event { string service_id = 1; uint32 event_type = 2; string params = 3; } //#{<<"adcode">> => 0,<<"boot_time">> => 18256077,<<"city">> => <<>>, // <<"cpu_core">> => 2, // <<"cpu_load">> => 0,<<"cpu_temperature">> => 43.75, // <<"disk">> => #{<<"total">> => 7129,<<"used">> => 6074}, // <<"efka_version">> => <<"1.0.0">>, // <<"interfaces">> => [], // <<"ips">> => [<<"10.68.152.142/22">>,<<"10.20.1.202/24">>], // <<"kernel_arch">> => <<"Linux openeic 4.4.194 #14 SMP PREEMPT Fri Aug 2 11:31:15 CST 2024 aarch64 GNU/Linux\n">>, // <<"memory">> => #{<<"total">> => 990,<<"used">> => 80}, // <<"province">> => <<>>} // 定义ping消息格式 message Ping { string adcode = 1; uint32 boot_time = 2; string province = 3; string city = 4; string efka_version = 5; string kernel_arch = 6; repeated string ips = 7; // cpu uint32 cpu_core = 8; uint32 cpu_load = 9; float cpu_temperature = 10; // 存储格式为数组: [total, used] repeated int32 disk = 11; repeated int32 memory = 12; // 接口信息的定义: 每个接口的信息, 采用json格式传输,没有办法提前定义 string interfaces = 13; }