Policies API.
Created Mar 27, 2024 at 07:12 PM

Overview

Overview

The documentation pages in this section describe the RESTful APIs included with NetProfiler products. It is assumed that the reader has practical knowledge of RESTful APIs, so the documentation does not go into detail about what REST is and how to use it. Instead the documentation focuses on what policies can be accessed and how to configure them.

The following operations can be performed via the API:

  • Display Health Policies.
  • Configure Health Policies.
  • Display Perf/Avail Policies.
  • Configure Perf/Avail Policies.
  • Display Perf/Avail Policy by Name.
  • Update Perf/Avail Policy by Name.

Details about REST resources can be found in the Resources section. This overview continues with how to run these API's.

Authentication

All REST requests must be authenticated. The Authentication section of the Common API describes which authentication methods are presently supported.

Resources

HealthPolicies: Display Policy Settings

Displays Health Policies Settings.

GET https://{device}/api/mgmt.netprofiler_policies/1.0/health_policies
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "Health Policies": {
    "Data Source Problem": {
      "Enabled": string,
      "High Alerts": number,
      "Advanced Settings": {
        "Disconnects": string,
        "Protocol Violations": string,
        "Silent Interfaces": string,
        "Interface Silence Tolerance": string,
        "Sensor Application Matching Problems": string
      }
    },
    "Hardware Problem": {
      "Enabled": string,
      "High Alerts": number,
      "Advanced Settings": {
        "Fan Failure": string,
        "Power Failure": string,
        "High Temperature": string,
        "CPU Issue": string,
        "Memory Issue": string
      }
    },
    "Module Problem": {
      "Enabled": string,
      "High Alerts": number,
      "Advanced Settings": {
        "Module Failure": string,
        "Process Failure": string,
        "Time Unsynchronized": string,
        "System Process Crashed": string,
        "Flow Limit Breached": string
      }
    },
    "Storage Problem": {
      "Enabled": string,
      "High Alerts": number,
      "Advanced Settings": string
    }
  }
}

Example:
{
  "Health Policies": {
    "Data Source Problem": {
      "Enabled": "True", 
      "High Alerts": 0, 
      "Advanced Settings": {
        "Disconnects": "true", 
        "Protocol Violations": "false", 
        "Silent Interfaces": "true", 
        "Interface Silence Tolerance": "2", 
        "Sensor Application Matching Problems": "true"
      }
    }, 
    "Hardware Problem": {
      "Enabled": "True", 
      "High Alerts": 0, 
      "Advanced Settings": {
        "Fan Failure": "true", 
        "Power Failure": "true", 
        "High Temperature": "true", 
        "CPU Issue": "true", 
        "Memory Issue": "true"
      }
    }, 
    "Module Problem": {
      "Enabled": "True", 
      "High Alerts": 0, 
      "Advanced Settings": {
        "Module Failure": "true", 
        "Process Failure": "true", 
        "Time Unsynchronized": "true", 
        "System Process Crashed": "true", 
        "Flow Limit Breached": "true"
      }
    }, 
    "Storage Problem": {
      "Enabled": "True", 
      "High Alerts": 0, 
      "Advanced Settings": "NA"
    }
  }
}
Property Name Type Description Notes
response <object> Displays Health Policies Current Settings.
response.Health Policies <object> Health Policies.
response.Health Policies.
Data Source Problem
<object> Data Source Problem Policy.
response.Health Policies.
Data Source Problem.Enabled
<string> Displays if Data Source Problem Settings is enabled or not.
response.Health Policies.
Data Source Problem.High Alerts
<number> Displays High alerts count.
response.Health Policies.
Data Source Problem.Advanced Settings
<object> Displays Data Source Problem Advanced Settings.
response.Health Policies.
Data Source Problem.Advanced Settings.
Disconnects
<string> Displays Data Source Disconnects Settings is enabled or not.
response.Health Policies.
Data Source Problem.Advanced Settings.
Protocol Violations
<string> Displays Data Source Protocol Violations Settings is enabled or not.
response.Health Policies.
Data Source Problem.Advanced Settings.
Silent Interfaces
<string> Displays if Silent Interfaces Settings is enabled or not.
response.Health Policies.
Data Source Problem.Advanced Settings.
Interface Silence Tolerance
<string> Displays value for Interface Silence Tolerance.
response.Health Policies.
Data Source Problem.Advanced Settings.
Sensor Application Matching Problems
<string> Displays if Sensor Application Matching Problems Settings is enabled or not.
response.Health Policies.
Hardware Problem
<object> Hardware Problem Policy.
response.Health Policies.
Hardware Problem.Enabled
<string> Displays if Hardware Problem Settings is enabled or not.
response.Health Policies.
Hardware Problem.High Alerts
<number> Displays High alerts count.
response.Health Policies.
Hardware Problem.Advanced Settings
<object> Displays Hardware Problem Advanced Settings.
response.Health Policies.
Hardware Problem.Advanced Settings.
Fan Failure
<string> Displays Fan Failure setting is enabled or not.
response.Health Policies.
Hardware Problem.Advanced Settings.
Power Failure
<string> Displays Power Failure setting is enabled or not.
response.Health Policies.
Hardware Problem.Advanced Settings.
High Temperature
<string> Displays High Temperature setting is enabled or not.
response.Health Policies.
Hardware Problem.Advanced Settings.
CPU Issue
<string> Displays CPU Issue setting is enabled or not.
response.Health Policies.
Hardware Problem.Advanced Settings.
Memory Issue
<string> Displays Memory Issue setting is enabled or not.
response.Health Policies.Module Problem <object> Module Problem Policy.
response.Health Policies.Module Problem.
Enabled
<string> Displays if Module Problem Settings is enabled or not.
response.Health Policies.Module Problem.
High Alerts
<number> Displays High alerts count.
response.Health Policies.Module Problem.
Advanced Settings
<object> Displays Module Problem Advanced Settings.
response.Health Policies.Module Problem.
Advanced Settings.Module Failure
<string> Displays Module Failure setting is enabled or not.
response.Health Policies.Module Problem.
Advanced Settings.Process Failure
<string> Displays Process Failure setting is enabled or not.
response.Health Policies.Module Problem.
Advanced Settings.Time Unsynchronized
<string> Displays Time Unsynchronized setting is enabled or not.
response.Health Policies.Module Problem.
Advanced Settings.
System Process Crashed
<string> Displays System Process Crashed setting is enabled or not.
response.Health Policies.Module Problem.
Advanced Settings.Flow Limit Breached
<string> Displays Flow Limit Breached setting is enabled or not.
response.Health Policies.Storage Problem <object> Storage Problem Policy.
response.Health Policies.Storage Problem.
Enabled
<string> Displays if Storage Problem Settings is enabled or not.
response.Health Policies.Storage Problem.
High Alerts
<number> Displays High alerts count.
response.Health Policies.Storage Problem.
Advanced Settings
<string> Advanced are unavailable by default and will displayed as NA.

