Skip to main content

Nagios Certified Professional Prep Course


Intro Video

Photo of Ermin Kreponic

Ermin Kreponic

Training Architect







Hands-on Labs




Course Details

Nagios is an open-source monitoring tool originally created to run on Linux, but you can also run it on other Unix systems. It was released in 1999 and has over 1 million users worldwide today. Nagios has a great deal of features, most of which relate to monitoring. It can track systems, network services, applications, host resources, and infrastructure. It enables you to define parent-child relationships between hosts, create parallelized service checks, define many kinds of event handlers to aid in solving problems, and much more. Nagios is an important tool because you can use it to detect numerous kinds of server or network problems. It assists with finding the cause of problems so you can fix them as soon as possible. In urgent circumstances, Nagios can even automatically fix issues. In short, you'll find Nagios substantially simplifies system monitoring.

The aim of this course is to prepare individuals for the Nagios Certified Professional - Core exam. We do this using different learning methods. First, all necessary material is explained through the videos. You also have hands-on labs in each section to provide you with practical knowledge. Finally, to help you practice and prepare, you have various supplementary materials like flash cards, final exam practice questions, and additional exercises.

There are six main sections we go over throughout the course. The beginning of the course starts teaching you what Nagios is, what it's used for, the prerequisites for using Nagios, and an overview of the most important Nagios terminology. This is important so you can fully understand key terms like a state, contactgroup, or acknowledgment. We spend time on learning how to download and install Nagios properly and configuring its many necessary plugins. In User and Server Management you learn about user administration, navigating the Nagios interface, creating event handlers, host/service groups, reachability, and managing both time and downtime in Nagios. In Monitoring, we talk about plugins, SNMP, and monitoring systems. Finally, we cover NSCA and V-shell to broaden your Nagios knowledge even further.

By the end of this course, you'll understand all the key concepts of Nagios, be able to create custom configuration files, and set Nagios up to your liking.

Interactive Diagram:


Getting Started

Course Introduction


Lesson Description:

In this introduction video, cover the details about the Nagios course. The instructor introduces the sections you will learn about such as the Course Introduction, Nagios Overview, User and Server Management, Monitoring, More Nagios Core features, and Course Conclusion. Watch this video to learn what knowledge you can expect to gain from this course.

About the Training Architect


Lesson Description:

This video introduces the course author.

Course Prerequisites


Lesson Description:

This lecture explains the prerequisites for this course. It's extremely important to satisfy these before taking the course in order to avoid confusion and complications. Some of these prerequisites are having intermediate Linux skills, a good understanding of SSH, and advanced knowledge of shell scripting. Full list:Advanced knowledge of Linux command line. Reading of official Nagios documentation!!!! LINK Advance knowledge of Bash. General knowledge about Linux file system. General knowledge about Networking. General knowledge about Programming.

How to Get Help


Lesson Description:

Here you learn how to get help from Linux Academy. This is provided in the Community section. The Interact with Students, Slack, and Instructor/Site Support pages enable interaction with your instructor and other users who can help you with any problems or questions you may have.

Introduction to Nagios

What is Nagios?


Lesson Description:

This video gives the definition of Nagios, explains what it really is, and covers what it can be used for. We list and describe the several items needed in order to run Nagios. We also talk about the Nagios Core licence and explain why is it important. Note: In the Cloud Playground, you'll find The Nagios CentOS7 Lab Server now listed as "(Legacy) Nagios CentOS 7 Lab Server."

The Difference Between Nagios Core and Nagios XI


Lesson Description:

In this video, we cover the differences between Nagios Core and Nagios XI. We explain the main difference between these versions of software and find out which is preferable in what situations.

Other Nagios Products


Lesson Description:

In this video, we discuss other Nagios products such as Nagios XI, Log server, Network Analyzer and Core. We also explain the key features of these and which product suits your needs best.

Nagios Features


Lesson Description:

Here you learn about several Nagios Features and how they affect the software. We give an explanation about the different ways the Nagios software can be used and in which ways. The video defines key terms such as monitoring network services, monitoring host resources, notifications, plugins, web-based interface, dashboards, reporting, and data visualization.

Disadvantages of Using Nagios


Lesson Description:

In this video, we cover some of the downsides or limitations of Nagios. Also, we provide some examples of situations considered problematic by users.

Nagios Architecture


Lesson Description:

The aim of this lecture is to get you acquainted with Nagios architecture. We explain several elements of the software. We also cover the composing parts of Nagios architecture which are the Nagios interface, the Nagios server, and the hosts. We also explain terms such as system resources and processes in this video.

