OOF Metrics
Prometheus is selected to be monitoring system for ONAP. Prometheus service, alert manager and Grafana are instantiated by MSB for monitoring various ONAP projects.
OOF is one of the first projects to provide metrics to Prometheus.
As part of that, OOF integrated Python based exporter client software.
HPA matching logic is the first one in OOF to export its metrics.
Scope of R3 is to integrate OOF and Prometheus with basic hpa/vnf statistics with minimum labels. R4 will integrate more detailed metrics with additional label support.
OOF-HPA metrics (@Dileep Ranganathan)
OOF-HPA metrics provide information for the user to visualize following:
Number of times there is successful flavor match : flavor_match_successful
Number of times there is unsuccessful flavor match: flavor_match_unsuccessful
Number of times cloud region is selected successfully : cloud_region_successful
Number of times no cloud region is selected: cloud_region_unsuccessful
Metrics alone does not provide much information. Labels for each metric quality the metric.
Current thinking is that we have following labels for each metric
Labels for flavor_match_successful and flavor match_unsuccessful
vnf_name
vnfc_name
service_name (if available in R3. Make it available in R4)
customer_name (if available in R3. Make it available in R4)
cloud_region
policy_name
In case of flavor_match_unsuccessful, few additional labels help
mandatory_match_failed
not_enough_capacity (R4)
???
Labels for cloud_region_successful_selection and cloud_region_unsuccessful_selection (R4)
cloud_region
service_name
customer_name
In case of cloud_region_unsuccessful_selection, few more additional labels would help (R4)
no_selection_due_to_flavors
no_selection_due_to_distance
no_selection_due_to_cost
Current Metrics planned to support in R3
# TODO (dileep)
# Customer name is set as ONAP in R3.
# General rule of thumb - if label not available. Label=N/A
# Service name will be set as N/A for HPA metrics in R3.
# vnf_name and vnfc_name will be N/A.
# Currently this needs lots of changes. R4 will take care of this.
VNF_COMPUTE_PROFILES = Counter(
'vnf_compute_profile',
'Compute Profiles used by VNFs over time',
['customer_name', 'service_name', 'vnf_name', 'vnfc_name', 'flavor',
'cloud_region']
)
VNF_FAILURE = Counter(
'vnf_no_solution',
'No Homing solution',
['customer_name', 'service_name']
)
VNF_SCORE = Counter(
'vnf_scores',
'HPA Scores of vnf',
['customer_name', 'service_name', 'vnf_name', 'vnfc_name', 'hpa_score']
)
# HPA Matching stats
# TODO (dileep)
# Customer name is set as ONAP in R3.
# General rule of thumb - if label not available. Label=N/A
# Service name will be set as N/A for HPA metrics in R3.
# vnf_name and vnfc_name will be N/A.
# Currently this needs lots of changes. R4 will take care of this.
HPA_FLAVOR_MATCH_SUCCESSFUL = Counter(
'flavor_match_successful',
'Number of times there is successful flavor match',
['customer_name', 'service_name', 'vnf_name', 'vnfc_name', 'cloud_region',
'flavor']
)
HPA_FLAVOR_MATCH_UNSUCCESSFUL = Counter(
'flavor_match_unsuccessful',
'Number of times there is unsuccessful flavor match',
['customer_name', 'service_name', 'vnf_name', 'vnfc_name', 'cloud_region',
'flavor']
)
HPA_CLOUD_REGION_SUCCESSFUL = Counter(
'cloud_region_successful',
'Number of times cloud region is selected successfully',
['customer_name', 'service_name', 'cloud_region']
)
HPA_CLOUD_REGION_UNSUCCESSFUL = Counter(
'cloud_region_unsuccessful',
'Number of times no cloud region is selected',
['customer_name', 'service_name', 'cloud_region']
)