djspace

Getting my home network's security logs into one place

October 22, 2026 · 4 min read · loki, grafana, unifi, ids

New here? Start here for what my homelab is and how this site is organized.

My home gateway has an intrusion prevention system (IPS), but I almost never looked at it. Reading its alerts meant clicking through the UniFi app and exporting CSV files. The logs also don’t stay on the gateway for long.

What I wanted was simple:

I looked at full security platforms like Wazuh and Graylog. They need a lot of memory and are made for companies with hundreds of machines. I already had Grafana running on my Linux server for monitoring, so I added logs to it instead.

How it works

The gateway sends its events to the server. rsyslog writes them to a file, Grafana Alloy reads that file and the server’s own logs, sends everything to Loki, and Grafana searches it and sends the alert emails.

The gateway has a “SIEM server” setting that sends its events over syslog. On the server:

The firewall only accepts the syslog traffic from the gateway. Loki and Alloy together use about 450 MB of RAM.

The first surprise

I expected to see every connection in the logs. I didn’t. The gateway only sends events: a device joined the Wi-Fi, a setting changed, the IPS blocked something. At a quiet hour I got one line in five minutes.

The events have more detail than I thought, though. The IPS ones include the signature name, the device, the destination and the risk level. The Wi-Fi ones even include signal strength, which turned out to be handy for figuring out where my Wi-Fi is weak.

Testing the IPS alert

I didn’t want to wait for a real attack to find out if the alert worked. There’s a well-known test site for this:

curl http://testmyids.com

It returns text that looks like a server leaking its root account. That matches a standard IDS signature, and the gateway flagged it right away. A few seconds later the event was in Loki, and about a minute after that I had the email.

Timeline of the test: curl, the IPS signature, the event in Loki, the alert rule, the email. Before the change the event said “allowed”; after switching the IPS to block mode, the same test times out and says “blocked”.

The log line also showed something I hadn’t noticed: act=allowed. My IPS was only detecting things, not blocking them. I switched it to block mode, ran the same test, and this time the request timed out and the email said “blocked”.

What showed up on the first day

A few things came in quickly:

The scanner hits the gateway’s IPS first, then the service itself, and behind both the service runs in a network jail that can’t reach the rest of the network.

Things I got wrong

Where it is now

I have one dashboard for security events, Wi-Fi activity and the server’s logs, and four alerts: IPS hit, unusual gateway event, logs stopped, and gateway memory high. It took a morning to build. The next step was writing my own detection rules on top of this data, which is the next post.