Just another WordPress.com site

Monthly Archives: June 2017

How to automate Nagios

Currently, I’m working on a project to automate a huge monitoring environment which is running on Nagios. This environment is managed at the moment mostly by hand. This makes ist very hard to maintain. So I tried to move the environment gradually to a fully automated system. In this blog post, I will give you some insights on how.


  • Several Nagios Nodes. Each independent managed.
    • All changes have to be done manually
    • No revision and versions
    • We do not know who made what changes and why
    • Can not rest easy to a known state
  • All Nodes have MKLivestatus and Thruk for visualization
    • Manual editing of connection
    • Different config on each Node
    • Updating and patching was very hard
  • Several plugins and costume scripts. Every Node has a different state of this plugins
    • No defined state of a node
    • Not known state fo scripts and plugins


The main goal fo the project is to get an easy to maintain an environment where we know at every time, what the last working state of the environment is and get new version and patches rolled out on all nodes and systems in a defined and straightforward way. To achieve this goal, the config of all the Nodes were centralised and pushed to a git repository.  The deployment was done via a continuous integration process.