Administering ESC

ETSI Performance Reports

ESC allows you to collect the performance information of the VNFs such as metrics and notifications using the performance management job functionality. You must first create a performance management (PM) job. After creating the PM job, you can perform the following tasks:

  • Query, delete, or notify performance management jobs

  • Read an individual report, or obtain the performance reports

  • Configure the threshold of the performance management jobs

  • Query, delete or notify the threshold of the performance management jobs

  • Manage subscriptions, query, subscribe or terminate subscriptions

Performance Management Jobs

This section describes the performance management jobs.

Create Performance Management Job

You must create a performance management job to further query and run reports.

Method Type:

POST

VNFM Endpoint:

{api_root}/vnfpm/v1/pm_jobs (Data structure=CreatePmJobRequest)

Request Payload:


{
  "objectInstanceIds": [
    "cc6a34e5-0463-459a-b367-493ba997775f"
  ],
  "criteria": {
    "performanceMetric": [
      "default"
    ],
    "performanceMetricGroup": [
      "default"
    ],
    "collectionPeriod": 3600,
    "reportingPeriod": 14400
  }
}

Response Payload:


{
  "id": "13963644-11b0-4302-a13b-26ca3d9eb8f8",
  "objectInstanceIds": [
    "cc6a34e5-0463-459a-b367-493ba997775f "
  ],
  "criteria": {
    "performanceMetric": [
      "default"
    ],
    "performanceMetricGroup": [
      "default"
    ],
    "collectionPeriod": 3600,
    "reportingPeriod": 14400
  },
  "_links": {
    "self": {
      "href": "http://host:port/vnfpm/v1/pm_jobs/13963644-11b0-4302-a13b-26ca3d9eb8f8"
    },
    "objects": [
      {
        "href": "http://host:port/vnflcm/v1/vnf_instances/cc6a34e5-0463-459a-b367-493ba997775f"
      }
    ]
  }
}

Query an Individual Performance Management Job

The NFVO queries for the individual performance management job.

Method Type:

GET

VNFM Endpoint:

{api_root}/vnfpm/v1/pm_jobs/{pmJobId} or GET {api_root}/vnfpm/v1/pm_jobs/{pmJobId}

Request Payload:

NA.

Response Payload:


{
  "id": "13963644-11b0-4302-a13b-26ca3d9eb8f8",
  "objectInstanceIds": [
    "cc6a34e5-0463-459a-b367-493ba997775f "
  ],
  "criteria": {
    "performanceMetric": [
      "default"
    ],
    "performanceMetricGroup": [
      "default"
    ],
    "collectionPeriod": 3600,
    "reportingPeriod": 14400,
    "reports": [
      {
        "href": "uri_where_report_can_be_obtained",
        "readyTime": "2018-08-20T06:17:35.081+0000",
        "expiryTime": "2018-10-20T06:17:35.081+0000",
        "fileSize": "5000"
      }
    ]
  },
  "_links": {
    "self": {
      "href": "http://host:port/vnfpm/v1/pm_jobs/13963644-11b0-4302-a13b-26ca3d9eb8f8"
    },
    "objects": [
      {
        "href": "http://host:port/vnflcm/v1/vnf_instances/cc6a34e5-0463-459a-b367-493ba997775f"
      }
    ]
  }
}

Note

A reports section is added to the response payload (as shown above) only if a report is available.

All the attribute names and the data types referenced from the attribute names in the response payload are supported in the attribute-based filtering.


Query All Performance Management Jobs

The NFVO gets the list of all the performance management jobs.

Method Type:

GET

VNFM Endpoint:

{api_root}/vnfpm/v1/pm_jobs or GET {api_root}/vnfpm/v1/pm_jobs

Request Payload:

NA.

Response Payload:


