Hexward Labs

Log correlation

A detector that never fires looks exactly like a network that is safe

Small SIEM deployments rarely fail loudly. They fail by running, processing, reporting healthy, and concluding nothing. This page covers why that happens, what the free options actually are, and where a single-binary alternative fits.

Written by a network security engineer · last reviewed 20 August 2026

Three ways a small deployment dies

1. The ingest bill

Priced-per-GB platforms create an incentive that runs against security: the cheapest configuration is the one that collects least. So verbose sources get dropped, retention gets trimmed to weeks, and the log you need during an incident is the one that aged out. A team ends up paying for a SIEM and not having the data.

2. Alert fatigue

A hundred single-line alerts per day, each ambiguous on its own, is not a detection capability. It is a queue nobody reads. The failure is not the volume — it is that each alert lacks the context needed to decide anything, so deciding gets deferred, and then permanently.

3. The silent detector

This is the one worth dwelling on, because it is invisible from every dashboard you have.

I hit it in my own code. One field was never filled: the timestamp on each parsed line. "Five failures in two minutes" quietly became "five failures, ever, since the beginning of time." The cooldown logic inverted. The chain that should have escalated never reached its window.

Nothing errored. It ran. It processed. It reported healthy. It simply never concluded anything — and a detector that has never fired is indistinguishable from a network where nothing has happened.

Two habits that catch this, whatever tool you run.

Reject log lines whose timestamp you could not parse — never silently default them to "now" or to zero. And replay a known-bad sequence on a schedule, then assert the alert appeared. A detector you have never seen fire is a detector you have never tested.

The free options, honestly

These are all good projects run by people who know what they are doing. Pick by shape, not by marketing.

ProjectShapeBest whenCost of entry
Wazuh Agent-based host security platform with a management server and indexer You want endpoint visibility, FIM and compliance reporting as well as log analysis Agents to deploy; an indexer to run and size
Graylog Log management and search, with alerting on top Search and retention are the primary need Requires supporting datastores; open-source edition trails the enterprise one on some features
Security Onion A whole distribution for network security monitoring You want IDS, full packet capture and analyst tooling together It is an appliance-scale commitment, not a service you add
Elastic / ELK Build-your-own — the pieces are excellent, the assembly is yours You have the time and want full control Highest operational overhead of the four
Loglight
this project
One Go binary with SQLite. Ingest, detect, correlate One person is responsible and there is no budget for a cluster Deliberately small — and correspondingly limited, see below

If you have a team and an infrastructure budget, several of the options above will take you further than Loglight will. The case for something smaller is narrow and specific: a SIEM nobody has time to operate detects nothing at all, and a one-person shop that keeps deferring the Elastic cluster has zero detection in the meantime.

Correlation is the part that matters

Three separate alerts:

10:02  port scan from 203.0.113.44
10:19  47 failed SSH logins from 203.0.113.44
10:26  successful SSH login from 203.0.113.44

Read individually, the first two are internet background noise and the third is a normal event. Read together, they are one intrusion with a timeline, and the third line is the one that ends the argument.

That is the whole job: not producing more alerts, but joining the ones you already have so a human sees a story instead of three shrugs.

Loglight

Ingests syslog, plain files, journald, Docker and Windows events. Detects brute force, scanning, exfiltration patterns and new-admin events, and correlates them into kill-chain incidents. One binary, SQLite storage, embedded UI. No telemetry, no outbound connections.

Every other Hexward tool can emit findings as RFC 3164 syslog, so a Decoy trip from an address Loglight already saw scanning becomes one critical incident with the timeline attached, rather than two alerts you have to join up yourself. There is nothing Hexward-specific about the format — any collector works.

Run it

Grab the tarball and SHA256SUMS from the releases page, then:

sha256sum -c SHA256SUMS
tar -xzf loglight-free-0.2.0-linux-amd64.tar.gz
cd loglight-0.2.0
./loglight
# dashboard on http://127.0.0.1:8427 — point one source at it
Source on GitHub Other Hexward tools

Honest limits

Related: self-hosted deception — the highest-signal input you can feed a correlation engine, because a touched decoy is almost never a false alarm.