Local Program execution

Overview

germain APM offers a number of ways to automate an action. Script can be automatically executed to automate maintenance tasks, resolve issues in real-time, etc

There are a number of actions which can be configured using the configuration wizards on the dashboard.

A local programaction executes a command on the local server (i.e., the server running the Germain APM Enterprise server).

This action to be configured in one of the following formats:

  • Local command that is called by our action services
  • Script defined in our Scripts repository

Local Program Configuration Reference


Workspace Field Label

Configuration Key

DescriptionPossible ValuesDefault Value
NamenameUnique name for the actionString
Working DirectoryworkingDirectoryWorking directory of command or scriptString
ProgramcommandCommand/Program to execute, example: powershell.exe , /bin/bashString
ArgumentsargumentsArguments to pass to the commandString, list of strings
Quote ArgumentsquoteArgumentsif set, will quote arguments that contain spaces or quotesBoolean
ScriptscriptScript name to execute, as defined under Automation > ScriptString
Run on schedule?schedule*Calculated Field* if set to true, allows schedule cron expression to be definedBoolean
Triggered By SLAs
*Calculated Field* Collection of SLAs this action is configured for

TimeouttimeoutExecution timeout in secondsInteger
Exit ValueexitValueExpected exit value of command and scriptInteger
Logging EnabledloggingEnabled

Boolean


Notify On SuccessnotifyOnSuccess

Boolean


Notify On Failure

notifyOnFailure

Boolean


Execution CountlimitCount

Used in combination with limitInterval to define upper limit on how many times to execute this action.

Integer


Execution IntervallimitInterval

Used in combination with limitCount to defines interval during which upper limit applies.

String, one of the following values:
YEAR, MONTH, WEEK, DAY, HOUR, MINUTE



references

*Advanced Field* References to configuration entries associated with this action.

Allows other configuration items such as credentials to be used within the Template as a key/item pair that can then be used within the Alert Template, eg. §{Credentials.username} .*option1*

Also allows for direct key/value references to be defined that do not reference other configuration items. *option2*

name - unique reference name
eg. Credentials
key *option 1*- germain apm config collection key
eg. germain.apm.monitoringConfig.credentials
itemName *option 1* - germain apm config item key
eg. SSHProdCredentials
Value *option 2* - hard value for reference
Password1


Example - Configure a local program action - Windows service restart

Navigate to Automation > Local Program

In this screen you'll be able to easily spot which Local Program actions are available and configured to trigger on SLAs
Clicking on an existing action will bring you to the respective configuration page.
In order to create a new local program action we'll click the + symbol up top which will bring up our Local Program Wizard

Step 1 - Local Program


Type in the action name, Windows-Service-Restart-Local, and click Next

Step 2 - Command

Type in the Program to Execute, powershell.exe and add a single argument Restart-Service #ServiceName#

Click Next

Step 3 - Schedule

Since we want this action to execute once a SLA threshold is breached. we will skip this step, press Next

Step 4 - SLA

For this example, we would restart our Windows service once the Memory Usage SLA has been breached.
Click Finish.

We now have a local action configured that restarts a Windows Service on our Enterprise Server once the Memory Usage SLA is breached.

The above example while simplified showcases how simple it would be to configure additional automation using the GermainAPM. For more robust scenarios you would likely want the local program to execute over a remote host ( which in powershell could be achieved by passing the -ComputerName argument and defined a SLA specific for the target server.