{
  "id": "13963644-11b0-4302-a13b-26ca3d9eb8f8",
  "objectInstanceIds": [
    "cc6a34e5-0463-459a-b367-493ba997775f "
  ],
  "criteria": {
    "performanceMetric": [
      "default"
    ],
    "performanceMetricGroup": [
      "default"
    ],
    "collectionPeriod": 3600,
    "reportingPeriod": 14400,
    "reports": [
      {
        "href": "uri_where_report_can_be_obtained",
        "readyTime": "2018-08-20T06:17:35.081+0000",
        "expiryTime": "2018-10-20T06:17:35.081+0000",
        "fileSize": "5000"
      }
    ]
  },
  "_links": {
    "self": {
      "href": "http://host:port/vnfpm/v1/pm_jobs/13963644-11b0-4302-a13b-26ca3d9eb8f8"
    },
    "objects": [
      {
        "href": "http://host:port/vnflcm/v1/vnf_instances/cc6a34e5-0463-459a-b367-493ba997775f"
      }
    ]
  }
}

Note

A reports section is added to the response payload (as shown above) only if a report is available.

All the attribute names in the response payload and data types referenced from the attribute names are supported in the attribute-based filtering.


Delete a Performance Management Job

The NFVO sends a delete request to the existing performance management job.

DELETE {api_root}/vnfpm/v1/pm_jobs/{pmJobId}

The NFVO is notified using the PerformanceInformationAvailableNotification notification.

Configuring Threshold for Performance Management Job

This seciton describes how to set the threshold for the performance management jobs.

Create a Threshold

The NFVO sends a create request to create a threshold for the performance management job.

Method Type:

POST

VNFM Endpoint:

{api_root}/vnfpm/v1/thresholds (Datastructure=CreateThresholdRequest)

Request Payload:


{
  "objectInstanceId": "cc6a34e5-0463-459a-b367-493ba997775f",
  "criteria": {
    "performanceMetric": "default",
    "thresholdType": "SIMPLE",
    "simpleThresholdDetails": {
      "thresholdValue": 0.8,
      "hysteresis": 0.9
    }
  }
}

Response Payload:


{
  "id": "23f52511-9f72-4797-881b-c0f72e60a052",
  "objectInstanceId": "cc6a34e5-0463-459a-b367-493ba997775f",
  "criteria": {
    "performanceMetric": "default",
    "thresholdType": "SIMPLE",
    "simpleThresholdDetails": {
      "thresholdValue": 0.8,
      "hysteresis": 0.9
    }
  },
  "_links": {
    "self": {
      "href": "http://host:port/vnfpm/v1/thresholds/23f52511-9f72-4797-881b-c0f72e60a052"
    },
    "object": [
      {
        "href": "http://host:port/vnflcm/v1/vnf_instances/cc6a34e5-0463-459a-b367-493ba997775f"
      }
    ]
  }
}

Query an Individual Threshold

The NFVO can query the threshold of a performance management job.

GET

VNFM Endpoint:

{api_root}/vnfpm/v1/thresholds/{thresholdId}

Request Payload: NA

Response Payload:


{
  "id": "23f52511-9f72-4797-881b-c0f72e60a052",
  "objectInstanceId": "cc6a34e5-0463-459a-b367-493ba997775f",
  "criteria": {
    "performanceMetric": "default",
    "thresholdType": "SIMPLE",
    "simpleThresholdDetails": {
      "thresholdValue": 0.8,
      "hysteresis": 0.9
    }
  },
  "_links": {
    "self": {
      "href": "http://host:port/vnfpm/v1/thresholds/23f52511-9f72-4797-881b-c0f72e60a052"
    },
    "object": [
      {
        "href": "http://host:port/vnflcm/v1/vnf_instances/cc6a34e5-0463-459a-b367-493ba997775f"
      }
    ]
  }
}

Note

Attribute-based filtering is not possible when specifying a threshold id.

Query All Thresholds

The NFVO can query the threshold of a performance management job.

Method Type:

GET

VNFM Endpoint:

{api_root}/vnfpm/v1/thresholds

Request Payload: NA

Response Payload:


