Project


Shinken was born from a Proof-of-Concept to overcome Nagios’ inherent architectural weaknesses. The POC was proposed to the Nagios author as the new core but he was not interested. Shinken was further developed and is now a full fledged monitoring system, entirely written in Python and compatible with Nagios. Its main goal is to give users a flexible architecture for their monitoring system that is designed to scale to large environments.

Shinken is compatible with the Nagios configuration standard and plugins. It works on any operating system and architecture that supports Python, which includes Windows and GNU/Linux.

Design philosophy

  • Simple and easy administration
  • Seamless scalability of all components
  • Open and dynamic development (56 developers, 5000+ commits as of Aug 2012)
  • Automated software quality assurance
  • High level and maintainable software language – Python
  • Nagios configuration and check script compatibility
  • Capacity to innovate the core beyond what is possible with Nagios

What does 'Shinken' mean?

A Shinken is a sharp Japanese sword that is used for cutting and combat (cf http://en.wikipedia.org/wiki/Shinken). Shinken can automatically “cut” the configuration and distribute it to the various components. When a new component is added or removed, the user doesn’t need to change the configuration, but just adds the component, sets a few parameters and Shinken will manage it automatically.

Why build a new Nagios core?

Shinken’s author believes that the IT reference in monitoring (Nagios) was not designed for large environments and Nagios development has slowed due to code complexity and political will. There have also been no real enhancements in the last four years in Nagios, mainly bug fixes. It needs a new start.

Shinken provides it using its innovative technology, design philosophy and multi-platform support.

What is the Shinken license?

It’s the Affero GPL. You can learn more about it on the Not just Open Source : it’s Free Software page.

Who wrote Shinken?

CREATOR and LEADER OF THE SHINKEN PROJECT The initiator of the project is Jean Gabès (http://jean.gabes.fr). He is the author of a french book about Nagios (book description). He wrote patches for Nagios like an important patch for boosting Nagios’ launch performance for huge configurations and added the capability to override services applied on hosts over services applied on hostgroups. You can email him at naparuba@gmail.com.
CO LEADER and CORE DEVELOPER He also wrote a book about Nagios (book description), in german. He works as a monitoring consultant at ConSol (http://www.consol.de). Without him, Shinken would be full of bugs and would not have important features such as downtime managment, status.dat export or LiveStatus interface! You can email him at Gerhard.Lausser at the domain consol.de.
DEVELOPER David Guenault developed the installation script and various utility and has contributed to various aspects of the code including the UI.
Shinken WebUI developer and designer Andreas is a key player in developing and designing the Shinken WebUI.
Bug hunter and module developer Olivier finds and solves bugs. Has created and contributed to modules like Livestatus, TSCA. He is also making it possible to distribute an RPM package of Shinken.
 Sebastien Coavoux Tester / Bug Hunter / Wikier / Comment Cleaner Sebastien was a student interested in Open Source who fell in love with monitoring. He helps new users in the wiki and forums. He also looks for bugs and sometimes manages to fix them. He also contributes features to Shinken.
WEB DESIGNER and SCHEMA DESIGNER Romuald Fronteau contributes to the design of the project.

Shinken Roadmap

Roadmap for the upcoming software versions.

1.2 (Infernal IguanaCurrent version.

Shinken WebUI overhauled with twitter-bootstrap, jquery, widgets, user profiles, mobile UI

Shinken WebUI integration of graphite improved with templates, availability in more views

SkonfUI configuration and discovery management (alpha)

Multi-level discovery integrated with Skonf (alpha)

libvirt arbiter module for VM detection dynamic updates

Logic bug fix for notifications, no more storms after having Shinken stopped for a while

ZeroMQ contributed Broker module to export data from Shinken to ZeroMQ bus

ZeroMQ contributed client example

Collectd module to receive performance data from remote collectd agents

Ubuntu Landscape import hosts into Arbiter

Shinken Triggers allows to create new check results based on performance or state data (alpha)

Community exchange for “configuration packs” creation and submission

Added a number of templates and improved existing packs (templates)

Integration between SkonfUI, online community exchange and online wiki

Major optimizations of Shinken core for large installations

Major optimizations of Livestatus API for large installations

Livestatus API is much more responsive and many orders of magnitude faster overall

New null logstore for dedicated Livestatus API for Nagvis

Livestatus API user authentication

Livestatus logstore bug fixes (MongoDB and SQLite)

Event correlation and calculation engine in the Shinken core (preview)

Logging levels enforced throughout the Shinken daemons for easier debugging

Logging levels can be hot changed during runtime using shinken-admin

Graphite Broker module now extracts all data values, translates invalid characters

Graphite Broker pickle transfer protocol and buffering during back-end communication losses

Graphite Broker can add PRE, POST and SOURCE variables to data hostname.service

Notification and escalation logic corrections, enhancements

Direct routing of passive data from Receivers to Schedulers

HA handling improvements with Arbiter and Arbiter spares

Supported NATed remote shinken daemons

Canopsis Hypervisor broker module using RabbitMQ

Reformatted main configuration files shinken-specific.cfg and commands.cfg

Startup is significantly faster

Python pep8 compliance across the code

Python pylint, pycharm compliance coverage across the code

Test suite improvement

Improved documentation wiki, tutorials, diagrams, installation guide, FAQ

Bug fixes and performance enhancements for HA handling of the Arbiter

Bug fixes for Realm and hostgroup distribution by the Arbiter

Lots of bug fixes and extensive stability and performance testing

1.0.1 (Heroic Hedgehog)

Shinken WebUI enhancements (graphs and mobile version).

Business rule and business impact improvements

Configuration templates for public services (HTTP, LDAP, SSH, etc.)

Configuration templates for services (AD, MYSQL, etc.) to get new users up and running (called packs)

Livestatus API refactored for improved performance

New unified installation script for Shinken, plugins and some modules

Skonf configuration UI for host management (preview)

Discovery module now has simple links to skonf and the templates

MongoDB retention module now supported

MongoDB based configuration for hosts (skonf preview)

Livestatus logstore can now use sqlite or MongoDB

Bulk messaging between arbiter and schedulers for improved performance

Improved documentation wiki and tutorials

Lots of core configuration enhancements

Lots of bug fixes

 

0.8 (Guilty Gecko)

Shinken WebUI

Graphite export module (experimental)

Escalation based on time (for SLAs)

Lots of tutorials

Bug fixes

Shinken deployments

 

Odiso350 hosts, 3700 servicesIt replace the old Nagios installation for server to SANS monitoring. The load balancing will soon be used to scale.

Name Environment size Description
Crédit Mutuel Arkea (a French regional bank) About 20k services for 1.5k hosts For the huge performance and the scalability. We are using it since the 0.8 version.
B2F Concept 200 hosts, 1K services The Nagios compatibility and the easy scaling were the two main reasons why we chose Shinken.
Exodata Two ESX servers, several VMs. We are using Shinken for the load balancing architecture, DMZ management and for the business rules too.
R3S Services N/A We previously used Nagios/Centreon, but it had many limitations such as Security (DMZ), no possibility to separate Sites/Customers and performance (not very easy to add severs when needed). Shinken has lifted all of these limits.
Siprossii About 150 services Use it with GLPI and I have all information in the same place (inventory
+ monitoring)
Ikux About 15K services We use Shinken for the Nagios compatibility.
Nicolas Ledez 151 hosts (20 physical servers, 131 virtual machines), 1600 services and 130 virtualhosts Shinken replaced Nagios 1 year ago. Many tests made with NRPE and standard nagios plugins. I migrate to Shinken to add scalability and DMZ support. I replaced nagios+openvpn with Sinken and 8 poller in DMZ. Thruk is the web front-end.
NESSMATV About 50 monitored hosts
Neopost About 25 monitored hosts, 300 during 2013.
www.projet-plume.org 3 hosts It’s not in production until it’s monitored.
You? Let’s us know that you love Shinken!

 

Special Thanks

To all the folks who send us patches, write documentation and support users ! We love you all.

To the infrastructure software that makes this project possible: