Difference between revisions of "Winter 2011 Handout - Installing and Configuring Icinga to Monitor the Arm Build Farm"

From CDOT Wiki
Jump to: navigation, search
(Acknowledgments)
(Approach)
 
(9 intermediate revisions by the same user not shown)
Line 30: Line 30:
  
 
No preliminary preparations needed to occur on the system that Icinga was going to be installed on, the only thing was to install the required packages in order to install the software. These lists of packages can also be found in the Icinga Documentation. While using my four other Virtual Machines as the clients, I was able to test my Icinga configuration, in order for this to be successful each one of the client machines that are running Linux needed to contain the "Nagios Remote Plugin Executor (NRPE)" software and plugin. This allows the Icinga server to execute commands on these remote server to check the CPU performance, users logged in, total processes running, HTTP service, FTP service, etc...  
 
No preliminary preparations needed to occur on the system that Icinga was going to be installed on, the only thing was to install the required packages in order to install the software. These lists of packages can also be found in the Icinga Documentation. While using my four other Virtual Machines as the clients, I was able to test my Icinga configuration, in order for this to be successful each one of the client machines that are running Linux needed to contain the "Nagios Remote Plugin Executor (NRPE)" software and plugin. This allows the Icinga server to execute commands on these remote server to check the CPU performance, users logged in, total processes running, HTTP service, FTP service, etc...  
 +
My final approach in the Installation of Icinga was to ensure the configuration files were organized and easy to read. I had created four separate files, each one of them serving their own purpose, one would include a template that would be used for each host system that is to be monitored, the second would contain a list of services that will be checked on each remote system, a hostgroup file that contained a list of ALL of the hosts and mapping them to one single name, and lastly a single host file which would contain all of the hosts that Icinga will monitor. Examples and details of these files I created can be found on my blog as well.
 +
 
<!-- Describe the approach to the project -- method/procedure/tools etc -->
 
<!-- Describe the approach to the project -- method/procedure/tools etc -->
  
 
= Challenges =
 
= Challenges =
 +
 +
To be honest, there are no challenges that I can recall throughout my process. However, listed below is a very small list of what I had encountered that had taken me longer to complete;
 +
 +
* Understanding the configuration files of Icinga and how it will communicate with each host it will be monitoring. Getting a feel of the host configuration files was a little difficult at first. Continuing to work with them made it easier to understand them.
 +
* Working with Mike Kirton in order to build an RPM Package for Icinga became one of the biggest challenges, ensuring that everything would be installed to the proper directories along with the proper permissions that were required for Icinga.
 +
* While having SELinux set to Enforced on my test environment I was running into issues with SELinux preventing some commands being executed, while working with someone in the #selinux channel on irc.freenode.com I was able to create a Icinga SELinux policy, it worked perfectly on my environment.
  
 
<!-- Challenges that had to be met to complete the project -->
 
<!-- Challenges that had to be met to complete the project -->
  
 
= Results =
 
= Results =
 +
After extensive testing and planning my deployment of the Icinga Monitoring System on HongKong in CDOT passed with flying colours.
 +
Successfully releasing both my 0.1 and 0.2 milestones I am still in the process of completing my 0.3 milestone which includes documentation and polishing off the configuration of Icinga. By logging into http://hongkong.proximity.on.ca/icinga will allow the administrator to view the hosts being monitored along with issuing commands/checks from the Web Interface.
 +
 +
For a short time I will leave open my current Icinga set up in my environment this will allow others to have a feel of the new Icinga interface and what is able to be done. http://gcasella.dynamic-dns.net/icinga-web '''''Username:''''' guest '''''Password:''''' icinga_guest.
  
 +
More information on any of my results can be found on my blog at http://gcasella.blogspot.com.
 
<!-- Results / 0.3 status of the project -->
 
<!-- Results / 0.3 status of the project -->
  
 
= Links =
 
= Links =
  
 +
