Most trading and banking infrastructure isn’t one clean estate — it’s three at once:
- Containerised applications running on OpenShift or Kubernetes
- On-prem data centre infrastructure — network switches, routers and firewalls quietly generating syslog
- Windows estate — domain controllers, app servers, and legacy services still producing Windows Event Logs
Traditionally that means three different tools, three different query languages, and an incident bridge call where nobody can see the whole picture at once. When an order-gateway service throws an exception, the question is rarely “what did the app log say” in isolation — it’s “did this correlate with a network event, an ACL change, or something on the Windows side.” If your logging estate is fragmented, that correlation happens by phone call instead of by query.
The architecture: Grafana LGTM + Alloy on OpenShift
For a recent lab build, I stood up the Grafana LGTM stack (Loki for logs, Grafana for visualisation, and the wider Mimir/Tempo family for metrics and traces) on OpenShift, with Grafana Alloy as the single, vendor-neutral collector feeding it all.
The shape of it:
- OpenShift hosts Grafana and Loki, exposed via an OpenShift Route, and everything is installed and lifecycle-managed through OLM/OperatorHub rather than hand-rolled manifests — consistent with how I approach day-2 operations on OpenShift generally.
- Alloy is deployed as the collection layer across the estate, tagging every stream with consistent labels —
job,estate,host,os— so a single Loki instance can hold containerised app logs, on-prem syslog, and Windows Event Logs side by side without them turning into an undifferentiated soup. - Label design does the heavy lifting: an
estate=onprem-dc1label separates on-prem sources from cloud/cluster-native ones, whilejob=tradingapp,job=syslogandjob=windowseventlet you pivot between application, network, and Windows telemetry inside the same Explore view — no swivel-chairing between three consoles.

/var/log/tradingapp/order-gateway.log via the Loki-trading datasource
estate=onprem-dc1 to isolate on-prem sourcesWhat it looks like in practice
In the walkthrough below, a simulated order-gateway trading application is logging structured INFO/WARN/ERROR events (including a Java IllegalStateException on a settlement window closing) alongside network syslog and Windows Event Log — all landing in the same Loki instance with consistent labels.


job=tradingapp to see just the trading application’s logs
Network syslog from the on-prem estate — interface state changes, BGP neighbour flaps, and ACL denies (%SEC-6-IPACCESSLOGP) — arrives through the same pipeline with the job=syslog label, and Windows Event Log entries land under job=windowsevent, sitting in the exact same query surface as everything else.

job=windowsevent
job=syslog, ready to correlate against app-level errors
That means when the order-gateway starts throwing settlement exceptions, the very next query is “did anything change on the network or the Windows estate in the same window” — and it’s a label filter away, not a different tool and a different login.
Why this matters for regulated, hybrid environments
- Faster root cause, fewer bridge calls. One query surface across app, network and Windows telemetry cuts the “let me check with the network team” loop out of an incident.
- Consistent retention and access control. Centralising through Loki/Alloy means one place to apply retention policy and access boundaries, rather than three siloed log stores with three different rules.
- Cloud-agnostic collection. Alloy isn’t tied to a single vendor’s format, which matters when your estate genuinely is hybrid — cloud-native services next to twenty-year-old on-prem infrastructure that isn’t going anywhere soon.
- OpenShift-native lifecycle. Running the observability stack itself through OLM keeps upgrades and version pinning predictable — the same day-2 discipline I’d apply to any other OpenShift workload.
- Built for noisy, latency-sensitive estates. Trading and market-data environments generate high log volume with low tolerance for blind spots — this pattern is designed to scale with that, not fall over under it.
Where this fits
This is a reference pattern, not a fixed product — the label taxonomy, retention tuning, and collector placement all get shaped around the actual estate: how many on-prem sites, how much Windows footprint, what’s already emitting syslog versus what needs an agent. If you’re running a hybrid OpenShift/on-prem/Windows estate and logging is currently three tools stitched together with hope, this is exactly the kind of engagement I take on.
Recognise your estate in any of this?
Tell us about your estate and we’ll come back with a scoped, fixed-price proposal. No sales sequence, no retainer pitch — a 30-minute call and a written scope.
Live hours 1–5pm CT · Fixed scope, fixed price · UK-based, US-facing
Theta Cloud Consulting is an independent consultancy. We are not affiliated with, endorsed by, or sponsored by Red Hat, Inc. OpenShift is a trademark of Red Hat, Inc.