HealthPolicies: Configure Policy Settings

Configure Health Policies Settings.

POST https://{device}/api/mgmt.netprofiler_policies/1.0/health_policies
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "Health Policies": {
    "Data Source Problem": {
      "Enabled": string,
      "High Alerts": number,
      "Advanced Settings": {
        "Disconnects": string,
        "Protocol Violations": string,
        "Silent Interfaces": string,
        "Interface Silence Tolerance": string,
        "Sensor Application Matching Problems": string
      }
    },
    "Hardware Problem": {
      "Enabled": string,
      "High Alerts": number,
      "Advanced Settings": {
        "Fan Failure": string,
        "Power Failure": string,
        "High Temperature": string,
        "CPU Issue": string,
        "Memory Issue": string
      }
    },
    "Module Problem": {
      "Enabled": string,
      "High Alerts": number,
      "Advanced Settings": {
        "Module Failure": string,
        "Process Failure": string,
        "Time Unsynchronized": string,
        "System Process Crashed": string,
        "Flow Limit Breached": string
      }
    }
  }
}

Example:
{
  "Health Policies": {
    "Data Source Problem": {
      "Enabled": "True", 
      "High Alerts": 0, 
      "Advanced Settings": {
        "Disconnects": "true", 
        "Protocol Violations": "true", 
        "Silent Interfaces": "true", 
        "Interface Silence Tolerance": "2", 
        "Sensor Application Matching Problems": "true"
      }
    }, 
    "Hardware Problem": {
      "Enabled": "True", 
      "High Alerts": 0, 
      "Advanced Settings": {
        "Fan Failure": "true", 
        "Power Failure": "true", 
        "High Temperature": "true", 
        "CPU Issue": "true", 
        "Memory Issue": "true"
      }
    }, 
    "Module Problem": {
      "Enabled": "True", 
      "High Alerts": 0, 
      "Advanced Settings": {
        "Module Failure": "true", 
        "Process Failure": "true", 
        "Time Unsynchronized": "true", 
        "System Process Crashed": "true", 
        "Flow Limit Breached": "true"
      }
    }
  }
}
Property Name Type Description Notes
request <object> Configures Health Policies With New Settings.
request.Health Policies <object> Health Policies.
request.Health Policies.
Data Source Problem
<object> Data Source Problem Policy.
request.Health Policies.
Data Source Problem.Enabled
<string> Displays if Data Source Problem Settings is enabled or not.
request.Health Policies.
Data Source Problem.High Alerts
<number> High alerts count.
request.Health Policies.
Data Source Problem.Advanced Settings
<object> Configure Data Source Problem Advanced Settings.
request.Health Policies.
Data Source Problem.Advanced Settings.
Disconnects
<string> Configure Data Source Disconnects Settings.
request.Health Policies.
Data Source Problem.Advanced Settings.
Protocol Violations
<string> Configure Data Source Protocol Violations Settings.
request.Health Policies.
Data Source Problem.Advanced Settings.
Silent Interfaces
<string> Configure Silent Interfaces Settings.
request.Health Policies.
Data Source Problem.Advanced Settings.
Interface Silence Tolerance
<string> Configure value for Interface Silence Tolerance.
request.Health Policies.
Data Source Problem.Advanced Settings.
Sensor Application Matching Problems
<string> Configure Sensor Application Matching Problems Settings.
request.Health Policies.Hardware Problem <object> Hardware Problem Policy.
request.Health Policies.Hardware Problem.
Enabled
<string> Displays if Hardware Problem Settings is enabled or not.
request.Health Policies.Hardware Problem.
High Alerts
<number> High alerts count.
request.Health Policies.Hardware Problem.
Advanced Settings
<object> Configure Hardware Problem Advanced Settings.
request.Health Policies.Hardware Problem.
Advanced Settings.Fan Failure
<string> Configure Fan Failure setting.
request.Health Policies.Hardware Problem.
Advanced Settings.Power Failure
<string> Configure Power Failure setting.
request.Health Policies.Hardware Problem.
Advanced Settings.High Temperature
<string> Configure High Temperature setting.
request.Health Policies.Hardware Problem.
Advanced Settings.CPU Issue
<string> Configure CPU Issue setting.
request.Health Policies.Hardware Problem.
Advanced Settings.Memory Issue
<string> Configure Memory Issue setting.
request.Health Policies.Module Problem <object> Module Problem Policy.
request.Health Policies.Module Problem.
Enabled
<string> Displays if Module Problem Settings is enabled or not.
request.Health Policies.Module Problem.
High Alerts
<number> High alerts count.
request.Health Policies.Module Problem.
Advanced Settings
<object> Configure Module Problem Advanced Settings.
request.Health Policies.Module Problem.
Advanced Settings.Module Failure
<string> Configure Module Failure setting.
request.Health Policies.Module Problem.
Advanced Settings.Process Failure
<string> Configure Process Failure setting.
request.Health Policies.Module Problem.
Advanced Settings.Time Unsynchronized
<string> Configure Time Unsynchronized setting.
request.Health Policies.Module Problem.
Advanced Settings.
System Process Crashed
<string> Configure System Process Crashed setting.
request.Health Policies.Module Problem.
Advanced Settings.Flow Limit Breached
<string> Configure Flow Limit Breached setting.
Response Body

