feat(haproxy): add initial implementation for HAProxy log ingestion
This commit is contained in:
1 parent
876683066c
commit
5fb721346f
5 files changed
+207
No files matched your search
@@ -0,0 +1,71 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package haproxy.ingest.v1;
|
||||
|
||||
message LogBatch {
|
||||
uint32 schema_version = 1;
|
||||
string machine_id = 2;
|
||||
string hostname = 3;
|
||||
optional string previous_cursor = 4;
|
||||
string last_cursor = 5;
|
||||
int64 first_journal_timestamp_us = 6;
|
||||
int64 last_journal_timestamp_us = 7;
|
||||
repeated LogRecord records = 8;
|
||||
}
|
||||
|
||||
message LogRecord {
|
||||
int64 journal_timestamp_us = 1;
|
||||
|
||||
oneof payload {
|
||||
HAProxyEvent event = 2;
|
||||
RejectedEvent rejected = 3;
|
||||
JournalGap gap = 4;
|
||||
}
|
||||
}
|
||||
|
||||
message HAProxyEvent {
|
||||
reserved 22;
|
||||
|
||||
optional string client_ip = 1;
|
||||
optional uint32 client_port = 2;
|
||||
optional string frontend_name = 3;
|
||||
optional string backend_name = 4;
|
||||
optional string server_name = 5;
|
||||
optional string http_method = 6;
|
||||
optional string request_path = 7;
|
||||
optional string http_version = 8;
|
||||
int32 status_code = 9;
|
||||
uint64 bytes_sent = 10;
|
||||
int32 time_request_ms = 11;
|
||||
int32 time_wait_ms = 12;
|
||||
int32 time_connect_ms = 13;
|
||||
int32 time_response_ms = 14;
|
||||
int32 time_total_ms = 15;
|
||||
optional string termination_state = 16;
|
||||
uint32 retries = 17;
|
||||
optional string tls_sni = 18;
|
||||
optional string tls_version = 19;
|
||||
optional string tls_cipher = 20;
|
||||
optional bool tls_resumed = 21;
|
||||
repeated string normalization_flags = 23;
|
||||
optional uint32 active_connections = 24;
|
||||
optional uint32 frontend_connections = 25;
|
||||
optional uint32 backend_connections = 26;
|
||||
optional uint32 server_connections = 27;
|
||||
optional uint32 server_queue = 28;
|
||||
optional uint32 backend_queue = 29;
|
||||
}
|
||||
|
||||
message RejectedEvent {
|
||||
string reason = 1;
|
||||
bytes message_sha256 = 2;
|
||||
optional string raw_message_prefix = 3;
|
||||
bool raw_message_truncated = 4;
|
||||
}
|
||||
|
||||
message JournalGap {
|
||||
string expected_cursor = 1;
|
||||
string first_available_cursor = 2;
|
||||
optional int64 first_available_timestamp_us = 3;
|
||||
string reason = 4;
|
||||
}
|
||||
Reference in new issue
Block a user