nixos/vector: Improve dnstap records table schema

This commit is contained in:
Jonathan Davies 2025-08-14 15:10:04 +00:00
parent 523fd9bd95
commit 27f3cfc994
No known key found for this signature in database

View File

@ -268,17 +268,40 @@ in
tableDDL = pkgs.writeText "table.sql" '' tableDDL = pkgs.writeText "table.sql" ''
CREATE TABLE IF NOT EXISTS dnstap.records ( CREATE TABLE IF NOT EXISTS dnstap.records (
timestamp DateTime64(6), timestamp DateTime64(6),
dataType LowCardinality(String), dataType Enum('Message' = 1),
dataTypeId UInt8, messageType Enum(
messageType LowCardinality(String), 'AuthQuery' = 1,
messageTypeId UInt8, 'AuthResponse' = 2,
'ResolverQuery' = 3,
'ResolverResponse' = 4,
'ClientQuery' = 5,
'ClientResponse' = 6,
'ForwarderQuery' = 7,
'ForwarderResponse' = 8,
'StubQuery' = 9,
'StubResponse' = 10,
'ToolQuery' = 11,
'ToolResponse' = 12,
'UpdateQuery' = 13,
'UpdateResponse' = 14
),
queryZone Nullable(String),
requestData Nullable(JSON), requestData Nullable(JSON),
responseAddress String,
responseData Nullable(JSON), responseData Nullable(JSON),
responsePort UInt16, responsePort UInt16,
serverId LowCardinality(String), serverId LowCardinality(String),
serverVersion LowCardinality(String), serverVersion LowCardinality(String),
socketFamily LowCardinality(String), socketFamily Enum('INET' = 1, 'INET6' = 2),
socketProtocol LowCardinality(String), socketProtocol Enum(
'UDP' = 1,
'TCP' = 2,
'DOT' = 3,
'DOH' = 4,
'DNSCryptUDP' = 5,
'DNSCryptTCP' = 6,
'DOQ' = 7
),
sourceAddress String, sourceAddress String,
sourcePort UInt16, sourcePort UInt16,
) )
@ -304,7 +327,7 @@ in
JSONExtractString(requestData.question[1]::String, 'domainName') as domain, JSONExtractString(requestData.question[1]::String, 'domainName') as domain,
JSONExtractString(requestData.question[1]::String, 'questionType') as record_type JSONExtractString(requestData.question[1]::String, 'questionType') as record_type
FROM dnstap.records FROM dnstap.records
WHERE messageTypeId = 5 # ClientQuery WHERE messageType = 'ClientQuery'
''; '';
selectDomainCountQuery = pkgs.writeText "select-domain-count.sql" '' selectDomainCountQuery = pkgs.writeText "select-domain-count.sql" ''