This section reviews the GroundWork Monitor Configuration application.
GroundWork's Configuration application (Monitor Architect Monarch) is a full-featured, easy-to-use web based system for use with Nagios. Configuration consists of a set of tools that allow a user to easily configure and maintain Nagios or GroundWork Monitor. Configuration provides a user interface versus a command line text editor to configure the monitoring system for each monitored application, service, device, etc.
For current Nagios users, Configuration writes and reads Nagios configuration files, enabling it to easily be integrated into an existing installation. You can simply install the package and import your existing configuration. Experienced Nagios users can edit the Nagios configuration files and use Configuration interchangeably.
Configuration is a set of .cgi scripts written in Perl. When performing a Configuration Import from file operation all of the Nagios configuration files get updated in the embedded monarch database, mirroring the entire configuration in the database. Configuration then operates by manipulating this database. In addition to the Nagios configuration information there are extra data structures that Configuration uses to add functionality, such as; host and service profiles, escalation trees, and configuration access rights.
Once you are finished making modifications, you can execute the Pre Flight Test, equivalent of the Nagios -v command, to provide options for controlling your production configuration. This will verify the configuration and will write the updated Nagios configuration files into a Workspace Directory. At this point your current Nagios configuration has not been affected providing you the opportunity to view and manually manipulate the configuration files.
Configuration also gives you the capability to commit the files into your production configuration (nagios/etc directory) and also initiates an automatic backup in a separate backup directory. Commit then performs a Nagios restart, activating the configuration.
Host templates and service templates store common object properties that are used to define multiple hosts and services. Templates are used to reduce the number of repetitive entries when defining objects. For example, when defining a new host you would first create a host template with common properties. Then, to define a specific host, you apply the properties using a host template. You would define a new service in the same way, starting with a service template and applying the template to the service definition.
A service configuration is a combination of a service template and a service definition. A service is generic until it has been applied to a specific host. A host, when fully implemented, has a host template, a unique host definition, and services.
A service profile is a collection of multiple services. Configuration uses device-specific profiles that contain both pre-defined and user-definable monitoring parameter settings. Using profiles administrators can quickly configure GroundWork Monitor to monitor groups of similar devices and benefit from GroundWork's deep expertise in monitoring design recommended practices.
Example: You have 50 web servers on which you will want to monitor CPU, memory, disk, http, and apache processes. Instead of creating 50 definitions you would create a service definition for each service including CPU, memory, disk, etc.
You can then create a service profile called web monitoring and include all of the services. You would then associate this service profile with each of the 50 web servers. Configuration does this with a host profile.
Once you have a service profile defined you can combine it with a host template and create a host profile. These profiles are not associated with 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.
So, once the above steps are complete, if 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, which will then be applied to all 50 web servers.
When you start the Configuration application you will see the menu items listed in the table below. Each menu item is briefly described with specific category options listed in the next column. The menu options are listed in a most likely use of left to right, although it depends on your design and management needs at the time as to what item you will start with.
Table: Configuration Menu Options
|Hosts|| The Hosts option is used to define, manage, and delete hosts, a physical server, workstation, device, etc. that resides on your network. Host definitions are used in host groups, and profiles. Add generic services to hosts to create host services; delete host services. Arrange hosts into hostgroups. Manage other host-related objects.
|Services|| Services is used to define and manage services which run on hosts or some other type of metric associated with a host. Service definitions are used in host and service templates, and profiles.
|Profiles|| The Profiles option is used to define, modify, and import host and service profiles. Profiles are used to aid in the design and management of hosts and services.
|Commands|| The Commands option is used to define commands including service and host checks, service and host notifications, service and host event handlers. Command definitions are used in host and service templates, and profiles.
|Time Periods|| The Time Periods option is used to define a list of times during various days that are considered to be valid times for notifications and service checks. Time Period definitions are used in host and service templates, profiles, and contacts.
|Contacts|| The Contacts option is used to define who is to be contacted in the event of a problem on your network. Contact group definitions group one or more contacts together for the purpose of sending out alert/recovery notifications to all contacts in a contact group. Contact definitions are used in host and service templates, services, profiles, and escalations.
|Escalations|| The Escalations option is used to define host and service escalation trees. Escalations are used to escalate contact notifications for a particular service, host, or host group. An escalation tree is a grouping of multiple escalations which is then assigned to a host, host profile, host group, or a service to escalate notifications.
|Groups|| The Groups option is used to split hosts into different Nagios configuration files. In their most complex implementation they extend the configuration to Multiple Instances of Nagios. Groups can also determine group macro values applied to service checks.
|Control|| The Control option includes options used in Configuration administration, setup, and for controlling implementation.
The following figure shows a user interface flow for the GroundWork Monitor Configuration application elements and how each ties together. Each element is described in detail in the Configuration section of Bookshelf.
Figure: Configuration (Monarch) Elements