YAML Reference¶
This page lists the configuration fields that matter for offline mode.
Required Sections¶
At minimum, define:
sniffercaptureoffline_outputlogging
sniffer¶
sniffer:
customer_id: "customer-12345"
sniffer_id: "sniffer-offline-01"
mode: "offline"
customer_id: identifies the deployment and tags output recordssniffer_id: used in runtime metadata and observer outputmode: must beoffline
capture¶
capture:
interface: "eth0"
mode: "local"
bpf_filter: "tcp or udp"
promiscuous: false
queue_size: 10000
timeout_ms: 1000
snaplen: 65535
pcap_buffer_size_mb: 32
enable_raw_sockets: false
raw_socket_filter: ""
capture_incomplete_handshakes: false
pre_capture:
enabled: false
tcpdump_binary: "tcpdump"
initialization_delay_seconds: 5
pcap_output_path: "/tmp/pqc-sniffer-precap.pcap"
buffer_size_mb: 16
keep_pcap_file: false
interface: live interface name or a.pcapor.pcapngfile pathmode: one oflocal,span,tap,aws_vpc_mirror,gcp_packet_mirror,azure_vtapbpf_filter: libpcap filter expressionpromiscuous: enables or disables promiscuous capturequeue_size: internal packet queue sizetimeout_ms: capture timeout in millisecondssnaplen: packet snapshot lengthpcap_buffer_size_mb: libpcap buffer sizeenable_raw_sockets: enables early AF_PACKET captureraw_socket_filter: optional filter just for raw-socket capturecapture_incomplete_handshakes: allows partial handshake emission in supported flows
pre_capture¶
enabledtcpdump_binaryinitialization_delay_secondspcap_output_pathbuffer_size_mbkeep_pcap_file
offline_output¶
offline_output:
output_file: "/var/log/pqc-sniffer/"
append_mode: true
buffer_size_kb: 64
flush_per_connection: false
rotation_enabled: true
max_size_mb: 100
max_files: 10
output_file: absolute path only; directory paths ending in/receiveconnections.ndjsonappend_mode: append on startup instead of truncating the current filebuffer_size_kb: write buffer sizeflush_per_connection: flush after each event writerotation_enabled: enable circular rotationmax_size_mb: per-file size threshold before rollovermax_files: number of indexed files retained in the circular set
logging¶
logging:
level: "info"
file:
path: "/var/log/pqc-sniffer/pqc-sniffer.log"
max_size_mb: 100
max_files: 10
rotation_enabled: true
database:
enabled: false
level: "warn"
logging.level:debug,info,warn, orerrorlogging.file.pathlogging.file.max_size_mblogging.file.max_fileslogging.file.rotation_enabledlogging.database.enabled: set tofalsefor offline-only deploymentslogging.database.level
monitoring¶
monitoring:
heartbeat_interval_seconds: 60
metrics:
enabled: false
monitoring.heartbeat_interval_secondsmonitoring.metrics.enabled
resource_limits¶
resource_limits:
max_memory_mb: 0
max_cpu_percent: 0
max_disk_mb: 0
0 means unlimited for these fields.
crash_handler¶
crash_handler:
enabled: true
crash_log_dir: ""
generate_core_dump: false
include_memory_stats: true
include_recent_activity: true
max_backtrace_frames: 50
enabledcrash_log_dirgenerate_core_dumpinclude_memory_statsinclude_recent_activitymax_backtrace_frames
Validation Rules¶
offline_output.output_filemust be an absolute pathoffline_output.output_filecannot contain..offline_output.buffer_size_kbmust be between1and1024offline_output.max_size_mbmust be between1and10240when rotation is enabledoffline_output.max_filesmust be between1and1000when rotation is enabled
Info
For offline-only deployments, keep logging.database.enabled: false and do not rely on --dry-run for real file generation.