Shinken: A Monitoring Framework for When Classic Nagios Isn’t Enough
Shinken was born out of a simple frustration: classic Nagios couldn’t scale, and patching it didn’t get any easier. Instead of rewriting everything from scratch, the idea was to keep what worked — the config model, the plugins — and build a more flexible, distributed backend around it. In practice, that meant splitting up responsibilities into modules that could run on different machines, and moving the whole thing to Python.
It’s not a product with a homepage full of graphs. It’s a toolkit. And for teams that already understand how Nagios thinks, but need to go beyond a single poller and one web UI, it opens some space.
What It Does (And Why Some Still Use It)
Feature | Comment |
Nagios config compatible | Most existing `.cfg` files and plugins work as-is |
Modular by design | Scheduler, poller, broker, reactionner — all separate, each replaceable |
Python-based | Easier to tweak than C — logic is visible, not buried |
Multi-node friendly | Can run pollers on satellites — for regions, sites, or security zones |
Flexible output | Feeds status to Thruk, Graphite, InfluxDB, or custom tools |
Mixed data inputs | Works with active checks, passive results, traps, or external state feeds |
Manual control | Not opinionated — no locked stack, no forced frontend |
How It Usually Gets Deployed
Shinken works best on Linux, unsurprisingly. Debian or Ubuntu is where most guides land. Some admins install from GitHub, others grab an old .deb and patch it up. Python 2.7 was the default for years, but some forks support 3.x now — depends on how much bleeding edge is acceptable.
Typical setup:
– One central server with scheduler and broker
– Optional satellite(s) running pollers
– Thruk (or something else) for UI
– Nagios plugins copied in — mostly unchanged
– Configs dropped into /etc/shinken/objects/ or similar
– Launch with ‘shinken start’, monitor via logs
There’s no magic installer. Most setups are half-documented and half-learned while watching logs and fixing typos. But once it runs, it stays up.
What It Gets Used For
– Monitoring networks that can’t fit into a single Nagios instance
– Reusing existing check plugins and scripts
– Systems where polling matters more than metrics scraping
– Scenarios where some sites can’t push data and need to be checked actively
– Hybrid setups mixing SNMP, scripts, and passive status feeds
Where It Fits (and Why It’s Still Around)
Some teams just don’t want dashboards with 19 types of graphs. They want to know if a service is up, what the response time is, and whether the last backup job exited cleanly. Shinken fits that niche.
It runs well on modest hardware. It doesn’t need containers or Kubernetes. And it doesn’t require everything to be pushed — it still believes in polling.
Known Weak Spots
– Development pace has slowed a lot — not much community movement in recent years
– Requires comfort with .cfg files and Nagios-style logic
– UIs like WebUI2 are usable, but not pretty — most go with Thruk
– Some forks diverge — docs may refer to features that were never merged
– Not suited for teams looking for ready-to-go dashboards or alert workflows
Final Thought
Shinken isn’t a polished SaaS tool. It’s a low-level framework that rewards admins who don’t mind getting into the weeds. For shops that already speak Nagios and want something more scalable, it still holds up. Not perfect — but functional, fast, and not trying to be anything it’s not.