Configuration and Installation of Nagios

Important Terminology


Lesson Description:

This video introduces you to some of the most important and basic terminology you need to understand in order to use and configure Nagios. We explain and talk about each term in more detail. Some terms we cover are plugins, hosts, services, contacts, contact groups, reachability, volatile service, and flapping.

Active and Passive Checking


Lesson Description:

There are two types of checks in Nagios: active checks and passive checks. Active checks are initiated from the Nagios server side while passive checks are initiated on the side of the host. In this video we discuss the differences between these checks in more detail and the situations where they are used.

Downloading and Installing Nagios Part 1


Lesson Description:

In this video we talk about the process of downloading, unpacking, and installing Nagios. This is not installing it from the repositories. Instead, we download and compile the source code on CentOS 7. We set the SELinux mode to permissive, install some tools and libraries (gcc, glibc, wget, etc.), and install a compiler to compile Nagios core.

Downloading and Installing Nagios Part 2


Lesson Description:

Continuing where we left off from the last video, here we learn how to create a Nagios user and add a user to the Apache group. We install binary files, cgi, html files, the command mode, configuration files, and Apache config files. Lastly, we show how to configure the firewall and create a nagiosadmin user account for logging into Nagios.

Downloading and Installing Nagios Part 3


Lesson Description:

Moving on with the installation process, here we start Apache and Nagios for the first time to make sure everything is working the way it is supposed to. We access Nagios through its web interface and navigate a bit through the GUI to see how it looks.

Downloading and Installing Nagios Part 4


Lesson Description:

In this last installation video we install several Nagios plugins. We have to make sure all the prerequisites are installed before installing the plugins so they work properly. We test Nagios once more by performing our first rescheduling of a next check.

Nagios Check Triangle


Lesson Description:

In this video we go over the elements of the Nagios check triangle. If we want a plugin to work properly and perform its task, we must configure certain files. We show how we can add additional files with additional definitions for services, hosts, and commands. Another important aspect of the video is learning how to perform a preflight check after configuring files.

User Administration

Setting Up Permissions for the Web Interface Part 1


Lesson Description:

In general, every system needs to offer some kind of user access configuration options because it is important to control who accesses what in the system. In Nagios, this is done by editing the cgi.cfg file. In this video, we take a look at how to perform this conifugration and get acquainted with the terms authentication user and authenticated contact. We introduce several authorization variables such as authorized_for_all_services and authorized_for_all_hosts.

Setting Up Permissions for the Web Interface Part 2


Lesson Description:

In this video we see the result of what we configured in the previous video in the Nagios web interface. We also create another user and compare the permissions between the two of them.

Different Authentication Configurations Part 1


Lesson Description:

Authentication is the process by which users are authenticated and granted access to the Nagios web interface. This video talks about the authentication process and the htpasswd.users database used to authenticate users.

Different Authentication Configurations Part 2


Lesson Description:

The option of turning all authentications on and off exists in Nagios. This lecture demonstrates how to turn off all notifications and takes a look at what we can do or view with this kind of authentication.

Different Authentication Configurations Part 3


Lesson Description:

Here we create a view-only account. This account can only view the host and services we allow it to. It will have read-only permissions. The video goes through the edits we need to be make in the cfg.cfg file to demonstrate the differences between a view-only and admin account.

Different Authentication Configurations Part 4


Lesson Description:

This video shows how to create a system administrator account. That mainly consists of enabling several options. We go through the edits necessary in the cfg.cfg file and show how a system administrator account appears in the Nagios graphical interface.

Different Authentication Configurations Part 5


Lesson Description:

In this video we create a Nagios administrator account with limited access. We make the administrator (user) a contact, so it only sees the info about the hosts and services associated with that contact. So we can say we are creating an administrator for a certain set of hosts and services. We will define a host, service, and host group.

Different Authentication Configurations Part 6


Lesson Description:

Continuing from where we left off in the last video, now we have to define a contact, a contact group, and make the contact a part of the contact group. When everything is set, we perform a preflight check.

Different Authentication Configurations Part 7


Lesson Description:

In this lecture we fix the errors our preflight check signaled from the last video. After that, we manually create a user and restart Nagios. When all is set up, we see how the Nagios graphical interface represents all these configurations.

Nagios Notifications Part 1


Lesson Description:

