GDMA plugins for download


The Plugins feature allows administrators to download new plugins and dependencies to the GroundWork server where externals are hosted. Then, based on platform, dependency and externals settings, plugins are automatically applied on selected GDMA client configurations. This feature is disabled by default and can be enabled directly through the user interface. You must selectively enable the download on the agent configurations.

plugin download flow

Uploading new plugins

  1. Select Administration > Plugins, and check the Enabled box, any uploaded plugins will be listed, (disabling does not delete any uploaded plugins or dependencies).
  2. Select Add, to add a new plugin for download.

    uploading new plugins
  3. Continue on the Add Plugin for Download screen:
    • Platform: Select the platform and architecture to be used for the plugin download.
      • If the downloaded plugin will work on all the platforms where GDMA will run, choose one of the Multiplatform options. 
      • If you want to run the plugin on both 32-bit and 64-bit platforms, you will need to upload it twice, once for Multiplatform 32-bit and once for Multiplatform 64-bit. Generally, you will need to upload a different version of a plugin for each platform you want to use it on.
      • The names of the plugins for different operating systems or bit widths can be the same, though you will need to keep them in separate, well-defined places on your source machine to keep track of which copy is for which platform. The uploaded plugins will be stored in separate directories on the server, to minimize any confusion. For instance, a plugin written as a shell script might work on just Linux but for both 32-bit and 64-bit versions of that OS, so you would upload it once for Linux Intel 32-bit and once for Linux Intel 64-bit.
    • Plugin: Choose a plugin file to add to the download list.
    • Dependency: Optionally select an existing plugin as a dependency or upload a new one, you can select more than one dependency using the + icon.

      add plugin for download
    • Click Save.
    • If you select a single plugin from the manage screen you can adjust the platform, or add/upload a dependency. Clicking the red crossed circle next to the dependency deletes that dependency. On this same screen you delete selected (checked) plugins.

      edit plugin for download

Download plugins to GDMA clients

  1. In GroundWork Monitor, select Configuration > Nagios Monitoring > Hosts > Host Externals > Modify and select a host external for the hosts that will be downloading plugins.
    • Alternatively you can enable this for individual hosts by opening the host external for the specific host you want, however changing the host external for all like hosts will make the downloads apply to many hosts at once. You may wish to try this on one host, and make sure you have it right before rolling out to all hosts of a given type.
  2. Add the following lines to the selected host external where <Server Name> is the resolvable name of the GroundWork server from the point of view of the GDMA:

    Enable_Poller_Plugins_Upgrade = "On"
    Poller_Plugins_Upgrade_URL="http://<Server Name>/foundation-webapp/restwebservices/pluginUpdates/findUpdates"

    host externals

    You may also use an https URL if you have configured GroundWork Monitor to use HTTPS, for example:

    Poller_Plugins_Upgrade_URL="https://<Server Name>/foundation-webapp/restwebservices/pluginUpdates/findUpdates"

    When using HTTPS, the <Server Name> must exactly match what is in the server's SSL certificate (typically, a fully-qualified name). For more information regarding SSL support.

  3. Save the host external and choose Replace existing externals or Merge with existing externals as appropriate.
  4. Then build externals, Configuration > MonarchControl > Build Externals. The plugins will be downloaded to the GDMA libexec directory, and will be flagged executable by the user running the GDMA process (gdma by default). Existing plugins with the same file name will be replaced.

Plugin dependencies

Unix versions

You may want to use a plugin that depends on a library GroundWork Monitor does not supply with the GDMA. For Windows systems, this is not usually the case, though one could characterize a .dll file as a dependency, most Windows plugins are either VBScript (executed by (cscript.exe), PowerShell (executed by powershell.exe) or Windows .bat batch files (executed by cmd.exe). If you need to download a .dll file to Windows, you should simply add it as you would a plugin, and it will be copied to the libexec subdirectory of the GDMA, where it will be available for the plugin.

If you are using the UNIX GDMA (Linux, Solaris or AIX), you may have access to the library you need. If you have this library (typically, one or more .so files) available, you can transfer it to the GDMA host into the groundwork/common/lib directory. Simply perform the above procedure, uploading the dependency files first, choosing platform and architecture as you would for the plugin. Then, when you have the library (or libraries) uploaded, upload the plugin, selecting the libraries in the dependency screen.

For example, the library is needed by the new check_my_app plugin. Selecting the dependency when the plugin is loaded identifies as a dependency, which goes to the groundwork/common/lib directory, and check_my_app as a plugin, which gets placed in the groundwork/nagios/libexec directory.

If you update an existing plugin, the new version will simply overwrite the old. No special action will be taken to preserve the original plugin.

Plugins are downloaded only as needed. The system will check to see if the plugins are new, and have a different MD5 sum prior to downloading, so there is no downside to keeping a large number of plugins and dependencies on the GroundWork server.

You may remove a plugin or dependency (or several at once) at any time from the Administration > Plugins screen, by selecting the files to be removed and clicking the Delete button.

Related articles