Shinken – Modular Monitoring Built on Nagios Principles, But Better
What is Shinken
Shinken is a distributed monitoring framework built to be compatible with Nagios, but far more flexible and scalable. Instead of trying to replace Nagios outright, it reimagines its architecture: services are decoupled, load is distributed, and components talk over a message bus.
It uses the same configuration format as Nagios, which means old setups don’t need to be rewritten. But unlike Nagios, Shinken can scale horizontally across machines. One server handles scheduling, another does the checks, a third runs notifications — all separately.
It’s especially useful in environments where the classic “all-in-one” model breaks down — large networks, mixed operating systems, or teams who want to keep the simplicity of text-based configs but need more power under the hood.
Key Characteristics
Attribute | Description |
Architecture | Modular: each function (scheduler, poller, reactionner, broker) is a daemon |
Compatibility | Uses Nagios plugins and config files |
Language | Python |
Distributed | Components can run on separate machines |
Protocols Supported | SNMP, SSH, NRPE, HTTP, custom scripts |
Frontend Integration | WebUI, Thruk, Nagvis, Business Activity Monitoring |
Notification System | Fully asynchronous, supports mail, SMS, custom scripts |
Scalability | Designed for large infrastructures with thousands of hosts/services |
License | AGPLv3 |
Website | http://www.shinken-monitoring.org |
How It Works in Practice
You don’t install one big package. Instead, you deploy components: a scheduler plans checks, pollers run them, brokers handle results and performance data, and reactionners handle alerts. Each service runs as a separate daemon and can be placed on different nodes.
The benefit? You can scale by just adding another poller. Or isolate alerting from monitoring. Or run lightweight satellite nodes in isolated zones.
Shinken keeps the Nagios philosophy of simplicity — flat config files, familiar check syntax — but ditches the monolith.
Real-World Use Cases
– Replacing aging Nagios setups without throwing away plugins or knowledge
– Monitoring hundreds or thousands of devices across network segments
– Offloading checks to dedicated poller machines in remote locations
– Integrating with visual tools like Nagvis or Thruk for better dashboards
– Building high-availability monitoring with active/passive schedulers