GROUNDWORK MONITOR OVERVIEW (Monarch 0.94b Beta)ContentsA. Program Description![]() ![]() ![]() ![]() ![]() B. Monarch Overview![]() ![]() ![]() ![]() C. Monarch How To's
|
||
A. PROGRAM DESCRIPTIONThe GroundWork Monitor Architect (Monarch) is a program for use in the deployment of the Nagios network monitoring component of GroundWork monitoring. The Monarch web interface consists of a set of tools that allow a user to easily configure and maintain the GroundWork Monitoring System. A user can apply templates to the input to generate a set of Nagios configuration files and add or delete configuration options direct from this web interface.GroundWork Monitor Architect is a component of GroundWork Monitor, GroundWork's open source IT infrastructure monitoring solution. GroundWork Monitor delivers enterprise-class availability and performance for a fraction of the cost of commercial alternatives. For more information about GroundWork Monitor, please visit http://www.itgroundwork.com/. Prerequisites![]() ![]() - Nagios 1.2 (Nagios 2.0 supported in future version) - MySQL 4.1 - Perl Modules: XML-LibXML-Common-0.13 XML-NamespaceSupport-1.08 XML-SAX-0.12 XML-LibXML-1.58 CGI.pm-3.07 DBI-1.48 DBD-mysql-2.9005 File::Copy Minimum Requirements![]() - nagios.cfg - cgi.cfg - resource.cfg Product Objectives![]() ![]() ![]() ![]() Product SupportMonarch was written by Scott Parris of GroundWork Open Source Solutions.For product support, please email us at: monarch@itgroundwork.com Notes![]() ![]() |
||
B. MONARCH OVERVIEWSetup Procedures
|
||
Architectural View of Monarch![]() Design which lets you create the configuration files. If you are starting from scratch and in the process of building a new configuration for the GroundWork Monitor you will spend time here creating elements that Monarch uses. Manage allows you to modify existing configurations. Control allows you to access administration functions such as managing User IDs. You can control the implementation including the loading of Monarch, running of a Pre Flight Test (a verification of the Nagios configuration) and commit files into your production configuration using the Monarch Commit option. When you perform a load operation all of the Nagios config files (nagios/etc) get loaded into the MySQL Monarch Database, mirroring your entire configuration in the database. Monarch then operates by manipulating this database. In addition to the Nagios configuration information there are extra pieces of information that Monarch uses to make modifications, such as; Host and Service Profiles, Escalation Trees, and Monarch Access Rights. Once finished with modifications you can execute the option of Pre-flight Check which is the equivalent of the nagios -v command that runs the verification. As part of the verification, Monarch will write the updated nagios configuration files into a Workspace Directory. At this point in time your current Nagios configuration has not been affected. You can then use Monarch to create your configuration files and everything will be stored in this Workspace Directory. You can look at the config files and manually manipulate them if you decide to. Monarch gives you the capability to commit the files into your production configuration if you choose to. Commit will: 1) Take a backup of your old configuration; 2) Put it into a separate backup directory; 3) Copy the updated configuration files back into your production nagios/etc directory; and 4) Perform a nagios restart, so actually implementing. In summary, Monarch provides you options for controlling your production configuration. If you just want to see the new changes, you can keep the changed files in your Workspace Directory. Alternatively, the Monarch Commit option provides total control and restart your system. |
||
Structure of Monarch ConceptsHosts and ServicesAs with Nagios, you can define templates in Monarch. When defining, for example a Host, you would enter the common definitions in a Host Template. To define a specific Host you apply the definition using a Template. This is a method that Nagios uses to reduce the number of redundant definitions. You would define Service Templates the same way; you have specific Service Definitions associated with the Service Template. A Host is a combination of multiple Services consisting of Templates and Definitions. This is the basis of Nagios structures. |
||
![]() |
||
Service NamesMonarch introduces a concept called a Service Name, which is a combination of a Service Template and a Service Definition. The Service Name is generic which means we have not yet applied this to a specific Host. |
||
![]() |
||
Service ProfilesOnce you have a Service Name you can define a Service Profile. A Service Profile is a collection of multiple Service Names. Here is an example:You have a web server which you will want to monitor CPU, memory, disk, http check, and apache processes. You will have 50 of these web servers. Instead of creating 50 definitions you would create a Service Name for each of the Services (CPU, memory, disk). You can then create a Service Profile called web monitoring and include all of the Service Names in the Service Profile. |
||
![]() |
||
Host ProfilesOnce you have the Service Profile you can combine this with a Host Template and create a Host Profile. These Profiles are not yet defined for a specific Host. Once you have the Host Profile you can apply this combined definition to each of your 50 specific web servers. This concept will allow you to generically define the different roles of the different devices you are monitoring and easily apply them. |
||
![]() |
||
Application of Host ProfilesOnce the above steps are complete, say you want to change one of the parameters and apply it to all 50 of your web servers. You can make a change to either the Host Profile, the Service Profile, or in the Service Name, depending on the definition. You can make one modification and which will then be applied to all 50 web servers.Monarch is using an approach that builds on the template concept to make it easier for you to maintain a large infrastructure by minimizing the text files. All changes are applied through the Monarch web interface. |
||
Monarch's User InterfaceUpon entering Monarch you will see the Design, Manage, and Control options. Each of the option's elements are listed below (the Overview tab is where you are now). |
DESIGN | MANAGE | CONTROL |
The Design tab is used to define various design elements of Monarch
including: |
The Manage tab is used to modify the various design elements of Monarch
including: |
The Control tab is the area for Monarch administration setup. Here an
authorized user can define/control: |
Time Periods Commands Templates Escalations Host Groups Profiles Hosts Parent/Child |
Time Periods Commands Templates Contacts Contact Groups Host Dependencies Escalations Host Groups Hosts Parent/Child Export .cfg Files |
Users User Groups Setup Options Resource Values File Associations Load Nagios records Pre Flight/Commit Run External Scripts |
C. MONARCH HOW TO'sMonarch How To #1
This How To walks through the steps to import an existing Nagios
configuration. It will show you how to drop all Nagios records from Monarch and load the
etc/natios/nagios.cfg file. |
|
Step 1 - Verifying Nagios Directory Definitions | |
|
![]() |
Step 2 - Drop All Nagios Records and Load nagios.cfg | |
|
![]() |
Monarch How To #2
This How To will take you through the steps to create a new Host. You will be
required to configure a Host Template, if one doesn't exist, before creating a Host. You will then continue
through several steps including defining Host Vitals,
Host Attributes 1 and 2, and Selecting Host Services. |
|
Verify Prerequisites![]() ![]() ![]() ![]() ![]() ![]() |
|
Step 1 - Configure a Host Template | |
|
![]() |
Step 2 - Create a New Host - Host Vitals | |
|
![]() |
Step 3 - Create a New Host - Host Attributes 1 | |
|
![]() |
Step 4 - Create a New Host - Host Attributes 2 | |
|
![]() |
Step 5 - Create a New Host - Select Host Services Select Host Services allows you to add specific Services to this Host. |
|
|
![]() |
Monarch How To #3
This How To will take you though several steps to create a new Service including;
Adding a New Command Line, Creating a Service Template,
and Creating a Service Name. |
|
Step 1 - Adding a New Command Line |
|
![]() |
Step 2 - Creating a Service Template You will want to create a Service Template if you are going to use common attributes for multiple Services. Verify Prerequisites ![]() ![]() ![]() ![]() ![]() |
|
|
![]() |
Step - 3 Creating a Service Name Verify Prerequisites ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
![]() |
Monarch How To #4
This How To will take you though several steps to add Services to a Host including;
Verifying prerequisites, Applying Services to and Existing
Host, Changing a Service by Applying a Different Service Profile, and
Changing Services by Modifying the Service Definition for this Host. |
|
Verify Prerequisites![]() |
|
Step 1 - Applying Services Applying Services to an Existing Host Note: You can apply or modify Services for a Host while creating a new Host in the Host Wizard. |
|
|
![]() |
Changing a Service by Applying a Different Service Profile | |
|
![]() |
Changing Services by Modifying the Service Definition for this Host | |
|
![]() |
Monarch How To #5
|
|
Verify Prerequisites![]() ![]() |
|
Step 1 - Adding a Service Profile | |
|
![]() |
Monarch How To #6
|
|
Verify Prerequisites![]() ![]() ![]() ![]() |
|
Step 1 - Naming the Profile | |
|
|
Step 2 - Defining the Profile |
|
|
![]() |
Monarch How To #7
|
|
Step 1 - Setting Up Host Dependencies |
|
|
![]() |
Step 2 - Setting Up Service Dependencies | |
|
![]() |
Monarch How To #8
This How To will review the steps to take to setup Service and Host notifications.
Since you cannot create a Service Name without specifying a Template the only place you need to go to modifiy a
Notification is the Template. A change to the Notification Criteria in a Template will be carried to all Services
which use the specific Template. One might also consider using a Parent Template so that these type of changes are
propagated to all Templates using the Parent. |
|
Step 1 - Setting Up Service Notifications |
|
Verify Prerequisites![]() ![]() |
|
Modify the Notification parameters in the Service Template | |
|
![]() |
Step 2 - Setting Up Host Notifications | |
Verify Prerequisites![]() ![]() |
|
Modify the Notification parameters in the Host Template | |
|
![]() |
Define the Contacts in the Host Group for this Host |
|
|
![]() |
Monarch How To #9
|
|
Setting Up Service Escalations | |
Step 1 - Defining the Service Escalation Template |
|
|
![]() |
Step 2 - Defining the Service Escalation Tree |
|
|
![]() |
Step 3 - Assigning the Service Escalation Tree (to any of the following) | |
|
![]() |
Setting Up Host Escalations | |
Step 1 - Defining the Host Escalation Template |
|
|
|
Step 2 - Defining the Host Escalation Tree | |
|
|
Step 3 - Assigning the Host Escalation Tree | |
|
|
Setting Up Host Group Escalations | |
Step 1 - Defining the Host Group Escalation Template |
|
Step 2 - Defining the Host Group Escalation Tree | |
|
|
Monarch How To #10
|
|
Step 1 - Running Commit and the Pre Flight Test | |
|
![]() |