Shinken

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.

OS: Linux, FreeBSD, macOS
Size: 15 MB
Version: 2.8.2
🡣: 10212

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.

Other articles

Submit your application