All Categories

Nagios: DevOps Monitoring Tool

In the realm of DevOps, automation is given the utmost importance. Having said that, there are other vital aspects in DevOps which shouldn’t be neglected, like Monitoring. Monitoring has a role to play at every stage= of the delivery pipeline. It’s vital to have a keen eye for awareness about the quality of monitoring involved. Now, that we know monitoring is important, the proceeding question that pops up is what has to be monitored and why?

There are various aspects of a project that shall demand supervision..r Also, there are dozens of tools to choose from and employ as per your requirements. This blog post delivers comprehensive information about the importance of monitoring in DevOps and how it can be effectively applied.

Before we understand what is monitoring in DevOps, it’s important to know about tooling. There are multiple products to enable monitoring. However, choosing one amongst them could be a daunting task. Hence, it is vital to comprehend the value the tool adds to your business and its contribution towards user experience. 

Thus there is a guiding principle that has to be considered while choosing the tool“not everything that can be monitored should be monitored.” In this blog, we consider Nagios as our preferred tool. However, but it should be noted that the most vendors offer free trials and many popular products are simply free. Hence, it is possible to sample a few once the monitoring strategy is decided. This will assist you in selecting the ideal tool, pertaining to requirements of the monitoring strategy employed.

Another aspect to be considered is that monitoring (infrastructure and service) have been around for long, even before DevOps came along.Now, let us understand the impact of DevOps on your strategy around monitoring, and does DevOps create novel requirements for monitoring? The answer is, Yes.

DevOps have an impeccable share in the advancement of software development process to an extent that it has helped in the evolution of monitoring as well. We are not only writing great apps, but, we are now writing great infrastructure as codeautomating integration and testing, and deploying everything on-premise/in-cloud. The speed of development has increased manifold, which required quicker customer feedback and deployment. Hence, the aspects to be monitored has augmented. The places where we implement DevOps-style strategies to automate integration, testing, provisioning, and deployment, we need to use DevOps-style monitoring strategies to monitor our builds, performance, and resources.

Introducing Nagios

Nagios, also now known as Nagios Core, is a free and open source computer-software application that monitors systems, networks, and infrastructure. Nagios offers monitoring and alerting services for servers, switches, applications, and services. It alerts users when things go wrong and alert them a second time when the problem has been resolved.

(Ref: nagios.com)

Nagios is a free software licensed under the terms of the GNU General Public License Version 2 as published by the Free Software Foundation.

Nagios Core offers the following features, to list a few:

  • Monitoring of network services (SMTP, POP3, HTTP, NNTP, PING, etc.)

  • Monitoring of host resources (processor load, disk usage, etc.)

  • Simple plugin design that allows users to easily develop their own service checks

  • Parallelized service checks

  • Ability to define network host hierarchy using “parent” hosts. This helps in the detection of and distinction between hosts that are down and those which are unreachable

  • Contact notifications when the service or host problems occur and when they get resolved (via e-mail, pager, or user-defined methods)

  • Ability to define event handlers to run during service or host events for proactive problem resolution

  • Automatic log file rotation

  • Support for implementing redundant monitoring hosts

  • Optional web interface for viewing current network status, notifications, and problem history, log file, etc.

(Ref: nagios.com)

Installation

To exemplify, the installation of Nagios on Ubuntu, there are four to five steps involved, including some optional steps, like:

  1. Create Account Information

  2. Download Nagios and the Plugins

  3. Compile and Install Nagios Core

  4. Customize Configuration

  5. Configure the Web Interface

  6. Compile and Install the Nagios Plugins

Detailed documentation for the same can be accessed with the link mentioned: https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/quickstart-ubuntu.h

Architecture

Nagios consists of Nagios-core Daemon, Resource Definitions, Object Definition, CGI Components, and Plugins.

  • Nagios Daemon is a service which always runs in the background to enable information exchange within the Nagios system.

  • Resources are the configurations which modify the behavior of the Nagios system.

  • Everything that Nagios monitors, contacts, or interacts with, is an Object, e.g., Services (which are monitored), Servers (which are monitored), and Users (which can be contacted for notification).

  • CGI is the GUI component of the Nagios. This gives an opportunity to visualize your infrastructure, add and modify services, and execute necessary alterations changes to configurations if required.

Conclusion

To conclude, DevOps need not be the ideal solution for any of your problem, however, it is indeed a Framework which can be adapted to your requirements and the use-cases can solve your development and deployment problems.

We at AcadGild, try to ease your way into the world of DevOps by introducing you to its practice. You will also be introduced to the most popular tools and methodologies which can be used in your corporate environment to resolve real-time problems.


Hadoop

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Articles

Close