N_O_conf: nagios-based monitoring of Openstack made easy

noconf

“The autoscaling cloud monitoring system that requires no manual reconfiguration”

“Nagios OS autoconfigurator” (N_O_conf) is a cloud monitoring system that automatically adapts its monitoring behavior to the current user-initiated VM infrastructure. N_O_conf works by installing a cloud environment change listener daemon which is repeatedly polling the OpenStack API for changes in the VM infrastructure. As soon as a VM destruction is detected, it initiates a reconfiguration of the Nagios monitoring server. Nagios OS autoconfigurator can be installed on top of every OpenStack-based cloud environment without interfering with the cloud providers infrastructure, because it can be installed inside virtual machines so cloud consumers can use it as their own monitoring system. N_O_conf monitoring system monitors all VMs that are owned by the user that installed it.

Why N_O_conf?

Integrating monitoring systems into cloud environments can become a difficult task, because classical monitoring systems are not designed to adapt to dynamic changes in monitored entities. Conventional monitoring systems are based on the client-server paradigm: one physical monitoring server monitors several physical computers. In cloud environments this paradigm is not applicable: monitored computers are virtual machines which can be created and destroyed dynamically. A classical monitoring system would misinterpret a customer-induced VM shutdown as an unexpected outage and send out alerts. By automatically detecting the monitored OpenStack environment and adapting itself to dynamic changes in the VM environment N_O_conf prevents its monitoring system of such misinterpretations.

How does it work?

N_O_conf uses a “master” node which hosts the monitoring system, listens to changes in the OpenStack environment (via OpenStack APIs) and updates VMs and monitoring system in case of a change in the VM environment. Usually it just monitors the VMs which are present in the system.

noconf_arch0

If a new VM is created, the cloud environment change listener is alerted. This component is just a daemon which is polling the OpenStack environment via OpenStack API.

noconf_arch1

The cloud environment change listener updates the database of monitored entities and informs the monitoring environment updater that a new VM is present. The monitoring environment updater checks if the new VM has the required monitoring probes installed. If this is not the case it initiates the installation of monitoring probes on the VM. The monitoring probes are installed on the VM via package repositories.

noconf_arch2

The monitoring environment installer informs the Nagios updater which is a component that updates and reconfigures the Nagios server.

noconf_arch3

The Nagios server is reconfigured and reloaded and monitors the new VM.

noconf_arch4

 

Setup and Installation

The only prerequisites for installation of the monitoring system are:

  • You must have valid OpenStack authentication credentials and provide them in the Nagios OS autoconfigurator tool setup file.
  • You have to provide a private/public keypair for authentication with the VMs that you own. Nagios OS autoconfigurator injects the public key into your VMs.
  • You must provide the name and (public) IP of the VM where the Nagios server should be installed. This VM must have Internet access.
  • You must own a PC or labtop and have Python and some Python libraries installed on top of it.

Once you have set up Nagios OS autoconfigurator you must only run the installation script (which can be done from your local computer, PC or labtop) and the monitoring system will be installed automatically.

Github page

N_O_conf is available on the following Github-Page:

https://github.com/icclab/n_o_conf


Leave a Reply

Your email address will not be published. Required fields are marked *