On success, the server does not provide any body in the responses.

Perf/AvailPolicies: Display Perf/Avail Policies

Display current Performance and Availability Policies.

GET https://{device}/api/mgmt.netprofiler_policies/1.0/perf_availability
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
[
  {
    "policy_type": number,
    "event_name": string,
    "analytic_type": number,
    "analytic_name": string,
    "rule_id": number,
    "aggregation_interval": number,
    "enabled": boolean,
    "description": string,
    "metrics": [
      {
        "name": string,
        "id": number,
        "tolerance_high": number,
        "tolerance_low": number,
        "noise_floor": number,
        "duration": number,
        "trigger_on_increases": boolean,
        "trigger_on_decreases": boolean
      }
    ],
    "notifications": [
      {
        "notification_type": string,
        "enabled": boolean,
        "recipient": number,
        "recipient_name": string
      }
    ],
    "selexpr": [
      {
        "expr_type": string,
        "expr_value": string
      }
    ]
  }
]

Example:
[
  {
    "policy_type": 301989914, 
    "event_name": "Link_Con_Test_01", 
    "analytic_type": 18, 
    "analytic_name": "Link Congestion", 
    "rule_id": 26, 
    "aggregation_interval": 900, 
    "enabled": true, 
    "description": "Link_Con_Test_01", 
    "metrics": [
      {
        "name": "bytes_in", 
        "id": 7, 
        "tolerance_high": 8, 
        "tolerance_low": 6, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "thresh_high_enabled": false, 
        "thresh_high": 95, 
        "thresh_low_enabled": false, 
        "thresh_low": 0
      }, 
      {
        "name": "bytes_out", 
        "id": 8, 
        "tolerance_high": 7, 
        "tolerance_low": 6, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "thresh_high_enabled": false, 
        "thresh_high": 95, 
        "thresh_low_enabled": false, 
        "thresh_low": 0
      }
    ], 
    "notifications": [
      {
        "notification_type": "low", 
        "enabled": true, 
        "recipient": 1, 
        "recipient_name": "Default"
      }, 
      {
        "notification_type": "high", 
        "enabled": true, 
        "recipient": 1, 
        "recipient_name": "Default"
      }
    ], 
    "selexpr": [
      {
        "expr_type": "apps", 
        "expr_value": ""
      }, 
      {
        "expr_type": "ports", 
        "expr_value": ""
      }, 
      {
        "expr_type": "appports", 
        "expr_value": ""
      }, 
      {
        "expr_type": "hosts", 
        "expr_value": ""
      }, 
      {
        "expr_type": "servers", 
        "expr_value": ""
      }, 
      {
        "expr_type": "servers_excluded", 
        "expr_value": ""
      }, 
      {
        "expr_type": "clients", 
        "expr_value": ""
      }, 
      {
        "expr_type": "clients_excluded", 
        "expr_value": ""
      }, 
      {
        "expr_type": "client_location", 
        "expr_value": ""
      }, 
      {
        "expr_type": "interface", 
        "expr_value": "10.38.130.100:1000"
      }, 
      {
        "expr_type": "dscp", 
        "expr_value": ""
      }
    ]
  }, 
  {
    "policy_type": 335544345, 
    "event_name": "App_Perf_Test_01", 
    "analytic_type": 20, 
    "analytic_name": "Application Performance", 
    "rule_id": 25, 
    "aggregation_interval": 900, 
    "enabled": true, 
    "description": "App_Perf_Test_01", 
    "metrics": [
      {
        "name": "conns_new", 
        "id": 2, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "conns_active", 
        "id": 11, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "conns_duration", 
        "id": 12, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "resp", 
        "id": 4, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "rsts", 
        "id": 5, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "retransbw", 
        "id": 9, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "app_thruput_persecconn", 
        "id": 13, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": false, 
        "trigger_on_decreases": true
      }
    ], 
    "notifications": [
      {
        "notification_type": "low", 
        "enabled": true, 
        "recipient": 1, 
        "recipient_name": "Default"
      }, 
      {
        "notification_type": "high", 
        "enabled": true, 
        "recipient": 1, 
        "recipient_name": "Default"
      }
    ], 
    "selexpr": [
      {
        "expr_type": "apps", 
        "expr_value": ""
      }, 
      {
        "expr_type": "ports", 
        "expr_value": "TCP/22"
      }, 
      {
        "expr_type": "appports", 
        "expr_value": ""
      }, 
      {
        "expr_type": "hosts", 
        "expr_value": ""
      }, 
      {
        "expr_type": "servers", 
        "expr_value": "10.38/16"
      }, 
      {
        "expr_type": "servers_excluded", 
        "expr_value": ""
      }, 
      {
        "expr_type": "clients", 
        "expr_value": ""
      }, 
      {
        "expr_type": "clients_excluded", 
        "expr_value": ""
      }, 
      {
        "expr_type": "client_location", 
        "expr_value": ""
      }, 
      {
        "expr_type": "interface", 
        "expr_value": ""
      }, 
      {
        "expr_type": "dscp", 
        "expr_value": ""
      }
    ]
  }
]
Property Name Type Description Notes
perf_avail_policies <array of <object>> Current Performance and Availability Policies.
perf_avail_policies[perf_avail_policy] <object> Performance and Availability Policy Optional
perf_avail_policies[perf_avail_policy].
policy_type
<number> Type of this policy. This is assigned by the system and can't be changed Optional
perf_avail_policies[perf_avail_policy].
event_name
<string> Name of this policy. Name given to the policy by the user when it is created. Optional
perf_avail_policies[perf_avail_policy].
analytic_type
<number> Numeric type of this policy (17:Application Availability, 18:Link Congestion, 19:Link Outage, and 20:Application Performance) Optional
perf_avail_policies[perf_avail_policy].
analytic_name
<string> User frendly name for the 'analytic_type'. Can't be changed. Optional
perf_avail_policies[perf_avail_policy].
rule_id
<number> System defined ID for this policy. Optional
perf_avail_policies[perf_avail_policy].
aggregation_interval
<number> Data Aggregation Interval for this Policy in seconds. Optional
perf_avail_policies[perf_avail_policy].
enabled
<boolean> Boolean: This policy is enabled. Optional
perf_avail_policies[perf_avail_policy].
description
<string> Free form policy description. May be changed at any time. Optional
perf_avail_policies[perf_avail_policy].
metrics
<array of <object>> Policy Metrics
perf_avail_policies[perf_avail_policy].
metrics[metric]
<object> Policy Metric
perf_avail_policies[perf_avail_policy].
metrics[metric].name
<string> System name of this Metric. Can't be changed. Optional
perf_avail_policies[perf_avail_policy].
metrics[metric].id
<number> System ID of this Metric. Can't be changed. Optional
perf_avail_policies[perf_avail_policy].
metrics[metric].tolerance_high
<number> High Analytic Tolarance for this metric. This setting can be changed. Optional
perf_avail_policies[perf_avail_policy].
metrics[metric].tolerance_low
<number> Low Analytic Tolarance for this metric. This setting can be changed. Optional
perf_avail_policies[perf_avail_policy].
metrics[metric].noise_floor
<number> Analytic Noise noise_floor for this metric. This setting can be changed. Optional
perf_avail_policies[perf_avail_policy].
metrics[metric].duration
<number> Required duration of anomoly required to trigger this metric. May not be edited. Optional
perf_avail_policies[perf_avail_policy].
metrics[metric].trigger_on_increases
<boolean> Boolean: This policy will trigger on increase. May not be edited. Optional
perf_avail_policies[perf_avail_policy].
metrics[metric].trigger_on_decreases
<boolean> Boolean: This policy will trigger on decrease. May not be edited. Optional
perf_avail_policies[perf_avail_policy].
notifications
<array of <object>> Event Notifications
perf_avail_policies[perf_avail_policy].
notifications[event_notification]
<object> Event Notification
perf_avail_policies[perf_avail_policy].
notifications[event_notification].
notification_type
<string> The 'type of this notification ('high', 'medium', or 'low). Optional
perf_avail_policies[perf_avail_policy].
notifications[event_notification].
enabled
<boolean> Boolean: Is this notification active. Optional
perf_avail_policies[perf_avail_policy].
notifications[event_notification].
recipient
<number> The system numeric ID for this recipient. Optional
perf_avail_policies[perf_avail_policy].
notifications[event_notification].
recipient_name
<string> The system name for this recipient. Optional
perf_avail_policies[perf_avail_policy].
selexpr
<array of <object>> Policy Selector Expressions.
perf_avail_policies[perf_avail_policy].
selexpr[selector_expression]
<object> Selector Expression
perf_avail_policies[perf_avail_policy].
selexpr[selector_expression].expr_type
<string> Expression type ('apps', 'ports', 'appports', 'hosts', 'servers', 'servers_excluded', 'clients', 'clients_excluded', 'client_location', 'interface', or 'dscp') Optional
perf_avail_policies[perf_avail_policy].
selexpr[selector_expression].
expr_value
<string> Expression Value Optional

