syntax = "proto3"; package hms.collector.v1; option go_package = "git.opencomputing.cn/yumoqing/host-metrics-collector/pkg/collectorpb;collectorpb"; // MetricSample 表示单条指标样本,labels 统一携带 host_id / service / metric_group。 message MetricSample { string name = 1; double value = 2; int64 timestamp = 3; // Unix 秒 map labels = 4; } // MetricBatch 是 Agent 一次批量上报的指标消息。 message MetricBatch { string host_id = 1; string agent_version = 2; int64 seq = 3; int64 sent_at = 4; // Unix 秒 repeated MetricSample samples = 5; } // LogEntry 表示单条主机日志,offset 用于日志文件断点续传。 message LogEntry { int64 timestamp = 1; // Unix 秒 string level = 2; string source = 3; string message = 4; map fields = 5; string file = 6; int64 offset = 7; } // LogBatch 是 Agent 一次批量上报的日志消息。 message LogBatch { string host_id = 1; int64 seq = 2; repeated LogEntry entries = 3; } // Ack 是上报接口的统一确认响应。 message Ack { bool ok = 1; int64 seq = 2; string error = 3; } // HeartbeatRequest 是 Agent 心跳/注册/配置下发请求。 message HeartbeatRequest { string host_id = 1; string agent_version = 2; int64 config_version = 3; } // HeartbeatResponse 是心跳响应。 message HeartbeatResponse { bool ok = 1; int64 server_time = 2; // Unix 秒 map config = 3; } // CheckpointResponse 返回服务端已确认的序号。 message CheckpointResponse { int64 last_acked_seq = 1; }