- Solutions
-
- File Server: Ransomware Protection
- File Server: File Copy
- File Server: Audit File Access
- File Server: Storage growth reporting
- Licensing/Pricing
- Contact
PA Server Monitor has a simple API for automating some basic operations.
To protect the system from un-authorized requests, there are two security precautions that are required:
Requests are made via HTTPS. The format of the requests is:
Additional optional parameters can be appended to the URL using the pattern:
All API commands return data as simple text. Successful commands return as XML, or in the following format:
All errors are returned as:
IDs: Some of the requests below take a Group ID, Computer ID and/or Monitor ID. You can get IDs via:
Below are the supported commands. The command name should be inserted where {command} is shown in the example above.
Group Commands
Server/Device Commands
Monitor Commands
Action Commands
Miscellaneous Commands
Monitor-Specific Commands
Returns a list of groups, with their name, full path name, group ID, and group ID for the group's parent.
Optional Parameters
XML = {0|1} - defaults to 0
Example
Output (name|full path|id|parentID)
XML Example
XML Output
Add the given group if it doesn't already exist
Required Parameters
NAME - Full of the group name. For example, a group named "Exchange Servers" under the top "Servers\Devices" would set NAME to Servers\Devices^Exchange%20Servers (delimit groups with ^, URL encode, so a space becomes %20)
Example
Output
The 123 above is the new Group ID (referred to as GID in some other functions)
Delete the named group. If it contains child groups or servers, they will become orphaned and moved to the top Servers\Devices group the next time the monitoring service is restarted.
Required Parameters
NAME - Full of the group name. For example, a group named "Exchange Servers" under the top "Servers\Devices" would set NAME to Servers\Devices^Exchange%20Servers (delimit groups with ^, URL encode, so a space becomes %20)
Example
Output
Retrieves a custom property on a group. If the property is not defined, an empty value is returned.
Required Parameters
GID - Group ID for the group to target for the operation.
PROPNAME - Name of the property to retrieve
Example
Output
Sets a custom property on a group. If the property value is empty, the custom property is removed.
Required Parameters
GID - Group ID for the group to target for the operation.
PROPNAME - Name of the property to set
PROPVAL - Value of the property to set
Example
Output
Gets the Notes from a Server/Device or from a Group
Required Parameters
CID - Computer ID for the computer to retrieve notes from.
- or -
GID - Group ID for the group to retrieve notes from.
PATH - File that the notes will be saved into. This needs to be accessible to the Central Monitoring Service (a local file).
Example
Output
Sets the Notes for a Server/Device or for a Group
Required Parameters
CID - Computer ID for the computer to retrieve notes from.
- or -
GID - Group ID for the group to retrieve notes from.
PATH - File that the notes will be read from. This needs to be accessible to the Central Monitoring Service (a local file).
Example
Output
Put server(s) or a monitor into immediate maintenance mode.
Required Parameters
CID - Computer ID for the computer to target for the operation.
- or -
GID - Group ID for the group that contains target computers (including those in child-groups).
- or -
MID - Monitor ID for the specific monitor that should be affected.
MINUTES - time in minutes that the server should remain in maintenance mode before it automatically reverts to normal monitoring
Optional Parameters
FORCE - 1 to allow the maintenance window to be shortened. Defaults to 0
Example
Output
Put server(s) or a monitor back into normal monitoring mode.
Required Parameters
CID - Computer ID for the computer to target for the operation.
- or -
GID - Group ID for the group that contains target computers (including those in child-groups).
- or -
MID - Monitor ID for the specific monitor that should be affected.
Example
Output
Returns a list of servers and the group that the server is in. The XML version also shows the computer's internal ID.
Optional Parameters
XML = {0|1} - defaults to 0
GID = {group ID}, defaults to 0 (top Servers/Devices group).
ALL = {0|1} - 0 means just return the servers directly in the group, 1 returns all servers in all sub-groups as well
Example
Output (server|group^group)
XML Example
XML Output
Given a device hostname or IP address, looks up the device and returns the Computer ID (CID) which is used in many other API calls.
Required Parameters
NAME - Host name or IP address of the target server.
Example
Output
Add and optionally configure the named server
Required Parameters
SERVER - name of the server that should be added. If the server already exists, it will be operated on (WIN, WMI and GROUP will not have an effect in that case).
Optional Parameters
ALIAS={new alias|CLEAR_ALIAS} - If set to CLEAR_ALIAS, deletes the alias. Otherwise sets the alias to the new value. If the value is blank or ALIAS is not sent, no changes to the alias are made.
WIN={0|1} - defaults to 0. Set to 1 if this is a Windows server.
WMI={0|1} - defaults to 0. Set to 1 if WMI polling should happen to collect System Details information for the server status report
CONFIG_PATH - defaults to none. Full path to a .cxml config file that specifies a configuration that should be applied to the new server.
.cxml files are created by exporting a computer's configuration, or by using the EXPORT_SERVER API below. The file must be on the same computer as PA Server Monitor is running on.
GROUP - defaults to none (which implies the top level group). The full path to the group that the server should be placed in, for example: Servers/Devices^Seattle^Exchange Servers (where the ^ delimits group names).
SATID - Satellite ID. Defaults to the Central Service. Satellite IDs can be obtained in the Console by looking at the Satellite's status report. They generally look something like: 51fa284a-58d6-41a0-870e-1cbd7db6c12a
GETID={0|1} - defaults to 0. If set to 1, this function will wait (possibly a long time) until the new device is added so the Computer ID (CID) value can be returned.
Example
Output
The 471 above is the newly created Computer ID (CID) that is returned because GETID=1. Without GETID=1, the Output would simply be :OK:
Delete the named server, along with all of its monitors
Required Parameters
CID - Computer ID for the computer to target for the operation.
{deprecated} SERVER - name of the server that should be deleted
Example
Output
Exports the configuration of the specified server in a .cxml file. Per-server passwords (if any) are NOT exported.
Required Parameters
CID - Computer ID for the computer to target for the operation.
- or -
SERVER - Name of the computer to target. If there are multiple computers with the same name (perhaps at different locations), which one is returned is not defined.
Optional Parameters
PATH - Full path to the output file. If this is not given, the file will be saved to C:\Program Files\PA Server Monitor\Config\Backup\Export_Computer_{CID}.cxml
Note: Be careful where these files are saved as some monitor configurations might contain sensitive information.
Example
Output
Retrieves a custom property on a server. If the property is not defined, an empty value is returned.
Required Parameters
CID - Computer ID for the computer to target for the operation.
- or -
SERVER - Name of the computer to target. If there are multiple computers with the same name (perhaps at different locations), which one is returned is not defined.
PROPNAME - Name of the property to retrieve Multiple properties can be passed in a comma separated list.
Example (single property)
Example (multiple properties)
Output
Example (ID property not defined on target)
Output
Output
Sets a custom property on a server. If the property value is empty, the custom property is removed.
Required Parameters
CID - Computer ID for the computer to target for the operation.
- or -
SERVER - Name of the computer to target. If there are multiple computers with the same name (perhaps at different locations), which one is returned is not defined.
PROPNAME - Name of the property to set
PROPVAL - Value of the property to set
Example
Output
The Custom Property DISPLAYED_NOTES is the value you can set by right-clicking a computer and selecting Notes. Notes show up at the top of a Server Status Report.
Gets the Notes from a Server/Device or from a Group
Required Parameters
CID - Computer ID for the computer to retrieve notes from.
- or -
GID - Group ID for the group to retrieve notes from.
PATH - File that the notes will be saved into. This needs to be accessible to the Central Monitoring Service (a local file).
Example
Output
Sets the Notes for a Server/Device or for a Group
Required Parameters
CID - Computer ID for the computer to retrieve notes from.
- or -
GID - Group ID for the group to retrieve notes from.
PATH - File that the notes will be read from. This needs to be accessible to the Central Monitoring Service (a local file).
Example
Output
Put server(s) or a monitor into immediate maintenance mode.
Required Parameters
CID - Computer ID for the computer to target for the operation.
- or -
GID - Group ID for the group that contains target computers (including those in child-groups).
- or -
MID - Monitor ID for the specific monitor that should be affected.
MINUTES - time in minutes that the server should remain in maintenance mode before it automatically reverts to normal monitoring
Optional Parameters
FORCE - 1 to allow the maintenance window to be shortened. Defaults to 0
Example
Output
Put server(s) or a monitor back into normal monitoring mode.
Required Parameters
CID - Computer ID for the computer to target for the operation.
- or -
GID - Group ID for the group that contains target computers (including those in child-groups).
- or -
MID - Monitor ID for the specific monitor that should be affected.
Example
Output
Enables or disables the server (disabling a server disables all monitors for that device)
Required Parameters
CID - Computer ID for the computer to target for the operation.
ENABLE - Set to 1 to enable monitoring, or 0 to disable monitoring
Example
Output
Pass a server name and get forwarded to that server's status report
Required Parameters
CID - Computer ID for the computer to target for the operation.
{deprecated} SERVER - name of the server
Example
Output
Browser gets redirected to the given server's status report page
Returns information about all monitors owned by a particular computer.
Required Parameters
CID - Computer ID for the computer to target for the operation. ALL can be used to return information all monitors
Optional Parameters
FORMAT_DATE - 0 to always output as dd-mm-yyyy hh:mm:ss (24 hour hh), or 1 to use the same format that the existing reports use (which can be customized). Defaults to 0.
STATUS - a comma separated list of monitor statuses. Only monitors that are currently the specified status will be returned. See status values in the table at the bottom of the page.
Example
Output (XML)
Notes:
* monitorKind can be "M" for a typical monitor, "T" for a monitor template, "MT" for a monitor that derives from a template, or "G" for a global monitor.
* owningComputerID will be 0 for templates (T) and global monitors (G)
* owningGroupID will only be non-zero for monitor templates (T)
Retrieves a monitor's XML configuration. This can also be retrieve manually in the Console by first enabling the Console_ShowExportMonitor option in Advanced Services > Advanced Settings. Once that is done, you can right-click a monitor and click the new Export Monitor Configuration menu option.
Required Parameters
MID - Monitor ID for the target monitor
Example
Output
The XML configuration data is returned which will look similar to:
Set the configuration of a monitor to new values. Often this XML would have been retrieved using GET_MONITOR_CONFIG or from the Console.
Required Parameters
MID - Monitor ID for the target monitor
CONFIG - The monitor configuration XML
Important: If the XML is not valid, there is a chance the monitoring service will crash when loading the monitor. Great care should be used in manipulating the XML. If the service crashes, you may need to restore from the configuration backup which is stored in the Config\Backup folder.
In addition, because of the format and size of the typical monitor XML, this API usually needs to be called via a POST rather than a GET.
Example
See the contents of SetMonitor.txt to see the URL-encoded content that is sent as a form post.
Note that at the top you'll see the familiar
Output
Adds a new monitor to a server. Often this XML would have been retrieved using GET_MONITOR_CONFIG or from the Console.
Required Parameters
CID - Target Computer ID for the computer that the monitor will be added to
CONFIG - The monitor configuration XML
Important: If the XML is not valid, there is a chance the monitoring service will crash when loading the monitor. Great care should be used in manipulating the XML. If the service crashes, you may need to restore from the configuration backup which is stored in the Config\Backup folder.
In addition, because of the format and size of the typical monitor XML, this API usually needs to be called via a POST rather than a GET.
Example
See the contents of AddMonitor.txt to see the URL-encoded content that is sent as a form post.
Note that at the top you'll see the familiar
Output
The 456 above is the newly added Monitor ID (referred to as MID in other functions)
Enables or disables the monitor
Required Parameters
MID - Monitor ID for the monitor to target for the operation.
ENABLE - Set to 1 to enable monitoring, or 0 to disable monitoring
Example
Output
Put server(s) or a monitor into immediate maintenance mode.
Required Parameters
CID - Computer ID for the computer to target for the operation.
- or -
GID - Group ID for the group that contains target computers (including those in child-groups).
- or -
MID - Monitor ID for the specific monitor that should be affected.
MINUTES - time in minutes that the server should remain in maintenance mode before it automatically reverts to normal monitoring
Optional Parameters
FORCE - 1 to allow the maintenance window to be shortened. Defaults to 0
Example
Output
Put server(s) or a monitor back into normal monitoring mode.
Required Parameters
CID - Computer ID for the computer to target for the operation.
- or -
GID - Group ID for the group that contains target computers (including those in child-groups).
- or -
MID - Monitor ID for the specific monitor that should be affected.
Example
Output
Request the specified monitor be run immediately
Required Parameters
MID - Monitor ID for the monitor to run immediately.
Optional Parameters
FORCE - 1 to run the monitor even if it's disabled or the server is in maintenance. Defaults to 0
Example
Output
Returns a list describing all the actions in the system (these IDs are used in the errorActionIDs and fixedActionIDs attributes returned from GET_MONITOR_INFO
Example
Output (XML)
Acknowledge an alert
Required Parameters
ERRID - The Error ID for the alert. This can be shown in Error Audit reports, or shown on the Server Status report
Optional Parameters
ACKALERTS - 1 to send any Acknowledge alerts attached to the monitor, or 0 to suppress sending them. Defaults to 0.
ACKBY - Name to list as the person doing the acknowledgement. By default it will show "External API". The IP address of the caller will be appended.
Example
Output
Creates a chart jpeg file similar to those shown in the server status reports. The chart image will be in the Reports\Temp folder. The caller is responsible for deleting the file when done using it.
Required Parameters
STATID - statistic ID to be charted. The StatID value can be found in the Statistic table, StatID column.
MONTYPE - Monitor type. This is the value from the OwnerType column in the Statistic table.
Optional Parameters
NONZEROBASE - The y-axis of most charts starts at 0. Set this to 1 to indicate the chart should pick a better axis starting point. Defaults to 0
MINUTES - The number of minutes back to chart. Defaults to 1440 (one day)
SUMMARIZATION - Control how the data is summarized, using a value from the below chart. Defaults to 25 (5-minute maximum)
Chart raw values | 0 |
Minute minimum | 15 |
Minute average | 14 |
Minute maximum | 16 |
5-Minute minimum | 24 |
5-Minute average | 23 |
5-Minute maximum | 25 |
Hourly minimum | 5 |
Hourly average | 1 |
Hourly maximum | 6 |
Daily minimum | 7 |
Daily average | 2 |
Daily maximum | 8 |
Weekly minimum | 9 |
Weekly average | 3 |
Weekly maximum | 10 |
Monthly minimum | 11 |
Monthly average | 4 |
Monthly maximum | 12 |
Yearly minimum | 18 |
Yearly average | 17 |
Yearly maximum | 19 |
Generic number | 15 |
Bytes | 1 |
KB | 2 |
MB | 3 |
GB | 4 |
TB | 12 |
PB | 13 |
EB | 14 |
Bps | 11 |
Kbps | 17 |
Mbps | 18 |
Gbps | 19 |
Tbps | 20 |
Scale dynamically | 5 |
Percentage | 6 |
milliseconds | 7 |
Temperature in C | 9 |
Lux | 10 |
Example
Output
Returns internal monitoring system performance metrics.
Note that these can also be enabled and retrieved as Windows performance counters. For the list of values returned, the first column is the performance ID, the second column is the name, and the third column is the performance value.
To see what statistics are available, call the API without an IDS parameter.
Required Parameters
NONE
Optional Parameters
IDS - comma separated list of performance IDs to return. If IDS is not give, all performance values are returned.
Example
Output
Scan an IP address range for new servers that aren't being monitored, and run Smart Config for the new servers. The Discovery and Smart Config procedures can take some time, so an OK result means that the process has been started.
Required Parameters
START - Start of IP address range
END - End of IP address range
Example
Output
Once a day and any time the monitoring service starts, the configuration is backed up to C:\Program Files\PA Server Monitor\Config\Backup. Using this API command, you can force the backup to happen on demand.
Optional Parameters
EXPORTCREDS - Backups normally do NOT contain all of the credentials that a system might have (credentials for accessing other servers, SMTP mail account credentials, database connection string, etc). If you must backup the credentials, you can append &EXPORTCREDS=1 to the
end of the URL below and credentials will be saved in plain text in the backup file.
Note: Be VERY careful about using this option. Exporting credentials can be globally disabled by setting
Example
Output
A new backup file named Backup1.axml is created in C:\Program Files\PA Server Monitor\Config\Backup
Creates a SNAP Tunnel based on configuration properties that are passed.
Required Parameters
LPORT - Listen side port (port that you will connect to).
SATID - Satellite where the tunnel will be created to/from. Satellite IDs can be seen in the Console on the Satellite's status report page.
DADDR - Destination hostname/IP address. This is where data will be sent/read from at the Satellite side. It can be the Satellite itself (127.0.0.1 for example) or a host on the remote Satellite's network.
DPORT - Destination port - this is the port where data will be sent to on the destination host.
USERNAME - The user whose credentials will be used to create the tunnel. This user's access will be used to confirm they have access to the destination address. See Remote User Access. To use
the legacy mode of not requiring a login, see SNAP_AllowTunnelFromAnonAPI on this page.
PASSWORD - The password for the user specified by the USERNAME credential
Optional Parameters
SVC_LISTENS - 1 or 0 (defaults to 1). If 1 indicates whether the Central Server will listen on the port specified by LPORT. If 0, the Satellite will listen on the LPORT port.
Example
This will create a listening port on port 9000 on the Central Service which forwards to the RDP port (3389) on 192.168.7.4 on the Satellite's remote network. You could then launch the Remote Desktop application using: mstsc.exe /v:{IP of central service}:9000
Output
Closes a SNAP Tunnel based on configuration properties that are passed. These are the same parameters that would have been passed when the tunnel was created.
Required Parameters
LPORT - Listen side port (port that you will connect to).
SATID - Satellite where the tunnel will be created to/from. Satellite IDs can be seen in the Console on the Satellite's status report page.
DADDR - Destination hostname/IP address. This is where data will be sent/read from at the Satellite side.
DPORT - Destination port - this is the port where data will be sent to on the destination host.
Optional Parameters
SVC_LISTENS - 1 or 0 (defaults to 1). If 1 indicates whether the Central Server will listen on the port specified by LPORT. If 0, the Satellite will listen on the LPORT port.
Example
This will close the tunnel that was created in the TUNNEL_CREATE example above.
Output
Lists SNAP Tunnels that exist to the target Satellite.
Required Parameters
SATID - Satellite for which the tunnel list is requested.
Example
Output
Retrieves the filter that is set for the given monitor and event source.
Required Parameters
MID - The Monitor ID for the Event Log monitor
SOURCE - Source (left side of the Event Grid) to check in the montior. Note that spaces have to be URL escaped by changing them to a +
FTYPE - Indicates whether the Include or the Exclude filter should be returned. Valid values are INCLUDE and EXCLUDE.
Example
Output
Sets the filter for the given monitor and event source.
Required Parameters
MID - The Monitor ID for the Event Log monitor
SOURCE - Source (left side of the Event Grid) to check in the montior. Note that spaces have to be URL escaped by changing them to a +
FILTER - Filter to set on the source. Note that spaces have to be escaped.
FTYPE - Indicates whether the Include or the Exclude filter should be set. Valid values are INCLUDE and EXCLUDE.
Example
Output
Returns whether a specific event source's Level (Info, Error, Critical, etc) box is checked or not
Required Parameters
MID - The Monitor ID for the Event Log monitor
SOURCE - Source (left side of the Event Grid) to check in the montior. Note that spaces have to be URL escaped by changing them to a +
LEVEL - One of the following values: INFO, WARNING, ERROR, CRITICAL, AUDITSUCCESS, AUDITFAILURE
A return value of 1 means the level is checked, and 0 means it is unchecked.
Example
Output
Sets or clears a specific event source's Level (Info, Error, Critical, etc) check box
Required Parameters
MID - The Monitor ID for the Event Log monitor
SOURCE - Source (left side of the Event Grid) to check in the montior. Note that spaces have to be URL escaped by changing them to a +
LEVEL - One of the following values: INFO, WARNING, ERROR, CRITICAL, AUDITSUCCESS, AUDITFAILURE
VALUE - 1 to check the box, 0 to clear the box
Example
Output
Alert | 2 |
Alert - Skipping Actions | 10 |
Alert - Green | 17 |
Alert - Red | 18 |
Alert - Suppressing | 19 |
Bad License | 14 |
Can't Run | 4 |
Dependency Not Met | 16 |
Disabled | 6 |
Error | 3 |
Error - Suppressed | 21 |
OK | 1 |
OK - Unacknowledged Alerts - Yellow | 20 |
OK - Unacknowledged Alerts - Red | 24 |
OK - Unacknowledged Alerts - Green | 25 |
Monitor Busy | 11 |
Monitor Maintenance Mode | 13 |
Satellite Disconnected | 23 |
Scheduled | 7 |
Server Disabled | 22 |
Server Maintenance Mode | 26 |
Startup Pause | 8 |
Training | 12 |
Unlicensed | 9 |