GDMA Advanced

Version 3 by Bren Eckles
on May 02, 2017 13:56.

compared with
Current by Bren Eckles
on Nov 28, 2017 16:15.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (52)

View Page History
* GDMA client files to delete:
** {{gdma/config/gdma_override.conf}} (which file is supplied to the GDMA client by the GroundWork server during auto-registration, and holds a {{Forced_Hostname}} directive specifying the form and content of the hostname that the client is to use when interacting with the server)
** {{gdma/config/gwmon\_}}{{{}{_}hostname{_}{}}}{{.cfg}} (which file, named using the precise form of the client hostname which the client should be using, is supplied to the GDMA client by the GroundWork server, and contains host and service externals from the server which are relevant to this client, note this is the actual hostname of the GDMA client, not the literal characters "hostname")

h5. 1.4 Checking multiple hosts from a single Linux GDMA host
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.

In this 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.
In this 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.
Plugins are downloaded only as needed. The system will check to see if the plugins are new, and have a different ND5 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 _Manage Plugins_ screen, by selecting the files to be removed and clicking the _X_ button. the _X_ button.

!bookshelf_gdma_advanced_07.png|thumbnail!

|| Parameter Name || Default Value \\
\[Valid Values\] || Used by \\
\[Poller/Spooler\] || Description ||
(Valid Values) || Used by \\
Poller/Spooler || Description ||
| Auto_Register_Attempts | {{fibonacci}} \\
\[{{never}}, {{once}}, {{arithmetic}}, {{exponential}}, {{fibonacci}}, (never, once, arithmetic, exponential, fibonacci, or {{periodic}}\] periodic) | Poller | {Note}This option should not be set in host externals; it has no business being managed on the server, as it controls behavior of the GDMA client before the host externals file is downloaded from the server. So this option should appear only in the client's own {{gdma_auto.conf}} file.{Note} Specifies what sort of algorithm should be used to decide whether repeated auto-registration attempts should be made, once an initial attempt has failed. This parameter is available starting with GDMA 2.3.1. \\
\\
The {{arithmetic}}, {{exponential}}, and {{fibonacci}} settings specify increasing delays between successive attempts to auto-register. In each of these cases, the increasing delays are capped by the {{Auto_Register_Max_Interval}} setting. The standard default value for {{Auto_Register_Attempts}} is {{fibonacci}}, which invokes several quick retries and then a slow backoff until the full {{Auto_Register_Max_Interval}} period is reached. This allows rapid response when it counts most, eventual automatic recovery if the server doesn't respond for a long time, and low loading for requests that will never be successfully answered.
* {{periodic}}: Make further attempts where auto-registration is tried again, with all subsequent attempts spaced by the Auto_Register_Max_Interval setting. |
| Auto_Register_Host_Profile | empty string \\
\[The (The name of a host profile on the GroundWork server, or an empty string. The usual value is a per-platform host profile, namely one of {{gdma-aix-host}}, {{gdma-linux-host}}, {{gdma-solaris-host}}, or {{gdma-windows-host}}. But you may specify another host profile name, if you wish.\] wish.) | Poller | {Note}This option should not be set in host externals; it has no business being managed on the server, as it controls behavior of the GDMA client before the host externals file is downloaded from the server. So this option should appear only in the client's own {{gdma_auto.conf}} file.{Note} The host profile to be applied to this machine's monitoring setup during auto-registration. This value is optional; if missing or left blank, the host profile will be defaulted on the server. This parameter is available starting with GDMA 2.3.0. |
| Auto_Register_Max_Interval | 86400 \\
\[1-1000000000 seconds\] (1-1000000000 seconds) | Poller | {Note}This option should not be set in host externals; it has no business being managed on the server, as it controls behavior of the GDMA client before the host externals file is downloaded from the server. So this option should appear only in the client's own {{gdma_auto.conf}} file.{Note} Defines the maximum period (specified in seconds) to wait between successive auto-registration attempts. This parameter is available starting with GDMA 2.3.1. |
| Auto_Register_Pass | no default \\
\[the (the password corresponding to Auto_Register_User, or an empty string\] string) | Poller | {Note}This option should not be set in host externals; it has no business being managed on the server, as it controls behavior of the GDMA client before the host externals file is downloaded from the server. So this option should appear only in the client's own {{gdma_auto.conf}} file.{Note} Defines the password used for auto-registration attempts. If this value is missing or empty, auto-registration will be disabled, and the client will fall back to using the older auto-configuration protocol. This parameter is available starting with GDMA 2.3.0. |
| Auto_Register_Service_Profile | empty string \\
\[The (The name of a service profile on the GroundWork server, or an empty string.\] string.) | Poller | {Note}This option should not be set in host externals; it has no business being managed on the server, as it controls behavior of the GDMA client before the host externals file is downloaded from the server. So this option should appear only in the client's own {{gdma_auto.conf}} file.{Note} The service profile to be applied to this machine's monitoring setup during auto-registration. This value is optional; if missing or left blank, no extra service profile (beyond any that are included in the host profile) will be applied. This parameter is available starting with GDMA 2.3.0. |
| Auto_Register_User | no default \\
\[a (a GroundWork Monitor username reserved for this purpose, or an empty string\] string) | Poller | {Note}This option should not be set in host externals; it has no business being managed on the server, as it controls behavior of the GDMA client before the host externals file is downloaded from the server. So this option should appear only in the client's own {{gdma_auto.conf}} file.{Note} Defines the username used for auto-registration attempts. If this value is missing or empty, auto-registration will be disabled, and the client will fall back to using the older auto-configuration protocol. This parameter is available starting with GDMA 2.3.0. |
| ConfigFile_Pull_Cycle | 1 \\
\[1-10\] (1-10) | Poller | Controls how often new configuration information should be pulled from the Master server. The value is a multiple of Poller_Proc_Interval. |
| ConfigPull_Timeout | 10 \\
\[1-100\] (1-100) | Poller | Controls how long in seconds to wait before timing out a configuration file pull attempt. |
| Enable_Auto | on \\
\[on, off\] (on, off) | Poller, Spooler | Enables and disables auto configuration mode. This should normally be toggled on in gdma_auto.conf and off in gwmon_$host.cfg |
| Enable_Local_Logging | off \\
\[on:off\] (on:off) | Poller, Spooler | Enables local logging of events and errors. Default is off. If this is enabled, some provision to clear or rotate logs should be employed. |
| GDMA_Auto_Host | gdma-autohost \\
\[string (string conforming to GroundWork/Nagios host object rules\] rules) | Spooler | Host, defined in GroundWork Monitor Configuration, for which GDMA will submit auto configuration messages to the Target_Server as the status of the gdma_auto service. |
| GDMA_Auto_Service | gdma_auto \\
\[string (string conforming to GroundWork/Nagios service object rules\] rules) | Spooler | GroundWork service under which GDMA will submit autoconfiguration messages. |
| GDMAConfigDir | gdma \\
\[valid (valid path string\] string) | Poller | Defines the path where the agent will attempt to pull a valid gwmon_$host.cfg file from. This value is concatenated with Target_Server and the hostname of the target system to identify the configuration file to pull. \\
Example: \\
gdma_auto.conf: Target_Server="http://gdma-autohost" \\
"http://gdma-autohost/gdma/gwmon_gdma-test.cfg" |
| GDMA_Multihost | off \\
\[on, off\] (on, off) | Poller | Enable Multihost (windows child) behavior. \\ |
| Logdir | /usr/local/groundwork/gdma/log/ or c:\program files\groundwork\gdma\log \\
\[absolute (absolute directory path\] path) | Poller, Spooler | Path to write local log files. Must be valid absolute path and writable by agent user. |
| Max_Server_Redirects | 5 \\
\[unsigned integer\] (unsigned integer) | Poller | Specifies the maximum number of HTTP(S) redirects the client will tolerate when fetching data from the server and sending automated agent registration requests. A non-zero value helps with allowing redirection when transitioning an entire infrastructure from use of HTTP to use of HTTPS, for instance. The {{Max_Server_Redirects}} value can be set to 0 to completely disallow redirects, for the highest level of security. \\
\\
Because many of the uses of this parameter involve actions that precede having an externals file from the server in hand, it really only makes sense to set this parameter in the client's own {{gdma_auto.conf}} file, not in host externals. \\
This option is available starting with the GDMA 2.3.2 release. |
| Poller_Service | gdma_poller \\
\[string (string conforming to GroundWork/Nagios service object rules\] rules) | Poller | GroundWork service under which GDMA will submit poller messages. |
| Spooler_Service | gdma_spooler \\
\[string (string conforming to GroundWork/Nagios service object rules\] rules) | Spooler | GroundWork service under which GDMA will submit spooler messages. |
| Poller_Status | off \\
\[on, off\] (on, off) | Poller | On: Send poller heartbeat status messages, containing poller statistical data. \\
Off: Do not send any poller heartbeat status messages. |
| Spooler_Status | on \\
\[on, off, Updates\] | Spooler | On: Send all spooler status messages. \\
(on, off, Updates) | Spooler | On: Send all spooler status messages. \\
Off: Do not send any spool processing updates. \\
Updates: Only send when there are other checks being submitted (e.g. Do not send status message when the only update is a spooler status message.) |
| Poller_Proc_Interval | 600 \\
\[10-3600 seconds\] (10-3600 seconds) | Poller | Controls how often the poller engine will run. Also used as a base interval by ConfigFile_Pull_Cycle and Check_(service)_Check_Interval. Modifying this value is not recommended without understanding the full impact on performance data collection and target system overhead for the environment. |
| Poller_Pull_Failure_Interval | 86400 ( 1 Day) \\
\[0\- (0\- 2592000 seconds (0-30Days)\] (0-30Days)) | Poller | Controls how long the poller will continue to operate in normal mode with the current host configuration after it can no longer pull a configuration file from the master server. When this timer expires, the poller engine will remove the current host configuration file and revert to autoconfiguration mode. Setting this value to 0 disables this feature and the agent will continue to operate in normal mode with the stale configuration file indefinitely. |
| Poller_Plugin_Timeout | 5 \\
\[0\- (0\- 900 seconds\] seconds) | Poller | Controls how long the poller will wait for a plugin to execute, if a per-service Check_(service)_Timeout value is not specified. |
| Poller_Plugin_Directory | /usr/local/groundwork/gdma/libexec/ or c:\program files\groundwork\gdma\libexec \\
\[absolute directory path\] | Poller | Path to local plugins |
(absolute directory path) | Poller | Path to local plugins |
| Spooler_Batch_Size | 20 \\
\[integer (integer >= 5\] 5) | Spooler | Defines the max NSCA batch size to use when transmitting results to each master server. |
| Spooler_Max_Retries | 10 \\
\[1 (1 <= integer <= 100\] 100) | Spooler | Attempt transmission of results this many times before being purging. Multiple of Spooler_Proc_Interval time. |
| Spooler_NSCA_Config | /usr/local/groundwork/gdma/config/send_nsca.cfg or c:\Program Files (x86)\groundwork\gdma\config\send_nsca.cfg | Spooler | This is the absolute path to the configuration file for send_nsca. |
| Spooler_NSCA_Port | 5667 \\
\[valid (valid tcp port number\] number) | Spooler | Port to use when transmitting spooled results. \\
This port number must match the bronx.cfg listener_port value on the master server (each individual Target_Server machine). |
| Spooler_NSCA_Program | /usr/local/groundwork/common/bin/send_nsca or c:\Program Files\groundwork\gdma\bin\send_nsca.exe | Spooler | Location of send nsca program |
| Spooler_NSCA_Timeout | 10 \\
\[1-30 seconds\] (1-30 seconds) | Spooler | NSCA send timeout |
| Spooler_Proc_Interval | 180 \\
\[60-900 seconds\] (60-900 seconds) | Spooler | Controls how often the spooler engine will run. Also used as a base interval by Spooler_Max_Retries. |
| Spooler_Retention_Time | 900 \\
\[1 (1 <= integer <= 900\] 900) | Spooler | Unsent spooled results older than this will be purged. |
| Target_Server | \[http://gdma-autohost\] \\
\[a (a valid http or https url\] url) | Poller, Spooler | Defines the address(es) to pull configuration files from and send all check results to. This may be in the form of a comma separated list to send results to multiple targets. \\
If a list is specified, the first element in the list is the one from which configuration files will be pulled. |
| Target_Server_Secondary | no default \\
\[a (a valid http or https url\] url) | Spooler | Defines the system where the agent will attempt to send check results when the Target_Server is unavailable. |
| Forced_Hostname | The exact hostname (unqualified or fully-qualified, as specified) to be used in place of any dynamic determination of the hostname. | Poller, Spooler | This is a directive used to force determination of the GDMA client hostname to a fixed value. It is fully supported in the GDMA 2.3.0 release, on all platforms. See [GDMA Advanced] for details. |
| Use_Long_Hostname | undefined \\
\[{{on}}, {{off}}, or undefined (not specified)\] \\
{{(}}{{{}on}}, {{off}}, or undefined (not specified) \\
(Note: GDMA 2.3.0 inappropriately set this option to {{"on"}} in the freshly installed {{gdma_auto.conf}} file; that setting is not appropriate for many customers. Users may wish to install GDMA 2.3.1 instead, which does not define this option by default, or comment out the value in the config file.) \\ | Poller, Spooler | Controls whether the poller and spooler use a fully-qualified hostname for the {{gwmon_$host.cfg}} filename, and the hostname under which GDMA reports its results. \\
\\
{Note}The setting of this option will be effectively ignored if the Forced_Hostname option is in play. (Forced_Hostname is to be used sparingly in manual configurations, only in exceptional conditions when the local configuration simply cannot be set up to correctly determine the hostname by ordinary automatic means.) In particular, a successful auto-registration creates an extra gdma_override.conf file that contains a Forced_Hostname directive specifying the GDMA client hostname as determined by the GroundWork Monitor server. The auto-registration code on the server has its own controls over the format of the hostnames it returns to clients, and those controls take precedence over the Use_Long_Hostname option on the client when the server determines the desired client hostname. See [DOCDEV:GDMA FAQs] &nbsp;for a detailed description.{Note} |
| Critical_Threshold | 80 \\
\[1 (1 <= integer <= 100\] 100) | Poller | This is a threshold, specified as an integer percentage, that will generate a critical status from the poller on the service specified in the Poller_Service parameter if the polling cycle takes longer than the specified percentage of the time specified in the Poller_Proc_Interval. Default is 80, so a critical status will be generated if more than 80% of the Poller_Proc_Interval is used for polling. |
| Warning_Threshold | 60 \\
\[1 (1 <= integer <= 100\] 100) | Poller | This is a threshold, specified as an integer percentage, that will generate a warning from the poller on the service specified in the Poller_Service parameter if the polling cycle takes longer than the specified percentage of the time specified in the Poller_Proc_Interval. Default is 60, so a warning status will be generated if more than 60% of the Poller_Proc_Interval is used for polling. |

h6. Per Service Configuration Parameters

| *Parameter Name* | *Default Value* \\
*\[Valid Values\]* *(*{*}Valid Values)* | *Used by Spooler/Poller* | *Description* |
| *Check_(service)_Enable* | on \\
\[on, off\] (on, off) | Poller | Enable or disable this service check |
| *Check_(service)_Service* | n/a \\
\[string conforming to GroundWork/Nagios service object rules\] | Poller | GroundWork/Nagios service name |
(string conforming to GroundWork/Nagios service object rules) | Poller | GroundWork/Nagios service name |
| *Check_(service)_Command* | n/a \\
\[command definition to be executed by the poller\] | Poller | Command definition |
(command definition to be executed by the poller) | Poller | Command definition |
| *Check_(service)_Timeout* | 5 \\
\[0\- (0\- 900 seconds\] seconds) | Poller | Controls how long the poller will wait for this service command to execute. |
| *Check_(service)_Check_Interval* | n/a \\
\[positive integer\] (positive integer) | Poller | Controls how often the service check will run, as a positive integral multiple of Poller_Proc_Interval. Defaults to 1 (run during every poller cycle) if not specified. |

h5. 5.2 Error and Status Messaging