About GroundWork Profiles

As of the 8.2.1 release, we have included all plugins from the Monitoring Plugins project in the same place as the Nagios plugins which makes GroundWork Monitor EE and GroundWork Monitor CE easier to configure.

Nagios Monitoring 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 deep expertise in monitoring design recommended practices.

As an 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.

In summary, a service profile is a collection of multiple services and 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.

groundwork profiles

GroundWork Distributed Profiles

GroundWork distributes various profiles and offers an extended library of monitoring profiles for a variety of devices, systems and applications. The Profile importer tool is used to import additional profiles. For each profile, the services that run plugins are defined and grouped, so that they can be assigned and applied to hosts, or to groups of hosts. An Uploaded category is provided as a landing zone for profile files uploaded to the GroundWork server by a local administrator. Distributed profiles are located in the monarch container in the /usr/local/groundwork/monarch/profiles directory, and within their respective principal category classifications as their parent directories. 

Go to the Distributed Profiles page for detailed information on profiles distributed with GroundWork Monitor.

Configuring Service Profiles

Profiles aid in the design and management of hosts and services. Host profiles contain everything you need to configure a device other than a host name, alias, and an IP address. Host profiles can incorporate service profiles, and service profiles are made up of multiple service definitions. This section provides an overview of service profiles.

A service is a monitor, of a particular parameter or status, associated with a host. This can  be an actual service that runs on the host (POP, SMTP, HTTP, etc.) or some other  type of metric associated with the host (response to a ping, number of logged in  users, etc.). A service profile definition (e.g., snmp-network) stores Service definitions such as snmp_if_1, snmp_ifbandwidth_1, snmp_ifoperstatus_1, and udp_snmp. GroundWork Monitor contains several commands and services for checking these and many other parameters on Linux hosts. These services are grouped into service profiles, which you can use as is or modify to fit your needs. One or more hosts and/or host groups can be added to and then managed by a service profile. Additionally, you can add host profiles to which this service profile is assigned. When these combined definitions are applied to a number of hosts, for example to 50 specific web servers and you change one of the parameters - it would be applied to all of the specified hosts. You can make a change to either the host profile, the service profile, or in the service, which will then be applied to all associated hosts.

This section outlines how to configure a new service profile. In GroundWork Monitor, a service profile is defined within five pages; Services, Assign Hosts, Assign Hostgroups, Host Profiles, and Apply. Each of these are referenced in the sections  below.

Services

  1. Select Configuration > Nagios Monitoring > Profiles.
  2. Select Service Profiles and then New, you can also Modify existing profiles.
  3. Enter a Name and Description for the new profile and select Add, the Service Profile screen will be displayed.
  4. In this screen select and add the services from the right side list to be included in this profile. You can select multiple service names by using the CTRL key while selecting, or select a range by selecting the first item and using the SHIFT key to select the last item.
  5. Select Save(continue to the next documentation tab above)

    When making changes you must select Save for each tab. If you do not select Save and go to another tab you will lose your changes. Additionally, for the saved changes to take place you must select the Apply tab to push the changes made to hosts, host groups, etc. Read the Apply screen carefully as caution should be taken before taking this action.

    When service dependencies have been assigned to service names, be careful to include the parent service names as defined in the dependency templates.

    services as part of service profile

Assign Hosts

The Assign Hosts tab enables you to add or remove hosts to be managed by this profile. Removing a host means the host is no longer managed by this profile. The host will retain its properties until the host is assigned and applied to another profile, or modified individually.

  1. Select the Assign Hosts tab in the service profile screen.
  2. In this screen select the hosts from the right side list to be included in this profile, and Save.
  3. Select the Apply tab and check the appropriate options to instantiate changes to the host. 
    assign hosts to be managed by this profile

Assign Hostgroups

The Assign Host Groups tab enables you to add or remove host groups to be managed by this profile. Removing a host group means the host group is no longer managed by this profile. The member hosts will retain their properties until the host group is assigned and applied to another service profile, or the member hosts are modified individually.

  1. Select the Assign Host Groups tab in the service profile screen.
  2. In this screen select the hosts groups from the right side list to be included in this profile and Save.
  3. Select the Apply tab and check the appropriate options to instantiate changes to the member hosts.
    assign host groups to be managed by this profile