The aim of this video is to introduce you to notifications in Nagios. Their job is to notify you when a certain problem occurs. We talk about what notifications are, when they are sent, and when Nagios decides to notify the administrator. Some other questions we answer are who gets notified, when and under what circumstances. The video also discusses the drawbacks of using notifications and how to overcome these drawbacks. Another thing we introduce you to are notification filters, as well as the steps Nagios takes before deciding to send a notification.

Nagios Notifications Part 2


Lesson Description:

This lecture talks about the various notification types that exist, such as problem, recovery, acknowledgement, flappingstart, downtimecanceled, and others. We also talk about the methods of sending notifications in Nagios. Some of these methods are IRC, 3G, 4G, SMS, and email. The last topic of this video that is multi-level notifications.

Nagios Notifications Part 3


Lesson Description:

Here we go more in depth when talking about multi-level notifications. We learn what they are and take a look at the steps necessary to configure multi-level notifications through a thorough example.

Nagios Notifications Part 4


Lesson Description:

Since we encountered some problems in the last video, this video is dedicated to showing you how to overcome and fix all these issues. It goes over what we need to change and add so the notifications will function correctly.

Nagios Notifications Part 5


Lesson Description:

Now that everything is correctly configured, we attempt to send an email. In order to send an email, you need to set a few things up, starting with installing and configuring sendemail. After a few other modifications, we need to configure gmail as well. When everything is ready, we test whether we can send an email using the command line.

Nagios Notifications Part 6


Lesson Description:

In this video, we attempt to define our own command that will be configured to send emails. We analyze the content of the command_line variable in the command definition in more detail and see what parameters are included in it. We also need to modify the linux-web-server.cfg file to make everything work the way we want and produce the wanted information.

Nagios Notifications Part 7


Lesson Description:

The topic of this video is monitoring the output of the Nagios log. This informs you of everything going on. We produce an output log to see what kind of information it displays and analyzes it.

Escalation Part 1


Lesson Description:

In this video, we teach about escalations and escalation levels. We go through the seven steps that explain escalations in a practical way. We teach how to define contacts and use the console (terminal) in real time to set up service escalations with their notifications and object definitions.

Escalation Part 2


Lesson Description:

Here we continue setting up service escalations from the last video. In this video you learn how to create contact groups and how to set up members and levels in those groups. Afterwards, you run a preflight check, examine log files, and look for notifications. We go through setting up alerts and notifications and take a look at what the first alert looks like. We show what our first notification looks like. Another thing we cover is what log files report in these situations. Finally, we see both the log files and emails for these notifications after the escalations happen.

Host and Service Dependencies Part 1


Lesson Description:

In this video, we cover host and service dependencies. We teach the proper way to check and test a dependency. We also explain the term NRPE (Nagios Remote Plugin Executor) and its purpose. We set up a scenario to learn how to differentiate between an NRPE notification and an actual problem. We show how to find object definitions on a browser and where to find service dependencies on the Internet. After that, we install all prerequisites necessary for NRPE and then install both NRPE and Nagios plugins. We show how to start NRPE and check its status. We go over the issues associated with the firewall, how to install it, and the prerequisites needed for it.

Host and Service Dependencies Part 2


Lesson Description:

This video brings attention to a certain mistake that anyone can make. One issue we cover is the installation of nagios-plugins-all which installs all available plugins. Another issue concerns file paths.

Host and Service Dependencies Part 3


Lesson Description:

Now we show how we can set up the Nagios remote server to interact with the Nagios Remote Plugin Executor. In order to do this, we need to install nagios-plugins-nrpe. We must edit the nrpe.cfg file so the allowed host contains the IP address of our server. In this .cfg we find plugins listed as hardcoded command arguments, which is a secure way of using NRPE. We demonstrate how to utilize these checks and how to add a new one to the list.

Host and Service Dependencies Part 4


Lesson Description:

Here we write the service that is going to check the NRPE. For this, we need to go to our object definitions in linux-web-server.cfg and define some services. We also need to define a check_nrpe command in the commands.cfg file.

Host and Service Dependencies Part 5


Lesson Description:

Here we show how to configure Nagios in a way where instead of receiving many notifications for several things that have failed, the user receives one notification indicating the dependency between them has failed. In order to do this, we define a service and a service dependency.

Host and Service Dependencies Part 6


Lesson Description:

In this final video about service dependencies, we take a look at the results of setting up a service dependency. We also discuss the differences between using service dependencies and not using them.

Management of the Nagios Server

Event Handlers Part 1


Lesson Description:

In this video, we start the discussion on event handlers which are a crucial part of Nagios. We discuss what event handlers are, why they are useful, and present what to do in the next few videos concerning event handlers. Those videos cover writing a script to handle some event. The idea is to configure Nagios to conduct its monitoring in such a way where if a service enters a critical state, it applies a quick fix by restarting whatever we are monitoring. In order to do this, we have to configure monitoring both a client and a service.

Event Handlers Part 2


Lesson Description:

Now we complete some prerequisites to make sure our event handler will work. First we create an object file where we will define several things. We start with defining our host, a host group, and a service group. We can write all these definitions with the help of templates.

Event Handlers Part 3


Lesson Description:

Continuing where we left off in the last video, here we define a contact and a contact group in our object file. We also edit the nagios.cfg configuration file to let Nagios know about our created file. After that we install ftp and vsftpd on our server so we can construct the checks we want. We define a check_ftp command in the commands.cfg file, and then go back and add the command in the placeholders we left in our object file. We also need to insert the event handler into the service being checked and define a restart_ftp command.

Event Handlers Part 4


Lesson Description:

Now we start creating the event handler we defined in the previous video. We want our event handler written as such that it accepts two arguments: the service state and the host IP address. We create a user and then move on to writing our event handler script. When everything is written and set up, we check if our script works the way it was configured.

Managing Time Options in Nagios


Lesson Description:

Time management is a very important concept for both Nagios and servers in general, where time measurements need to be as accurate as possible. In order to ensure time accuracy, we recommend using the Network Time Protocol. This video shows how to install NTP and set it to run every day.

Nagios Core Backup Part 1


Lesson Description:

Backups are important for any kind of work where loss of data is problematic. In this video, we introduce Nagios backups and give an overview of several steps to ensure the system backs up data. Nagios is very configurable and you can back up data in the manner you wish.

Nagios Core Backup Part 2


Lesson Description:

In this video, we start the process of creating our own backup. We write our own code in a script and set up attributes such as a timestamp, serverIP, remote backup file path, HASH, fromName, toName, remoteHash, and others. We also write a condition statement to indicate if a backup is copied successfully or not.

Nagios Core Backup Part 3


Lesson Description:

The topic of this lecture is demonstrating how to restore a lost file from backup. We go over the steps necessary to recover lost files and check to see if the recovery was successful in the Nagios interface.



Lesson Description:

This lecture gives insight on Nagios reachability. It teaches you how to set up a certain reachability on your Nagios server and covers some of the reasons you would want to allow Nagios to know your network topology. What you need to do is define two hosts with a parent-child relationship and schedule a host downtime to see how Nagios will behave.

Monitoring systems

SSH Concepts Part 1


Lesson Description:

We can use SSH to conduct checks on a remote server. This lesson’s topic is SSH concepts with regard to Nagios. We talk about some of the options SSH offers and the advantages of using SSH. We also make a few comparisons between SSH and NRPE and give an overview of the SSH setup process.

SSH Concepts Part 2


Lesson Description:

In this video we set up a check using SSH. The first step is generating a key pair for the Nagios user. Then we need to test the connection. After that, we must create a service and a check command in the linux-web-server.cfg configuration file. We introduce you to the check_by_ssh and check_disk plugins. After everything setting everything up, the last step is to make sure it all works properly.

SSH Concepts Part 3


Lesson Description:

One important part of the whole SSH configuration process in Nagios is configuring the remote server to accept connections from the right user. This lesson covers this process to ensure a proper setup, upon which the next scheduled check should produce results without any warnings. This video also covers some common errors people make when performing this kind of setup.

NSClient++ Concepts Part 1


Lesson Description:

NSClient++ is an agent for Windows machines that listens for incoming connections from Nagios. This provides a way for internal services to take in the commands from Nagios and execute them on the other end on the Windows machine. In this video, we talk about NSClient++, what it is, and what it is used for. We also mention some other agent options.

NSClient++ Concepts Part 2


Lesson Description:

In this lecture we show how to monitor a Windows host. First you see where and how you can install NSClient++ on your Windows client. Upon installation, we check out and edit the contents of the nsclient.ini file and see how to start and stop NSClient++ to make sure it's functional. We also open ports via firewall, install NRPE on the Nagios server, and check if the Windows host is accessible.

NSClient++ Concepts Part 3


Lesson Description:

Here we share several definitions like the host, the rest of the parameters for the host, a host group, a service, and a check command. In order to define our host, we help ourselves to the available host template, which is one of the many kinds of Nagios templates. Upon creating all the definitions, we check if everything is working properly in the Nagios GUI. Finally we close out with a few final words about NSClient.