Perf/AvailPolicies: Configure Perf/Avail Policies

Configure Performance and Availability Policies.

POST https://{device}/api/mgmt.netprofiler_policies/1.0/perf_availability
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
[
  {
    "policy_type": number,
    "event_name": string,
    "analytic_type": number,
    "analytic_name": string,
    "rule_id": number,
    "aggregation_interval": number,
    "enabled": boolean,
    "description": string,
    "metrics": [
      {
        "name": string,
        "id": number,
        "tolerance_high": number,
        "tolerance_low": number,
        "noise_floor": number,
        "duration": number,
        "trigger_on_increases": boolean,
        "trigger_on_decreases": boolean
      }
    ],
    "notifications": [
      {
        "notification_type": string,
        "enabled": boolean,
        "recipient": number,
        "recipient_name": string
      }
    ],
    "selexpr": [
      {
        "expr_type": string,
        "expr_value": string
      }
    ]
  }
]

Example:
[
  {
    "policy_type": 301989914, 
    "event_name": "Link_Con_Test_01", 
    "analytic_type": 18, 
    "analytic_name": "Link Congestion", 
    "rule_id": 26, 
    "aggregation_interval": 900, 
    "enabled": true, 
    "description": "Link_Con_Test_01", 
    "metrics": [
      {
        "name": "bytes_in", 
        "id": 7, 
        "tolerance_high": 8, 
        "tolerance_low": 6, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "thresh_high_enabled": false, 
        "thresh_high": 95, 
        "thresh_low_enabled": false, 
        "thresh_low": 0
      }, 
      {
        "name": "bytes_out", 
        "id": 8, 
        "tolerance_high": 7, 
        "tolerance_low": 6, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false, 
        "thresh_high_enabled": false, 
        "thresh_high": 95, 
        "thresh_low_enabled": false, 
        "thresh_low": 0
      }
    ], 
    "notifications": [
      {
        "notification_type": "low", 
        "enabled": true, 
        "recipient": 1, 
        "recipient_name": "Default"
      }, 
      {
        "notification_type": "high", 
        "enabled": true, 
        "recipient": 1, 
        "recipient_name": "Default"
      }
    ], 
    "selexpr": [
      {
        "expr_type": "apps", 
        "expr_value": ""
      }, 
      {
        "expr_type": "ports", 
        "expr_value": ""
      }, 
      {
        "expr_type": "appports", 
        "expr_value": ""
      }, 
      {
        "expr_type": "hosts", 
        "expr_value": ""
      }, 
      {
        "expr_type": "servers", 
        "expr_value": ""
      }, 
      {
        "expr_type": "servers_excluded", 
        "expr_value": ""
      }, 
      {
        "expr_type": "clients", 
        "expr_value": ""
      }, 
      {
        "expr_type": "clients_excluded", 
        "expr_value": ""
      }, 
      {
        "expr_type": "client_location", 
        "expr_value": ""
      }, 
      {
        "expr_type": "interface", 
        "expr_value": "10.38.130.100:1000"
      }, 
      {
        "expr_type": "dscp", 
        "expr_value": ""
      }
    ]
  }, 
  {
    "policy_type": 335544345, 
    "event_name": "App_Perf_Test_01", 
    "analytic_type": 20, 
    "analytic_name": "Application Performance", 
    "rule_id": 25, 
    "aggregation_interval": 900, 
    "enabled": true, 
    "description": "App_Perf_Test_01", 
    "metrics": [
      {
        "name": "conns_new", 
        "id": 2, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "conns_active", 
        "id": 11, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "conns_duration", 
        "id": 12, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "resp", 
        "id": 4, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "rsts", 
        "id": 5, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "retransbw", 
        "id": 9, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": true, 
        "trigger_on_decreases": false
      }, 
      {
        "name": "app_thruput_persecconn", 
        "id": 13, 
        "tolerance_high": 8, 
        "tolerance_low": 7, 
        "noise_floor": 0, 
        "duration": 1, 
        "trigger_on_increases": false, 
        "trigger_on_decreases": true
      }
    ], 
    "notifications": [
      {
        "notification_type": "low", 
        "enabled": true, 
        "recipient": 1, 
        "recipient_name": "Default"
      }, 
      {
        "notification_type": "high", 
        "enabled": true, 
        "recipient": 1, 
        "recipient_name": "Default"
      }
    ], 
    "selexpr": [
      {
        "expr_type": "apps", 
        "expr_value": ""
      }, 
      {
        "expr_type": "ports", 
        "expr_value": "TCP/22"
      }, 
      {
        "expr_type": "appports", 
        "expr_value": ""
      }, 
      {
        "expr_type": "hosts", 
        "expr_value": ""
      }, 
      {
        "expr_type": "servers", 
        "expr_value": "10.38/16"
      }, 
      {
        "expr_type": "servers_excluded", 
        "expr_value": ""
      }, 
      {
        "expr_type": "clients", 
        "expr_value": ""
      }, 
      {
        "expr_type": "clients_excluded", 
        "expr_value": ""
      }, 
      {
        "expr_type": "client_location", 
        "expr_value": ""
      }, 
      {
        "expr_type": "interface", 
        "expr_value": ""
      }, 
      {
        "expr_type": "dscp", 
        "expr_value": ""
      }
    ]
  }
]
Property Name Type Description Notes
new_update_perf_avail_policies <array of <object>> New/Updated Performance and Availability Policies.
new_update_perf_avail_policies
[new_update_perf_avail_policy]
<object> New/Updated Performance and Availability Policy Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
policy_type
<number> Type of this policy. Required to alter existing policy. Will be ignored for new policies. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
event_name
<string> Name of this policy. Name given to the policy by the user when it is created. Can't be edited Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
analytic_type
<number> Numeric type of this policy (17:Application Availability, 18:Link Congestion, 19:Link Outage, and 20:Application Performance) Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
analytic_name
<string> User frendly name for the 'analytic_type'. Can't be edited. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].rule_id
<number> System defined ID for this policy. Required to alter existing policy. Will be ignored for new policies. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
aggregation_interval
<number> Data Aggregation Interval for this Policy in seconds. Can't be edited. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].enabled
<boolean> Boolean: This policy is enabled. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
description
<string> Free form policy description. May be changed at any time. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
<array of <object>> Policy Metrics
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
[metric]
<object> Policy Metric
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
[metric].name
<string> System name of this Metric. Can't be changed. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
[metric].id
<number> System ID of this Metric. Can't be changed. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
[metric].tolerance_high
<number> High Analytic Tolarance for this metric. This setting can be changed. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
[metric].tolerance_low
<number> Low Analytic Tolarance for this metric. This setting can be changed. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
[metric].noise_floor
<number> Analytic Noise noise_floor for this metric. This setting can be changed. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
[metric].duration
<number> Required duration of anomoly required to trigger this metric. May not be edited. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
[metric].trigger_on_increases
<boolean> Boolean: This policy will trigger on increase. May not be edited. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].metrics
[metric].trigger_on_decreases
<boolean> Boolean: This policy will trigger on decrease. May not be edited. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
notifications
<array of <object>> Event Notifications
new_update_perf_avail_policies
[new_update_perf_avail_policy].
notifications[event_notification]
<object> Event Notification
new_update_perf_avail_policies
[new_update_perf_avail_policy].
notifications[event_notification].
notification_type
<string> The 'type of this notification ('high', 'medium', or 'low). Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
notifications[event_notification].
enabled
<boolean> Boolean: Is this notification active. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
notifications[event_notification].
recipient
<number> The system numeric ID for this recipient. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].
notifications[event_notification].
recipient_name
<string> The system name for this recipient. Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].selexpr
<array of <object>> Policy Selector Expressions. These settings can only be entered at policy creation. Can't be edited.
new_update_perf_avail_policies
[new_update_perf_avail_policy].selexpr
[selector_expression]
<object> Selector Expression
new_update_perf_avail_policies
[new_update_perf_avail_policy].selexpr
[selector_expression].expr_type
<string> Expression type ('apps', 'ports', 'appports', 'hosts', 'servers', 'servers_excluded', 'clients', 'clients_excluded', 'client_location', 'interface', or 'dscp') Optional
new_update_perf_avail_policies
[new_update_perf_avail_policy].selexpr
[selector_expression].expr_value
<string> Expression Value Optional
Response Body

