The following example script describes how to monitor Cisco IPsec Phase-1 IKE Site-to-Site Tunnel status. The monitor observes the tunnels provided while assigning a template. Apply scripts on each device individually and not through device management policy.
Script - example
Script description
Import libraries
Import all libraries in this section based on your requirement.
Define a user-defined class
The user-defined class enables you to declare and initialize global variables.
Use the same metric name on the Setup > Monitoring > Monitors > Create a Monitor screen and in the script.
Implement business logic
Implement business logic using the following required function:
Do not change the method signature.
Parse user-defined input
Parse user-defined input using the following API methods depending on the component or monitor level scope:
- api.getComponentScopeMap();
- api.getComponentScopeMap(index);
- api.getMonitorScopeValue(key);

Query SNMP OIDs
Query SNMP OIDs using one of the following API methods based on your requirement:
- api.getSnmpRequest(String sOid);
- api.getSnmpRequest(String[] sOids);
- api.getSnmpRequest(String sOid, String format);
- api.getSnmpTable(String sOid);
- api.getSnmpTable(String sOid, String format);
Process SNMP OID results
Use one of the following API methods to store or delete previous poll values in the cache:
- api.getPersistantValue(uuid);
- api.deletePersistantValue(String uuid);
Use the following API methods to get device details into the script:
- api.getResourceIp();
- api.getResourceName();
- api.getResourceUuid();
Use the following API methods based on user requirement:
- api.getBigDecimalMetricValue(String instance, String metric);
- api.getInstanceNames();
- api.getMetrics(String instance);
- api.getStringMetricValue(String instance, String metric);
Add output metric values
Add output metric values in a standard JSON format using the following API methods based on your requirement:
- api.addOutputMetric(HashMap<String, HashMap<String, String» metricResultMap);
- api.addOutputMetric(String compName, HashMap<String, String> metricResultMap);
- api.addOutputMetric(String metric, String value);
- api.addOutputMetric(String metric, String instance, String value);
- api.addOutputMetric(String metric, String instance, int value);
- api.addOutputMetric(String metric, String instance, long value);
- api.addOutputMetric(String metric, String instance, double value);
- api.addOutputMetric(String metric, String instance, float value);