*[http://icinga.org Icinga Web Site]
 +
*[http://gcasella.blogspot.com Gian-Luca Casella's Blog]
 +
*[http://docs.icinga.org/latest/en/ Icinga Documentation]
 
<!-- Links to project page and useful resources -->
 
<!-- Links to project page and useful resources -->
  
 
= Acknowledgments =
 
= Acknowledgments =
  
A contributor of my project is [http://google.ca Mike Kirton] who I had worked with in creating an RPM for Icinga.  
+
A contributor of my project is [http://zenit.senecac.on.ca/wiki/index.php/User:Mkirton Mike Kirton] who I had worked with in creating an RPM for Icinga.  
 
<!-- Community members etc. who assisted with the project -->
 
<!-- Community members etc. who assisted with the project -->
  
 
= Pictures / Graphics =
 
= Pictures / Graphics =
 +
*[http://www.icinga.org/wp-content/uploads/2010/06/icinga_nagios_architecture2.jpg Icinga VS Nagios]
 +
*[http://matrix.senecac.on.ca/~gcasella/SBR/icinga.png Icinga Classic Web UI]
 +
*[http://matrix.senecac.on.ca/~gcasella/SBR/icinga/icinga-new-ui.png Icinga New Web UI]
  
 
<!-- Link to any pictures or graphics that should appear on the handout -->
 
<!-- Link to any pictures or graphics that should appear on the handout -->

Latest revision as of 22:04, 12 April 2011


Status

This page status is: DRAFT.

Title

Installing and Configuring the Icinga monitoring software to Monitor the Arm Build Farm in CDOT.

Participants

Gian-Luca Casella (IRC:gcasella) -- Semester 6 CTYC Student at Seneca College.

Introduction

Icinga is an enterprise grade open source monitoring system which allows administrators to keep watch over networks. Administrators will be able to monitor a series of devices such as Linux and Windows environments and also CISCO products. Using this monitoring system will notify users of errors and recoveries while generating performance data for reports. After learning that CDOT at Seneca College was using Nagios -- which is outdated and contains a series of bugs -- as their monitoring system for the Arm Build Farm I decided to scrap their current configuration and implement Icinga. And because Icinga is backwards compatible with Nagios and their plugins, porting over the configuration files was nothing but a copy and paste.

Approach

My approach to Installing and Configuring Icinga can easily be broken into three parts. Installing, Configuring, Monitoring. Before deploying Icinga into the CDOT Build Farm I had decided to conduct appropriate testing of the software on my own VMWare ESXi Infrastructure in my home. For proper testing I created five virtual machines all running Fedora Core 12 or higher, four of these Virtual Machines will be labeled as clients. Being a System Administrator I know that when a new software needs to be put in place it must go through extensive testing and troubleshooting before it is given the OK to be put in the "production" environment.

Icinga only has one method of Installation available under Fedora, this is by Source Code and not being a part of my project I decided to work with a colleague of mine to build an RPM for the newest version of Icinga -- this allowed for an easy install and uninstall of the software. Icinga has a series of features that need to be taken into account before planning to distribute, and throughout my approach there are three major part of Icinga; Icinga Core, Icinga Web, and Icinga API. My primary Virtual Machine running Fedora Core 12 will act as my Icinga Core(server) which will be the primary location of the Icinga Web and the Icinga API by default, a nice feature of Icinga allow's us to separate all of these parts onto their own systems and still be able to communicate with each other. For more detailed information on my procedure and progress can be found on my blog at http://gcasella.blogspot.com.

No preliminary preparations needed to occur on the system that Icinga was going to be installed on, the only thing was to install the required packages in order to install the software. These lists of packages can also be found in the Icinga Documentation. While using my four other Virtual Machines as the clients, I was able to test my Icinga configuration, in order for this to be successful each one of the client machines that are running Linux needed to contain the "Nagios Remote Plugin Executor (NRPE)" software and plugin. This allows the Icinga server to execute commands on these remote server to check the CPU performance, users logged in, total processes running, HTTP service, FTP service, etc... My final approach in the Installation of Icinga was to ensure the configuration files were organized and easy to read. I had created four separate files, each one of them serving their own purpose, one would include a template that would be used for each host system that is to be monitored, the second would contain a list of services that will be checked on each remote system, a hostgroup file that contained a list of ALL of the hosts and mapping them to one single name, and lastly a single host file which would contain all of the hosts that Icinga will monitor. Examples and details of these files I created can be found on my blog as well.


Challenges

To be honest, there are no challenges that I can recall throughout my process. However, listed below is a very small list of what I had encountered that had taken me longer to complete;

  • Understanding the configuration files of Icinga and how it will communicate with each host it will be monitoring. Getting a feel of the host configuration files was a little difficult at first. Continuing to work with them made it easier to understand them.
  • Working with Mike Kirton in order to build an RPM Package for Icinga became one of the biggest challenges, ensuring that everything would be installed to the proper directories along with the proper permissions that were required for Icinga.
  • While having SELinux set to Enforced on my test environment I was running into issues with SELinux preventing some commands being executed, while working with someone in the #selinux channel on irc.freenode.com I was able to create a Icinga SELinux policy, it worked perfectly on my environment.


Results

After extensive testing and planning my deployment of the Icinga Monitoring System on HongKong in CDOT passed with flying colours. Successfully releasing both my 0.1 and 0.2 milestones I am still in the process of completing my 0.3 milestone which includes documentation and polishing off the configuration of Icinga. By logging into http://hongkong.proximity.on.ca/icinga will allow the administrator to view the hosts being monitored along with issuing commands/checks from the Web Interface.

For a short time I will leave open my current Icinga set up in my environment this will allow others to have a feel of the new Icinga interface and what is able to be done. http://gcasella.dynamic-dns.net/icinga-web Username: guest Password: icinga_guest.

More information on any of my results can be found on my blog at http://gcasella.blogspot.com.

Links

Acknowledgments

A contributor of my project is Mike Kirton who I had worked with in creating an RPM for Icinga.

Pictures / Graphics