On success, the server does not provide any body in the responses.

Perf/AvailPolicies: Display Perf/Avail Policy by Name

Display a Performance and Availability Policy by Name.

GET https://{device}/api/mgmt.netprofiler_policies/1.0/perf_availability/{event_name}
Authorization

This request requires authorization.

Response Body

On success, the server returns a response body with the following structure:

  • JSON
{
  "policy_type": number,
  "event_name": string,
  "analytic_type": number,
  "analytic_name": string,
  "rule_id": number,
  "aggregation_interval": number,
  "enabled": boolean,
  "description": string,
  "metrics": [
    {
      "name": string,
      "id": number,
      "tolerance_high": number,
      "tolerance_low": number,
      "noise_floor": number,
      "duration": number,
      "trigger_on_increases": boolean,
      "trigger_on_decreases": boolean
    }
  ],
  "notifications": [
    {
      "notification_type": string,
      "enabled": boolean,
      "recipient": number,
      "recipient_name": string
    }
  ],
  "selexpr": [
    {
      "expr_type": string,
      "expr_value": string
    }
  ]
}

Example:
{
  "policy_type": 301989914, 
  "event_name": "Link_Con_Test_01", 
  "analytic_type": 18, 
  "analytic_name": "Link Congestion", 
  "rule_id": 26, 
  "aggregation_interval": 900, 
  "enabled": true, 
  "description": "Link_Con_Test_01", 
  "metrics": [
    {
      "name": "bytes_in", 
      "id": 7, 
      "tolerance_high": 8, 
      "tolerance_low": 6, 
      "noise_floor": 0, 
      "duration": 1, 
      "trigger_on_increases": true, 
      "trigger_on_decreases": false, 
      "thresh_high_enabled": false, 
      "thresh_high": 95, 
      "thresh_low_enabled": false, 
      "thresh_low": 0
    }, 
    {
      "name": "bytes_out", 
      "id": 8, 
      "tolerance_high": 7, 
      "tolerance_low": 6, 
      "noise_floor": 0, 
      "duration": 1, 
      "trigger_on_increases": true, 
      "trigger_on_decreases": false, 
      "thresh_high_enabled": false, 
      "thresh_high": 95, 
      "thresh_low_enabled": false, 
      "thresh_low": 0
    }
  ], 
  "notifications": [
    {
      "notification_type": "low", 
      "enabled": true, 
      "recipient": 1, 
      "recipient_name": "Default"
    }, 
    {
      "notification_type": "high", 
      "enabled": true, 
      "recipient": 1, 
      "recipient_name": "Default"
    }
  ], 
  "selexpr": [
    {
      "expr_type": "apps", 
      "expr_value": ""
    }, 
    {
      "expr_type": "ports", 
      "expr_value": ""
    }, 
    {
      "expr_type": "appports", 
      "expr_value": ""
    }, 
    {
      "expr_type": "hosts", 
      "expr_value": ""
    }, 
    {
      "expr_type": "servers", 
      "expr_value": ""
    }, 
    {
      "expr_type": "servers_excluded", 
      "expr_value": ""
    }, 
    {
      "expr_type": "clients", 
      "expr_value": ""
    }, 
    {
      "expr_type": "clients_excluded", 
      "expr_value": ""
    }, 
    {
      "expr_type": "client_location", 
      "expr_value": ""
    }, 
    {
      "expr_type": "interface", 
      "expr_value": "10.38.130.100:1000"
    }, 
    {
      "expr_type": "dscp", 
      "expr_value": ""
    }
  ]
}
Property Name Type Description Notes
single_perf_avail_policy <object> Display Performance and Availability Policy by Name.
single_perf_avail_policy.policy_type <number> Type of this policy. Required to alter existing policy. Will be ignored for new policies. Optional
single_perf_avail_policy.event_name <string> Name of this policy. Name given to the policy by the user when it is created. Can't be edited Optional
single_perf_avail_policy.analytic_type <number> Numeric type of this policy (17:Application Availability, 18:Link Congestion, 19:Link Outage, and 20:Application Performance) Optional
single_perf_avail_policy.analytic_name <string> User frendly name for the 'analytic_type'. Can't be edited. Optional
single_perf_avail_policy.rule_id <number> System defined ID for this policy. Required to alter existing policy. Will be ignored for new policies. Optional
single_perf_avail_policy.
aggregation_interval
<number> Data Aggregation Interval for this Policy in seconds. Can't be edited. Optional
single_perf_avail_policy.enabled <boolean> Boolean: This policy is enabled. Optional
single_perf_avail_policy.description <string> Free form policy description. May be changed at any time. Optional
single_perf_avail_policy.metrics <array of <object>> Policy Metrics
single_perf_avail_policy.metrics[metric] <object> Policy Metric
single_perf_avail_policy.metrics[metric].
name
<string> System name of this Metric. Can't be changed. Optional
single_perf_avail_policy.metrics[metric].
id
<number> System ID of this Metric. Can't be changed. Optional
single_perf_avail_policy.metrics[metric].
tolerance_high
<number> High Analytic Tolarance for this metric. This setting can be changed. Optional
single_perf_avail_policy.metrics[metric].
tolerance_low
<number> Low Analytic Tolarance for this metric. This setting can be changed. Optional
single_perf_avail_policy.metrics[metric].
noise_floor
<number> Analytic Noise noise_floor for this metric. This setting can be changed. Optional
single_perf_avail_policy.metrics[metric].
duration
<number> Required duration of anomoly required to trigger this metric. May not be edited. Optional
single_perf_avail_policy.metrics[metric].
trigger_on_increases
<boolean> Boolean: This policy will trigger on increase. May not be edited. Optional
single_perf_avail_policy.metrics[metric].
trigger_on_decreases
<boolean> Boolean: This policy will trigger on decrease. May not be edited. Optional
single_perf_avail_policy.notifications <array of <object>> Event Notifications
single_perf_avail_policy.notifications
[event_notification]
<object> Event Notification
single_perf_avail_policy.notifications
[event_notification].notification_type
<string> The 'type of this notification ('high', 'medium', or 'low). Optional
single_perf_avail_policy.notifications
[event_notification].enabled
<boolean> Boolean: Is this notification active. Optional
single_perf_avail_policy.notifications
[event_notification].recipient
<number> The system numeric ID for this recipient. Optional
single_perf_avail_policy.notifications
[event_notification].recipient_name
<string> The system name for this recipient. Optional
single_perf_avail_policy.selexpr <array of <object>> Policy Selector Expressions. These settings can only be entered at policy creation. Can't be edited.
single_perf_avail_policy.selexpr
[selector_expression]
<object> Selector Expression
single_perf_avail_policy.selexpr
[selector_expression].expr_type
<string> Expression type ('apps', 'ports', 'appports', 'hosts', 'servers', 'servers_excluded', 'clients', 'clients_excluded', 'client_location', 'interface', or 'dscp') Optional
single_perf_avail_policy.selexpr
[selector_expression].expr_value
<string> Expression Value Optional