Host Profiles

The Host Profiles tab enables you to add or remove host profiles to which this service profile is assigned. Adding or removing a host profile here has no effect the host profile's member hosts until the Apply tab is used on the host profile, or the profile is applied on the individual hosts.

  1. Select the Host Profiles tab in the service profile screen.
  2. In this screen select the hosts profiles from the right side list to be included in this profile and Save.
  3. Select the Apply tab and check the appropriate options to instantiate changes.
    host profiles to which this profile is assigned

Apply

As mentioned previously, for the saved changes to take place you must select the Apply tab to push the changes made to hosts, host groups, etc.

Read the Apply screen carefully as caution should be taken before taking this action.

Applying a service profile at this point will modify the current service configuration across probably multiple hosts. Before taking this action, be sure to double-check:

  • your service profile changes
  • your chosen set of target hosts that reference this service profile
  • how you want to modify the existing services
    apply changes

Configuring Host Profiles

As mentioned above, profiles aid in the design and management of hosts and services. Host profiles contain everything you need to configure a device other than a host name, alias, and an IP address. Host profiles can incorporate service profiles, and service profiles are made up of multiple service definitions. This section provides an overview of host profiles.

A host is a physical entity: a physical server, workstation, device, etc., that resides on your network. Services are the logical entities that hosts provide. By default, host profiles are not associated with a specific host. A host profile contains everything you need to configure a device other than a host name, IP address, and an alias. This concept will allow you to generically define the different roles of the different devices you are monitoring. Host profiles store a required host template and other host detail. One or more parent hosts and/or host groups can be added for hosts using this host profile. Host and service escalation trees can be added for a host assigned this host profile and all services on hosts using this profile. Additionally, you can add service profiles for hosts using the profile. You can then assign hosts and host groups to be managed by this host profile. When these combined definitions are assigned to a number of hosts and/or host groups, for example to 50 specific web servers, and you change one of the parameters, it would be applied to all of the specified hosts. You can make a change to either the host profile, the service profile, or in the service, which will then be applied to all associated hosts.

This section outlines how to configure a new host profile. In GroundWork Monitor, a host profile is defined within nine pages; Host Detail, Parents, Hostgroups, Escalation Trees, Externals, Service Profiles, Assign Hosts, Assign Hostgroups, and Apply. Each of these are referenced in the sections below.

Host Detail

We'll start by naming the new host profile and attaching a host template. Then you can configure just about everything that the Nagios engine can know about the host with this form. The good part is that you can change this data at any time, and the hosts that use this profile will be updated with the new settings. This is similar to using templates in Nagios, but the difference is that Nagios templates do not support adding services. Profiles can be applied within the New Host Wizard option when you are first creating a host, or later using tabs accessible in the host configuration screen, or in the Configuration > Nagios Monitoring > Profiles section.

When making changes you must select Save for each tab. If you do not select Save before you go to another tab, you will lose your changes. Additionally, for the saved changes to take place you must select the Apply tab to push the changes made to hosts, host groups, etc. When you get there, read the Apply screen carefully as caution should be taken before taking this action.

This tab displays the name and description for the new host profile along with the required host template.

  1. Select Configuration > Nagios Monitoring > Profiles.
  2. Expand Host Profiles and select New, you can also Modify existing profiles.
  3. In the New Host Profile screen enter a Name and Description for the new profile, and select a host template most suitable for this host profile (e.g., generic-host). Then select Add, and the Host Profile screen will be displayed.
    host profile name and description
  4. In the Host Detail tab, the selected host template properties will be displayed. You can uncheck the left checkbox on the individual directives to override the template values.
  5. Select Save at the bottom of the screen. Once a host profile has been created, you can manage its details using the tabs provided as described below.
    host profile details

Parents

Parent hosts are typically routers, switches, firewalls, etc. that lie between the monitoring host and a remote host. The Parents tab in the host profile screen lets you add or remove parent hosts for hosts using this profile. Parent child relationships may also be managed directly by going to Hosts > Parent Child.

  1. Select the Parents tab in the host profile screen.
  2. In this screen, select the parent hosts from the right side list to be included in this profile, and click Add.
  3. Select Save.
  4. Select the Apply tab and check the appropriate options to instantiate changes to the hosts.
    host profile parents

