Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

18 lines
536 B
JavaScript

/* Redis exporter using Log::log_stream_policy hook and Redis's pub/sub */
const redis = require('redis');
const stringify = require('safe-stable-stringify').configure({
deterministic: false,
});
const client = redis.createClient();
client.connect();
zeek.hook('Log::log_stream_policy', (rec, stream_id) => {
if ( ! client.isReady ) // Short-cut: not yet connected, just drop the record.
return;
let log_rec = zeek.select_fields(rec, zeek.ATTR_LOG);
let data = stringify(log_rec);
client.publish(stream_id, data);
});