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

  • Create or update subscriptions belonging to a Performance Management job or Threshold

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.

As a part of the job creation, subscription details should be provided to receive any notification.

The NFVO is notified using the PerformanceInformationAvailableNotification notification.

Method Type:

POST

VNFM Endpoint:

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

Request Payload:


{
  "objectInstanceIds": ["9d20a459-b3ff-4d1c-9b63-0dae7444b645"],
  "subObjectInstanceIds": ["9d20a459-b3ff-4d1c-9b63-0dae7444b645"],
  "objectType": "XYZ", 
  "callbackUri": "http://localhost:45247/notification",
  "authentication": { 
    "authType": ["BASIC"],
     "paramsBasic": {
        "userName": "admin",
        "password": "P@55w0rd!"
      }
  },
  "criteria": {
    "collectionPeriod": 60,
    "reportingPeriod": 3600,
    "reportingBoundary": "2020-08-01T00:00:00.000Z",
    "performanceMetric": [
      "Gold",
      "Silver"
    ],
    "performanceMetricGroup": [
      "VIP",
      "Europe"
    ]
  }
}

Response Payload:


{
    "id": "b375b81c-3236-4b1c-9c47-61455bf5bc74",
    "objectType": "XYZ", 
    "callbackUri": "http://localhost:45248/notification", 
    "objectInstanceIds": [
        "9d20a459-b3ff-4d1c-9b63-0dae7444b645"
    ],
    "subObjectInstanceIds": [
        "07775e8b-1279-4338-a643-be283d36fa98" 
    ],
    "criteria": {
        "collectionPeriod": 60,
        "reportingPeriod": 3600,
        "performanceMetric": [
            "Gold",
            "Silver"
        ],
        "performanceMetricGroup": [
            "VIP",
            "Europe"
        ],
        "reportingBoundary": "2020-08-01T00:00:00.000Z"
    },
    "reports": [
        {
            "href": "http://localhost:8250/or_vnfm/vnfpm/v2/pm_jobs/b375b81c-3236-4b1c-9c47-61455bf5bc74/reports/1c787c0d-69a5-4ade-b5ca-43f80e17bd58",
            "readyTime": "2022-02-28T07:29:45.609Z"
        }
    ],
    "_links": {
        "self": {
            "href": "http://localhost:8250/or_vnfm/vnfpm/v2/pm_jobs/b375b81c-3236-4b1c-9c47-61455bf5bc74"
        },
        "objects": [
            {
                "href": "http://localhost:8250/or_vnfm/vnflcm/v2/vnf_instances/9d20a459-b3ff-4d1c-9b63-0dae7444b645"
            }
        ]
    }
}

Note

Update the same response for Query and Individual Performance Management Job and Query All Performance Management jobs.


Query an Individual Performance Management Job

The NFVO queries for the individual performance management job.

Method Type:

GET

VNFM Endpoint:

{api_root}/vnfpm/v2/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/v2/pm_jobs/13963644-11b0-4302-a13b-26ca3d9eb8f8"
    },
    "objects": [
      {
        "href": "http://host:port/vnflcm/v2/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/v2/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/v2/pm_jobs/13963644-11b0-4302-a13b-26ca3d9eb8f8"
    },
    "objects": [
      {
        "href": "http://host:port/vnflcm/v2/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.


Update a Performance Management Job

The NFVO updates the callbackUri and associated authentication of the individual performance management job.

Method Type:

PATCH

VNFM Endpoint:

http://localhost:8250/or_vnfm/vnfpm/v2/pm_jobs/{pmJobId}

Request Payload:

{
  "callbackUri": "http://localhost:45248/notification",
  "authentication": {
    "authType": ["BASIC"],
     "paramsBasic": {
        "userName": "admin",
        "password": "P@55w0rd!"
      }
  }
 }

Response Payload:

{
    "callbackUri": "http://localhost:45248/notification"
}

Delete a Performance Management Job

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

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

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.

As part of the threshold creation, subscription details should be provided to receive any notification.

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

Method Type:

POST

VNFM Endpoint:

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

Request Payload:


{
  "objectInstanceId": "9d20a459-b3ff-4d1c-9b63-0dae7444b645",
  "thSubObjectInstanceIds": ["9d20a459-b3ff-4d1c-9b63-0dae7444b645"],
  "objectType": "THRESHOLDJOB",
  "callbackUri": "http://localhost:45247/notification",
  "authentication": {
    "authType": ["BASIC"],
    "paramsBasic": {
      "userName": "admin",
      "password": "P@55w0rd!"
 }
  },
  "criteria": {
    "performanceMetric" : "uptime", 
    "thresholdType" : "SIMPLE",
    "simpleThresholdDetails" : {
      "thresholdValue" : "74400.0",
      "hysteresis" : "10.0"
    }
  }
}

Response Payload:

{
    "id": "0341d294-f8db-408a-a68b-64b1db306304",
    "objectInstanceId": "9d20a459-b3ff-4d1c-9b63-0dae7444b645",
    "criteria": {
        "performanceMetric": "uptime",
        "thresholdType": "SIMPLE",
        "simpleThresholdDetails": {
            "thresholdValue": 74400.0,
            "hysteresis": 10.0
        }
    },
    "objectType": "THRESHOLDJOB",
    "callbackUri": "http://localhost:45247/notification",
    "thSubObjectInstanceIds": [
        "9d20a459-b3ff-4d1c-9b63-0dae7444b645"
    ],
    "_links": {
        "self": {
            "href": "http://localhost:8250/or_vnfm/vnfpm/v2/thresholds/0341d294-f8db-408a-a68b-64b1db306304"
        },
        "object": {
            "href": "http://localhost:8250/or_vnfm/vnflcm/v2/vnf_instances/9d20a459-b3ff-4d1c-9b63-0dae7444b645"
        }
    }
}

Note

Same Response Payload for Query an individual threshold and Query all thresholds


Query an Individual Threshold

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

GET

VNFM Endpoint:

{api_root}/vnfpm/v2/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/v2/thresholds/23f52511-9f72-4797-881b-c0f72e60a052"
    },
    "object": [
      {
        "href": "http://host:port/vnflcm/v2/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/v2/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/v2/thresholds/23f52511-9f72-4797-881b-c0f72e60a052"
    },
    "object": [
      {
        "href": "http://host:port/vnflcm/v2/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.

Update a Threshold

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

Method Type:

PATCH

VNFM Endpoint:

http://localhost:8250/or_vnfm/vnfpm/v2/thresholds/{thresholdId}

Request Payload:

{
  "callbackUri": "http://localhost:45248/notification",
  "authentication": {
    "authType": ["BASIC"],
     "paramsBasic": {
        "userName": "admin",
        "password": "P@55w0rd!"
      }
  }
 }

Response Payload:

{
    "callbackUri": "http://localhost:45248/notification"
}

Delete a Threshold

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

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