{
  "id": "23f52511-9f72-4797-881b-c0f72e60a052",
  "objectInstanceId": "cc6a34e5-0463-459a-b367-493ba997775f",
  "criteria": {
    "performanceMetric": "default",
    "thresholdType": "SIMPLE",
    "simpleThresholdDetails": {
      "thresholdValue": 0.8,
      "hysteresis": 0.9
    }
  },
  "_links": {
    "self": {
      "href": "http://host:port/vnfpm/v1/thresholds/23f52511-9f72-4797-881b-c0f72e60a052"
    },
    "object": [
      {
        "href": "http://host:port/vnflcm/v1/vnf_instances/cc6a34e5-0463-459a-b367-493ba997775f"
      }
    ]
  }
}

Note

All the attribute names in the response payload and data types referenced from the attribute names are supported in the attribute-based filtering.

Delete a Threshold

The NFVO sends a delete request to delete the threshold configuration of the existing performance management job.

DELETE {api_root}/vnfpm/v1/thresholds/{thresholdId}

The NFVO receives the ThresholdCrossedNotification if ESC crosses a configured threshold.

Subscribing to Performance Management Job

This section describes subscribing to the performance management jobs.

Create a Performance Management Subscription

The NFVO can subscribe to the performance management jobs.

Method Type:

POST

VNFM Endpoint:

{api_root}/vnfpm/v1/subscriptions(DataStructure=PmSubscriptionRequest)

Example 1:

Request Payload:


{
           "callbackUri": "http://host:port/notification",
           "filter": {
                      "notificationTypes": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"],
                      "vnfInstanceSubscriptionFilter": {
                            "vnfdIds": ["25ec9e1c-ad9e-4613-9280-411920f3649a"],
                             "vnfInstanceIds": ["cc6a34e5-0463-459a-b367-493ba997775f"]
                          }
            }
}

Response Payload:


{
       "id": "4fba7dcb-e015-4674-9c50-8cee7059eb91"
       "callbackUri": "http://host:port/notification",
           "filter": {
                         "notificationTypes": ["ThresholdCrossedNotification", PerformanceInformationAvailableNotification"],
                          "vnfInstanceSubscriptionFilter": {
                                      "vnfdIds": ["25ec9e1c-ad9e-4613-9280-411920f3649a"],
                                       "vnfInstanceIds": ["cc6a34e5-0463-459a-b367-493ba997775f"]                 }
          },
         "_links": {
                    "self": {
                                     "href": "http://host:port/vnfpm/v1/subscriptions/4fba7dcb-e015-4674-9c50-8cee7059eb91"
                       }
           }
}

Example 2:

Request Payload:


{
      "callbackUri": "http://host:port/notification",
      "filter": {
                 "notificationTypes": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"],
                  "vnfInstanceSubscriptionFilter": {
                                  "vnfProductsFromProviders": [{
                                                      "vnfProvider": "Cisco",
                                                       "vnfProducts": [{
                                                                "vnfProductName": "vnfd-1VDU",
                                                                       "versions": [{
                                                                               "vnfSoftwareVersion": "1.3.1",
                                                                               "vnfdVersions": ["1.0", "1.1", "1.2"]
                                                                   }]
                                                        }]
                                      }],
                                 "vnfInstanceNames": ["kaswaczy-TestETSIPmSubscriptionGet-114113"]
                  }
                }
}

Response Payload:


{
      "id": "4fba7dcb-e015-4674-9c50-8cee7059eb92"
       "callbackUri": "http://host:port/notification",
         "filter": {
                    "notificationTypes": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"],
                      "vnfInstanceSubscriptionFilter": {
                      "vnfProductsFromProviders": [{
                                                      "vnfProvider": "Cisco",
                                                       "vnfProducts": [{
                                                                         "vnfProductName": "vnfd-1VDU",
                                                                         "versions": [{
                                                                                        "vnfSoftwareVersion": "1.3.1",
                                                                                         "vnfdVersions": ["1.0", 1.1", 1.2"]
                                                                      }]
                                                         }]
                                       }],
                                "vnfInstanceNames": ["kaswaczy-TestETSIPmSubscriptionGet-114113"]
                         }
             },
            "_links": {
                         "self": {
                            "href": "http://host:port/vnfpm/v1/subscriptions/4fba7dcb-e015-4674-9c50-8cee7059eb92"
                        }
           }
}

Note

  • The vnfdIds and vnfProductsFromProviders attributes are mutually exclusive. Only one of them can be provided in a single create request.

  • The vnfInstanceIds and vnfInstanceNames attributes are mutually exclusive. Only one of them can be provided in a single create request.

  • If the specified callbackUri and filter precisely matches an existing subscription, the create subscription operation will fail with an error message stating duplicate subscriptions are not allowed.


Query an Individual Performance Management Subscription

Method Type:

GET

VNFM Endpoint:

{api_root}/vnfpm/v1/subscriptions/{subscriptionId}

Request Payload: NA

Response Payload:


{
                "id": "4fba7dcb-e015-4674-9c50-8cee7059eb91"
                "callbackUri": "http://host:port/notification",
                "filter": {
                               "notificationTypes": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"],
                               "vnfInstanceSubscriptionFilter": {
                                               "vnfdIds": ["25ec9e1c-ad9e-4613-9280-411920f3649a"],
                                               "vnfInstanceIds": ["cc6a34e5-0463-459a-b367-493ba997775f"]                 }
                },
                "_links": {
                               "self": {
                                               "href": "http://host:port/vnfpm/v1/subscriptions/4fba7dcb-e015-4674-9c50-8cee7059eb91"
                               }
                }
}


Note

Attribute-based filtering is not possible when specifying a subscription id.

Query all Performance Management Subscriptions

Method Type:

GET

{api_root}/vnfpm/v1/subscriptions

Request Payload: NA

Response Payload:


{
                "_embedded": {
                               "pmSubscriptions": [{
                                               "id": "4fba7dcb-e015-4674-9c50-8cee7059eb91""callbackUri": "http://host:port/notification",
                                               "filter": {
                                                               "notificationTypes": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"],
                                                               "vnfInstanceSubscriptionFilter": {
                                                                               "vnfdIds": ["25ec9e1c-ad9e-4613-9280-411920f3649a"],
                                                                               "vnfInstanceIds": ["cc6a34e5-0463-459a-b367-493ba997775f"]
                                                               }
                                               },
                                               "_links": {
                                                               "self": {
                                                                               "href": "http://host:port/vnfpm/v1/subscriptions/4fba7dcb-e015-4674-9c50-8cee7059eb91"
                                                               }
                                               }
                               },
                               {
                                               "id": "4fba7dcb-e015-4674-9c50-8cee7059eb92""callbackUri": "http://host:port/notification",
                                               "filter": {
                                                               "notificationTypes": ["ThresholdCrossedNotification", "PerformanceInformationAvailableNotification"],
                                                               "vnfInstanceSubscriptionFilter": {
                                                                               "vnfProductsFromProviders": [{
                                                                                              "vnfProvider": "Cisco",
                                                                                              "vnfProducts": [{
                                                                                                              "vnfProductName": "vnfd-1VDU",
                                                                                                              "versions": [{
                                                                                                                              "vnfSoftwareVersion": "1.3.1",
                                                                                                                              "vnfdVersions": ["1.0", "1.1", "1.2"]
                                                                                                              }]
                                                                                              }]
                                                                               }],
                                                                               "vnfInstanceNames": ["kaswaczy-TestETSIPmSubscriptionGet-114113"]
                                                               }
                                               },
                                               "_links": {
                                                               "self": {
                                                                               "href": "http://host:port/vnfpm/v1/subscriptions/4fba7dcb-e015-4674-9c50-8cee7059eb92"
                                                               }
                                               }
                               }]
                }
}

Note

All attribute names and data types referenced in the response payload are supported in attribute-based filtering of the parameters.

Terminate a Performance Management Subscription

The NFVO can terminate a subscription.

DELETE {api_root}/vnfpm/v1/subscriptions/{subscriptionId}