Hostgroups

When a host goes down, becomes unreachable, or recovers, Nagios will find which host group(s) the host is a member of, get the contact group for each of those host groups, and notify all contacts associated with those contact groups. The host groups tab is used to add or remove host groups for hosts using this profile. Host groups may also be managed directly by going to Hosts > Host Groups.

  1. Select the Host Groups tab in the host profile screen.
  2. In this screen, select the host groups from the right side list to be included in this profile, and click Add.
  3. Select Save.
  4. Select the Apply tab and check the appropriate options to instantiate changes to the hosts.
    host groups for hosts using this profile

Escalation Trees

The Escalation Trees option is used to define host and service escalation trees. Escalations trees 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. Escalations and escalation trees are themselves defined and configured under Configuration > Nagios Monitoring > Escalations. The escalation trees tab enables you to optionally select host and service escalations appropriate for a host using this profile. Assigning a service escalation tree sets the escalation for all services on hosts using this profile.

  1. Select the Escalation Trees tab in the host profile screen.
  2. Select the host and or service escalation tree from the drop-down boxes and Save.
  3. Select the Apply tab to apply escalations to hosts.
    host profile host and service escalation trees for notifications

Externals

External commands enable you to add your own configuration data that is not related to Nagios but can be useful when integrating other tools. When externals are enabled, this data can be added to host and service profiles, which can then be applied to instantiated host and service definitions.

  1. Select the Externals tab in the host profile screen.
  2. Select the host externals from the right column and click <<Add.
  3. Click Save.
    host profile externals

Service Profiles

The Service Profiles tab enables you to add or remove service profiles for hosts using this profile.

  1. Select the Service Profiles tab in the host profile screen.
  2. In this screen, select the service profiles from the right side list to be included in this profile, and click Add.
  3. Select Save.
  4. Select the Apply tab to push changes to the hosts.
    host profile service profiles

Assign Hosts

The Assign Hosts tab within the host profile screen enables you to add or remove hosts to be individually managed by this profile. Removing a host means the host is no longer managed by this profile unless it is a member of a host group which is managed by this profile (see below). The host will retain its properties until the host is assigned and applied to another profile, or modified individually.

  1. Select the Assign Hosts tab in the host profile screen.
  2. In this screen, select the hosts from the right side list to be included in this profile, and click Add.
  3. Select Save.
  4. Select the Apply tab to instantiate changes to the host.
    hosts to be managed by this profile

Assign Hostgroups

The Assign Host Groups tab enables you to add or remove host groups to be managed by this profile. Having a host group be managed by a host profile allows you to apply changes to the host profile to all the host members of the host group, without having to individually assign the host profile directly to each of the hosts. Removing a host group means the host group is no longer managed by this profile. The member hosts will retain their properties until the host group is assigned and applied to another profile, or the member hosts are modified individually.

  1. Select the Assign Host Groups tab in the host profile screen.
  2. In this screen select the host groups from the right side list to be included in this profile, and select Save.
  3. Select the Apply tab to instantiate changes to the member hosts.
    host groups to be managed by this host profile

Apply

As mentioned above, for the saved changes to take place you must select the Apply tab to push the changes made to hosts, host groups, etc.

Read the Apply screen carefully as caution should be taken before taking this action.

Applying a host profile at this point will modify the current service configuration across probably multiple hosts. Before taking this action, be sure to double-check:

  • your host profile changes
  • your chosen set of target hosts that reference this host profile
  • which host properties you wish to apply from the profile to the hosts
  • how you want to modify the existing services
    Apply changes to host selections

Importing Profiles

Profiles contain both predefined and user-definable monitoring parameter settings and can be imported into the configuration tool for use in designing and managing hosts and services. Profiles can also be exported making profiles portable and enabling the sharing of files. This section reviews the process of importing service profiles and services.

GroundWork Monitor includes a set of installed host and service profiles. Additional supported profiles are distributed with GroundWork Monitor. These XML profile files are stored in the profiles directory of the monarch container upon a GroundWork Monitor installation and need to be imported. This process enables users to import only those files that are needed.

