JSON Configuration Guide¶
Every setting in ezsnmp_data_logger — engine scheduling, ezsnmp SNMPv1/v2c/v3 credentials, MIB formatting flags, storage sinks, and cross-platform GUI preferences — is stored in a single JSON configuration document.
Generating Starter Templates & JSON Schema¶
Use the CLI to generate ready-to-edit JSON files or inspect the Draft 2020-12 JSON Schema:
ezsnmp-data-logger init-config --template minimal --output my_config.json
ezsnmp-data-logger init-config --template demo --output demo.json
ezsnmp-data-logger init-config --template snmpv3 --output snmpv3.json
ezsnmp-data-logger init-config --template enterprise --output enterprise.json
ezsnmp-data-logger schema > ezsnmp_data_logger.schema.json
ezsnmp-data-logger validate --config my_config.json
Top-Level JSON Structure¶
A configuration document contains four top-level JSON objects/arrays:
logger— Polling cadence (poll_interval_ms), bounded queue capacity (queue_depth),worker_threads,stats_interval_ms, optionalmax_cycles/run_duration_seconds, and optional atomicstatus_file.duts— Array of Devices Under Test, each withname,dut_ip,enabled, optional per-DUTpoll_interval_ms, ansnmpobject mapping all 24ezsnmp::SessionBaseparameters (mode"ezsnmp"or"stub",version"1"/"2c"/"3",community,port_number,timeout_seconds,retries, SNMPv3 USMsecurity_level,security_username,auth_protocol,auth_passphrase,privacy_protocol,privacy_passphrase,context,load_mibs,mib_directories,print_oids_numerically, etc.), and ametricsarray.sinks— Array of output sinks (sqlite3,csv,jsonl,psql,prometheus).gui— Cross-platform GUI settings stored directly in JSON (frontend:"auto"|"tk"|"web",theme:"dark"|"light",locale:"en"|"es", optionallocale_file,window_width,window_height,refresh_interval_ms,host,port,open_browser,cli_executable,max_log_lines).