Perf/AvailPolicies: Update Perf/Avail Policy by Name

Update a Performance and Availability Policy by Name.

POST https://{device}/api/mgmt.netprofiler_policies/1.0/perf_availability/{event_name}
Authorization

This request requires authorization.

Request Body

Provide a request body with the following structure:

  • JSON
{
  "policy_type": number,
  "event_name": string,
  "analytic_type": number,
  "analytic_name": string,
  "rule_id": number,
  "aggregation_interval": number,
  "enabled": boolean,
  "description": string,
  "metrics": [
    {
      "name": string,
      "id": number,
      "tolerance_high": number,
      "tolerance_low": number,
      "noise_floor": number,
      "duration": number,
      "trigger_on_increases": boolean,
      "trigger_on_decreases": boolean
    }
  ],
  "notifications": [
    {
      "notification_type": string,
      "enabled": boolean,
      "recipient": number,
      "recipient_name": string
    }
  ],
  "selexpr": [
    {
      "expr_type": string,
      "expr_value": string
    }
  ]
}

Example:
{
  "policy_type": 301989914, 
  "event_name": "Link_Con_Test_01", 
  "analytic_type": 18, 
  "analytic_name": "Link Congestion", 
  "rule_id": 26, 
  "aggregation_interval": 900, 
  "enabled": true, 
  "description": "Link_Con_Test_01", 
  "metrics": [
    {
      "name": "bytes_in", 
      "id": 7, 
      "tolerance_high": 8, 
      "tolerance_low": 6, 
      "noise_floor": 0, 
      "duration": 1, 
      "trigger_on_increases": true, 
      "trigger_on_decreases": false, 
      "thresh_high_enabled": false, 
      "thresh_high": 95, 
      "thresh_low_enabled": false, 
      "thresh_low": 0
    }, 
    {
      "name": "bytes_out", 
      "id": 8, 
      "tolerance_high": 7, 
      "tolerance_low": 6, 
      "noise_floor": 0, 
      "duration": 1, 
      "trigger_on_increases": true, 
      "trigger_on_decreases": false, 
      "thresh_high_enabled": false, 
      "thresh_high": 95, 
      "thresh_low_enabled": false, 
      "thresh_low": 0
    }
  ], 
  "notifications": [
    {
      "notification_type": "low", 
      "enabled": true, 
      "recipient": 1, 
      "recipient_name": "Default"
    }, 
    {
      "notification_type": "high", 
      "enabled": true, 
      "recipient": 1, 
      "recipient_name": "Default"
    }
  ], 
  "selexpr": [
    {
      "expr_type": "apps", 
      "expr_value": ""
    }, 
    {
      "expr_type": "ports", 
      "expr_value": ""
    }, 
    {
      "expr_type": "appports", 
      "expr_value": ""
    }, 
    {
      "expr_type": "hosts", 
      "expr_value": ""
    }, 
    {
      "expr_type": "servers", 
      "expr_value": ""
    }, 
    {
      "expr_type": "servers_excluded", 
      "expr_value": ""
    }, 
    {
      "expr_type": "clients", 
      "expr_value": ""
    }, 
    {
      "expr_type": "clients_excluded", 
      "expr_value": ""
    }, 
    {
      "expr_type": "client_location", 
      "expr_value": ""
    }, 
    {
      "expr_type": "interface", 
      "expr_value": "10.38.130.100:1000"
    }, 
    {
      "expr_type": "dscp", 
      "expr_value": ""
    }
  ]
}
Property Name Type Description Notes
single_perf_avail_policy <object> Display Performance and Availability Policy by Name.
single_perf_avail_policy.policy_type <number> Type of this policy. Required to alter existing policy. Will be ignored for new policies. Optional
single_perf_avail_policy.event_name <string> Name of this policy. Name given to the policy by the user when it is created. Can't be edited Optional
single_perf_avail_policy.analytic_type <number> Numeric type of this policy (17:Application Availability, 18:Link Congestion, 19:Link Outage, and 20:Application Performance) Optional
single_perf_avail_policy.analytic_name <string> User frendly name for the 'analytic_type'. Can't be edited. Optional
single_perf_avail_policy.rule_id <number> System defined ID for this policy. Required to alter existing policy. Will be ignored for new policies. Optional
single_perf_avail_policy.
aggregation_interval
<number> Data Aggregation Interval for this Policy in seconds. Can't be edited. Optional
single_perf_avail_policy.enabled <boolean> Boolean: This policy is enabled. Optional
single_perf_avail_policy.description <string> Free form policy description. May be changed at any time. Optional
single_perf_avail_policy.metrics <array of <object>> Policy Metrics
single_perf_avail_policy.metrics[metric] <object> Policy Metric
single_perf_avail_policy.metrics[metric].
name
<string> System name of this Metric. Can't be changed. Optional
single_perf_avail_policy.metrics[metric].
id
<number> System ID of this Metric. Can't be changed. Optional
single_perf_avail_policy.metrics[metric].
tolerance_high
<number> High Analytic Tolarance for this metric. This setting can be changed. Optional
single_perf_avail_policy.metrics[metric].
tolerance_low
<number> Low Analytic Tolarance for this metric. This setting can be changed. Optional
single_perf_avail_policy.metrics[metric].
noise_floor
<number> Analytic Noise noise_floor for this metric. This setting can be changed. Optional
single_perf_avail_policy.metrics[metric].
duration
<number> Required duration of anomoly required to trigger this metric. May not be edited. Optional
single_perf_avail_policy.metrics[metric].
trigger_on_increases
<boolean> Boolean: This policy will trigger on increase. May not be edited. Optional
single_perf_avail_policy.metrics[metric].
trigger_on_decreases
<boolean> Boolean: This policy will trigger on decrease. May not be edited. Optional
single_perf_avail_policy.notifications <array of <object>> Event Notifications
single_perf_avail_policy.notifications
[event_notification]
<object> Event Notification
single_perf_avail_policy.notifications
[event_notification].notification_type
<string> The 'type of this notification ('high', 'medium', or 'low). Optional
single_perf_avail_policy.notifications
[event_notification].enabled
<boolean> Boolean: Is this notification active. Optional
single_perf_avail_policy.notifications
[event_notification].recipient
<number> The system numeric ID for this recipient. Optional
single_perf_avail_policy.notifications
[event_notification].recipient_name
<string> The system name for this recipient. Optional
single_perf_avail_policy.selexpr <array of <object>> Policy Selector Expressions. These settings can only be entered at policy creation. Can't be edited.
single_perf_avail_policy.selexpr
[selector_expression]
<object> Selector Expression
single_perf_avail_policy.selexpr
[selector_expression].expr_type
<string> Expression type ('apps', 'ports', 'appports', 'hosts', 'servers', 'servers_excluded', 'clients', 'clients_excluded', 'client_location', 'interface', or 'dscp') Optional
single_perf_avail_policy.selexpr
[selector_expression].expr_value
<string> Expression Value Optional
Response Body

On success, the server does not provide any body in the responses.

Error Codes

In the event that an error occurs while processing a request, the server will respond with appropriate HTTP status code and additional information in the response body:

{
     "error_id":   "{error identifier}",
     "error_text": "{error description}",
     "error_info": {error specific data structure, optional}
}

The table below lists the possible errors and the associated HTTP status codes that may returned.

Error ID HTTP Status Comments
PARTIAL_CONTENT 206 Operation was partially successfull.
BAD_REQUEST 400 Invalid argument.
AUTH_REQUIRED 401 Authentication required.
AUTH_INVALID_CREDENTIALS 401 Make sure the user name is correct and type your password again. Be sure to use the correct case for the user name and password.
INTERNAL_ERROR 500 Internal error.