About GDMA Plugins 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 icon next to the dependency deletes that dependency. On this same screen you delete selected  plugins.

      edit plugin for download

Downloading 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:

    Regarding Child servers

    If you have GDMA clients reporting to a Child server, their Poller_Plugins_Upgrade_URL setting must reflect that Child server hostname. This will be true whether plugin downloading is managed directly on the Child server or, using proxying on the Child server, plugin downloading is managed on the Parent server along with the rest of the GDMA management.

    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"

      Exact match

      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 test001.so library is needed by the new check_my_app plugin. Selecting the dependency when the plugin is loaded identifies test001.so 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.

Related Resources