Toolkit Plug-In Technical reference

Introduction

The Toolkit plug-in integrates output from custom commands and scripts into Geneos. This plug-in executes these commands or scripts on a periodic basis and converts their output into a dataview.

These custom commands can execute standard output application written in C/C++, Perl, TCL, Python, and scripts, such as VB, batch, and shell script.

For more information, see Toolkit Plug-In User Guide.

Plug-In Configuration

The following parameters can be configured for this plug-in:

samplerScript

Name of the command that the plug-in runs on a periodic basis. If the command contains spaces then the entire command (but not any arguments) must be wrapped in double quotes, or the sampler will fail to execute the script.

For example, rather than specifying:

c:\monitoring\example path\example path\tkscript.bat a b c d

The command should be specified correctly as:

"c:\monitoring\example path\example path\tkscript.bat" a b c d

Absolute and relative paths to the command must be specified as well.

Mandatory: Yes

rowLimit

Limits the number of rows displayed. The default rowLimit is 16000 but can be set higher or lower in the configuration.

The rowLimit prevents the Netprobe from becoming overloaded if the script outputs a large amount of data. If the rowLimit is reached, the Netprobe will still read the data from the script but will not store it. This ensures any script relying on read requests will complete.

Note: This is a limit on the number of lines read in from the script. The limit would include lines read in that became Headline Variables and Column Headers, as well as lines that became rows in the dataview.

scriptTimeout

Changes the timeout value for a script. A script is allowed 60 seconds to execute. A script running longer than the timeout value will not display the desired results in the dataview. Use this setting to change the script timeout value for longer running scripts.

Default: 60 (in seconds)

terminateOnTimeOut

Changes the behavior of the plug-in when a timeout occurs due to the script running longer than 60 seconds. The normal behavior is for the plug-in to kill the long running process. Setting this flag to false will change the behavior, and the plug-in will leave the process running. This behavior change can also be controlled through the use of an environment variable. Setting the environment TOOLKIT_TERMINATE_ON_TIME_OUT to the value of FALSE will have the same effect as setting the terminateOnTimeOut setting to false. The environment setting is overridden by the GSE setting.

Mandatory: No
Default: true (unless environment variable TOOLKIT_TERMINATE_ON_TIME_OUT is set to FALSE, then false)

environmentVariables

Defines an optional set of environment variables that will be available to the script.

Mandatory: No

environmentVariables > variable

Defines a single environment variable that will be available to the script.

Mandatory: No

environmentVariables > variable > name

Name of the variable being defined.

Mandatory: Yes

environmentVariables > variable > value

Value of the variable being defined.

Mandatory: Yes

secureEnvironmentVariables

Defines an optional set of secure environment variables that are AES 256 encrypted and will be available to the script. Environment variables in this section will override any other environment variables of the same name defined elsewhere.

Mandatory: No

secureEnvironmentVariables > variable

Defines a single secure environment variable that will be available to the script.

Mandatory: No

secureEnvironmentVariables > variable > name

Name of the variable being defined.

Mandatory: Yes

secureEnvironmentVariables > variable > value

Value of the variable being defined. This will be AES 256 encrypted or reference a variable that is AES 256 encrypted. References to other variable types are invalid and will result in an error and the variable being ignored.

Mandatory: Yes

script

Defines a script that will be sent to the Netprobe and written out as a file for execution.

Mandatory: No

script > filename

Name of the script that the Netprobe will write to. This must be in or under the Netprobe's working directory. Absolute paths are not permitted in that paths must start with (./) or state the filename itself, denoting the Netprobe's relative path. The subdirectories and filename in the path will then be created if they do not exist.

For example, it can be any of the following:

  • ./<netprobe_directory>/<filename>
  • <netprobe_directory>/<filename>
  • ./filename
  • filename

Mandatory: Yes

script > contents

Defines the contents of the script.

Mandatory: Yes

showExecutionDuration

ExecDuration Headline shows the toolkit script execution time during last sample.

Setting Description
true ExecDuration Headline should be displayed
false ExecDuration Headline should not be displayed
Mandatory: No
Default: true