Monitoring Nagios Logs Part 1


Lesson Description:

In this video we talk about Nagios log monitoring. We discuss log files and how they can be monitored for the occurence of a particular string. We share info about temporary logs, which essentially are logs monitoring other logs. After that, we introduce the check_log plugin which we use to monitor for warnings and string failure.

Monitoring Nagios Logs Part 2


Lesson Description:

During this lesson, we go over all the elements needed to define the two commands check_log_error and check_log_warning. Both of these use the check_log plugin. We also adjust permissions such as configuring certain Nagios users to read the files set to be monitored. Another thing we show is editing the linux-web-server.cfg configuration file to define the services for check_log_error and check_log warning. We then check the status of these services in the Nagios GUI to make sure everything works properly.

Passive Checks

Concepts of Passive Checking


Lesson Description:

During this lesson, we talk about passive checks in more detail than in previous videos. The goal is to learn how passive checks actually work and get acquainted with NSCA (Nagios Service Check Acceptor). Passive checks are initiated from the client side, but it's important to note NSCA has to be set up both on the client side and the server side because it runs on both. We will go over these configurations at a later time in more depth.

NSCA Server Side Setup Part 1


Lesson Description:

In this video, we start the process of installing NSCA on the server side. We need to configure it in a way where the server is capable of receiving and processing the send_nsca from anywhere. The server needs to process the message and display the results to see if a certain check has passed or not. In this video, we download NSCA, install it, unpack it, make sure we have a compiler installed, compile it, move some files around, and perform a few more necessary steps.

NSCA Server Side Setup Part 2


Lesson Description:

In this lecture, we first need to open up firewall port 5667 on the server side. Afterwards, we create a file with some data and have our server send a message to itself. The server needs to analyze how this data is received. While doing this, we open up two terminals to perform an action on one and view the log output on the other.

NSCA Server Side Setup Part 3


Lesson Description:

Here we define a command, a service, and a template for the service to use. This is all necessary to create and configure a passive check. The server needs a way of processing these checks, and in order to do so, it needs to have a defined service. Upon setting up everything, we look at how these setups reflect in the Nagios interface and see if we've correctly configured the passive checks.

NSCA Client Side Setup Part 1


Lesson Description:

On the client side, we want to design our passive check and schedule it to occur after a specified amount of time. In this video, we perform a few steps necessary for setting up a disk space check where we see if a certain disk has less than 10% space left. If it does, it enters a warning state. If it has less than 5% remaining, it enters a critical state. We need to set up SSH, modify some files, create some configuration files, and copy them over from one side to the other.

NSCA Client Side Setup Part 2


Lesson Description:

Now we configure the nrpe service we mentioned in the last video. We also define the check_disk command that uses the check_disk plugin. Then we actually create our passive check and configure it the way we want it to work by writing a custom script with all the necessary code.

NSCA Client Side Setup Part 3


Lesson Description:

In this video, we continue writing our script from the previous video. We write several if-else statements to set up our status codes. Then we execute a command to send the results of a check via send_nsca. After everything is set up, we run the passive check and format the way our status information is displayed. The final thing we present is how to automate passive checks with crontab, so that they occur automatically every time a certain time interval passes.


Front-End of V-Shell


Lesson Description:

This lecture is focused on one of Nagios’ interfaces called V-Shell. We show what V-Shell is and list a few other existing Nagios frontends. Another topic we cover is the requirements needed before installing V-Shell, such as php5, php-cll, php-pecl-apc, and other requirements.

V-Shell Download, Unpack, and Install


Lesson Description:

In this video we perform all the needed actions so we can setup and use V-Shell. This includes downloading, unpacking, compiling, installing, and configuring V-Shell. Before doing all this, it is necessary to first install the prerequisites for V-Shell. This assumes all Nagios prerequisites and Nagios itself are already installed.

Final Steps

How to Prepare for the Exam


Lesson Description:

This video talks about the Nagios final exam and focuses on giving you some final advice and tips to keep in mind when taking the exam. It provides you with some useful information concerning the price of the certification, the duration of the exam, the number of questions, and also Linux’s final practice exam.

What's Next After Certification?


Lesson Description:

This final video concludes the course you've been taking and is meant to leave you with some final thoughts regarding the course and explain how you can give feedback.

Nagios Certified Professional Practice Exam


Take this course and learn a new skill today.

Transform your learning with our all access plan.

Start 7-Day Free Trial