The Profile Importer tool is used to import, update modifications, or import customized profiles into the monarch configuration database. You can also select to remove unwanted profiles. The importer lists groups of categorized sets of available profile files, imports the selected XML files, and automatically searches and imports the corresponding performance configuration companion file (if there is one). Any associated plugins will need to be copied to the GroundWork server.

The VMware profile is no longer distributed and will be retired in future versions of GroundWork Monitor as it does not support SNMP on ESX anymore, GroundWork Cloud Hub can be used instead.

  1. Select Configuration > Nagios Monitoring > Profiles.
  2. Select Profile Importer then Import. You will see a list of groups containing eligible files.
  3. Select a group, then select the box next to each of the files you wish to import.
    • Service profiles are displayed in the format: service-profile-serviceprofilename.xml, e.g., service-profile-nrpe-mssql.xml
    • Services are displayed in the format: service-servicename.xml, e.g., service-mysql_alive.xml
    • The Importer will import the service profile or service
    • The Uploaded folder (/usr/local/groundwork/monarch/profiles/Uploaded) is provided as a landing zone for profile files uploaded to the GroundWork server by the local administrator.
  4. At the bottom of the list, select Overwrite Existing Objects if you wish to overwrite existing objects and replace all matching time periods, commands, templates, services and profiles.

    Normally, existing objects and sub-objects also defined in our imported profile(s) will be left as-is in the database. There is a tradeoff here. This default action preserves the integrity of existing setup that uses these objects, but it also means that some parts of your newly imported objects will use existing definitions instead of any different definitions in the profile file(s) being imported. If you need to overwrite ALL the old definitions of such objects, you must chick this box before running the import. BE CAREFUL with this option, as it applies to ALL objects in the imported profile file(s).

  5. When ready, select Import. The status of your import will be displayed in the Import Status screen.
    importing service profiles and services

Removing Profiles

To remove files from the profiles folder:

  1. Select Configuration > Nagios Monitoring > Profiles.
  2. Select Profile Importer then Import.
  3. You will see a list of all eligible files that are currently in the import folder directory. Select the box next to each of the files you wish to remove, and scroll down to the bottom of the screen and select Remove.
  4. You will see a list of files that will be remove if you choose to proceed. This affects only the profile files in the filesystem; objects already in the database from profiles which have previously been imported will be left untouched. Select Delete to proceed.

Uploading Profiles

To upload a profile file from your desktop you would use the New option.

  1. Select Configuration > Nagios Monitoring > Profiles.
  2. Select Profile Importer.
  3. Select New.
  4. In the Profile Importer screen you can use Browse to locate the file to upload. The Upload folder is the server directory where the uploaded profile file will reside, e.g., /usr/local/groundwork/monarch/profiles/Uploaded.
  5. Next, check the Overwrite existing file box if you with to replace a file of the same name in the import folder. Normally, an existing file in the upload folder will be left as-is if you try to upload a file of the same name, to prevent accidental data destruction. If you need to overwrite an existing file you must check this box before running the upload.
  6. Select Upload.
    uploading from your desktop

Converting 7.x Profiles

This section reviews the process of converting profiles from a previous version of GroundWork Monitor. In our example we will be converting GroundWork Monitor 7.x profiles to GroundWork Monitor 8.x profiles. On your GroundWork Monitor 7.x machine where you have created profiles and potentially plugins that do not exist in the standard distribution of GroundWork Monitor, you need to use the configuration tool to Export the profiles, one at a time.

  1. On your GroundWork Monitor 7.x machine, go to Configuration > Profiles > Host Profiles (or Service Profiles). Then select a profile to convert and use in GroundWork Monitor 8.x.
  2. Within the Host Detail tab, at the bottom select Export. An XML file will be written to the GroundWork server in the /tmp directory.
  3. You will need to repeat the above steps for each profile. Then, the easiest way to get the converted profiles onto the GroundWork Monitor 8 server is to copy them to your workstation and import the profiles. See the section above.
Additional Plugins
  • If you reference plugins that do not exist in GroundWork Monitor 8 release you will need to copy them to the to the corresponding location (for Nagios active checks) from the GroundWork Monitor 7.x machine to the GroundWork Monitor 8.x machine.
  • Also, make sure that owner and permissions are correct.
  • If the plugin needs to be on a child server, you will need to put it there as well.

Related Resources