Skip to content

Monitoring Spec Example

andreggouveia edited this page Jun 4, 2021 · 22 revisions

The following model exemplifies a configuration intended to be created by Vertical Slicer and posted to an endpoint from MDA:

{
    "business_id": "business_id",
    "topic": "topic_test",
    "monitoring_endpoint": "url_to_fetch",
    "data_source_type": "OSM",
    "tenant_id": "operator_id",
    "context_ids": [
        {
            "resource_id": "resource_id",
            "network_slice_id: "slice_id",
            "parent_id": "parent_resource_id"
        }
    ]
    "reference_id": "reference_id",
    "timestamp_start": "2021-04-06T17:36:00",
    "timestamp_end": "2021-05-28T16:27:00",
    "metrics": [
        {
            "metric_name": "cpu_utilization",
            "metric_type": "float",
            "aggregation_method": null,
            "step": "30s",
            "step_aggregation": null
        },
        {
            "metric_name": "disk_usage",
            "metric_type": "float",
            "aggregation_method": null,
            "step": "2m",
            "step_aggregation": null
        },
        {
            "metric_name": "ram_utilization",
            "metric_type": "float",
            "aggregation_method": "sum",
            "step": "2m",
            "step_aggregation": "5m"
        }
    ]
}

Obs: The field monitoring_endpoint should include two fields: metric_name and start_time. For example: "http://osm:4500/monitoringData?match=metric_name&start=start_time" . This way we optimize this component to receive different urls.

Resource Monitoring information

Parameter Type Description
business_id String Unique Business Flow UID which represents the transaction in hand.
topic String Kafka topic name where to report and push the encrypted hashed data.
monitoring_endpoint String (per resource) URL for whom we are fetching the metric values.
resource_id String Unique ID of resource for which we are collecting monitoring data.
network_slice_id String ID of the network slice.
parent_id String ID of the parent entity (e.g., NS ID of the VNF, Slice ID of the NS).
reference_id String Unique ID of entity (e.g., SLA) for whom we are collecting monitoring data.
metric_name String Name of metric being monitored.
metric_value String Value of metric being monitored.
timestamp Datetime The time at which the metric was measured.

The resourceID represents the resource for which we are collecting monitoring data. If the resource used to be part of one SLA and is now part of another SLA, it may make sense to use a distinct resourceID for the different epochs, so that data from one epoch is not used to influence decisions in another epoch. The referenceID might be the SLA identifier to which this resource is dedicated and is used to look up all relevant monitoring data for that reference. The monitoring data provided to postMonitoringData() should be a list of such structures, with one entry per metric being recorded.

Clone this wiki locally