mirror of
https://github.com/gravitl/netmaker.git
synced 2026-01-15 15:24:05 +08:00
* feat(go): define flow events; * feat(go): improve structure; * feat(go): improve structure; * feat(go): remove old flow definitions; * feat(sql): add clickhouse init scripts; * feat(sql): add protobuf spec; * fix(sql): store ip as string; * feat(go): move proto def to grpc dir; * feat(go): use node instead of host as type; optimize protobuf defs; * feat(go): add clickhouse db support; add endpoint to query flows; * fix(go): fix clickhouse config; * fix(go): use error response structure to report error; * feat(go): pass flow logging status to netclient; * feat(go): add peer ip identity map to host peer info; * feat(go): remove prefix from participant obj fields; * feat(go): add flow logs enabled field to host; * feat(go): add filtering to get flow api; * feat(go): fix record struct; * feat(go): add exporter url to server config; * feat(go): add exporter url to server config; * feat(go): enable flow logs by default; * feat(go): update nm-quick.sh; * feat(go): update nm-quick.sh; * feat(go): update nm-quick.sh; * feat(go): update nm-quick.sh; * feat(go): add db initialization logic; * feat(go): filter by network id; * fix(go): connection issue; * fix(go): connection issue; * fix(go): golang builder version; * feat(go): add server settings for flow logs; * feat(go): initialize clickhouse in pro; check for retention; * feat(go): add exporter feature flags; * feat(go): add grpc behind caddy; * feat(go): expose ports correctly; * fix(go): grpc caddyfile config; * fix(go): publish exporter feature flags on license validation; * fix(go): set server name for netmaker exporter; * fix(go): set server name for netmaker exporter; * fix(go): check for nil cancel func; * fix(go): add flow logs field to api host; * fix(go): add flow logs field to api host; * fix(go): remove port from grpc setting; * chore(go): tabs; * feat(go): introduce egress range participant type;. * feat(go): rename egress range to egress route for uniform language; * feat(go): rename egress range to egress route for uniform language; * feat: add peer addr identity map to host peer update; * feat: add address identity map to host peer update; * feat: add address identity map to host peer update; * feat: set correct from and to args; * feat: add support for filtering by node; * feat: use corresponding base image; * feat: update dockerfile base image version; * fix: disable flow logs for all host when global settings are changed;
42 lines
1.2 KiB
SQL
42 lines
1.2 KiB
SQL
CREATE TABLE IF NOT EXISTS flows (
|
|
-- Identity
|
|
flow_id String,
|
|
host_id String,
|
|
network_id String,
|
|
|
|
-- Flow metadata
|
|
protocol UInt16,
|
|
src_port UInt16,
|
|
dst_port UInt16,
|
|
icmp_type UInt8,
|
|
icmp_code UInt8,
|
|
direction Enum8('ingress'=1, 'egress'=2),
|
|
|
|
-- Participants
|
|
src_ip String,
|
|
src_type Enum8('node'=1,'user'=2,'extclient'=3,'egress_route'=4,'external'=5),
|
|
src_entity_id String,
|
|
|
|
dst_ip String,
|
|
dst_type Enum8('node'=1,'user'=2,'extclient'=3,'egress_route'=4,'external'=5),
|
|
dst_entity_id String,
|
|
|
|
-- Timestamps
|
|
start_ts DateTime64(3),
|
|
end_ts DateTime64(3),
|
|
|
|
-- Metrics
|
|
bytes_sent UInt64,
|
|
bytes_recv UInt64,
|
|
packets_sent UInt64,
|
|
packets_recv UInt64,
|
|
|
|
-- Conntrack status bitmask
|
|
status UInt32,
|
|
|
|
-- Logical version / event time (for merging)
|
|
version DateTime64(3)
|
|
)
|
|
ENGINE = ReplacingMergeTree(version)
|
|
PARTITION BY toYYYYMMDD(version)
|
|
ORDER BY (network_id, host_id, flow_id, version);
|