diff --git a/doc/architecture/metrico.md b/doc/architecture/metrico.md index ee26958d07440d44669950fcd5b20e084aaa2b8f..9011e6ce01d55dd39176351ead3857f77d58bda8 100644 --- a/doc/architecture/metrico.md +++ b/doc/architecture/metrico.md @@ -32,7 +32,8 @@ Furthemore, all the interactions that occur from the time that an OSL User order ## Probe further -See examples of creating Monitoring Jobs as a Service via OpenSlice: +See guides and examples on creating Monitoring Jobs as a Service via OpenSlice: -- [Integrate Prometheus monitoring solution as-a-Service](../service_design/examples/monitoring_aas/monitoring_aas.md) +- [Design Monitoring Services](../service_design/monitoring/design_monitoring_services.md) +- [Example: Integrate Prometheus monitoring solution as-a-Service](../service_design/examples/monitoring_aas/monitoring_aas.md) diff --git a/doc/service_design/monitoring/design_monitoring_services.md b/doc/service_design/monitoring/design_monitoring_services.md new file mode 100644 index 0000000000000000000000000000000000000000..2aacd078df181411dc903d65acaa5fc091b15013 --- /dev/null +++ b/doc/service_design/monitoring/design_monitoring_services.md @@ -0,0 +1,38 @@ +# Design Monitoring Services + +**Intended Audience: OpenSlice Service Designers** + +This section introduces a way to design Service Specifications that integrate external monitoring sources (e.g. a Prometheus instance). This type of services require METRICO component running (see more information about METRICO at the [Architecture's section](../../architecture/metrico.md)). + +## METRICO Resource Specification + +When METRICO component instantiates, it automatically creates a respective Resource Specification, named ```METRICO_Resource_Specification```. It is always noted with a specific ```Version``` and ```Category```. As METRICO evolves, this combination shall change. METRICO creates its versioned Resource Specification, only when it is not already existing. + + + +The Resource Specification comprises of all the properties needed to execute a monitoring job towards an external source and return the data to a candidate service. For this reason, it incorporates the respective characteristics, as shown below: + + + +Namely, the characteristics provide the following information: + +- **_MT_TYPE**: The monitoring source type (default value: PROMETHEUS) +- **_MT_URL**: The monitoring source URL (e.g. https://prom.osl.etsi.org:9090) +- **_MT_QUERY**: The query towards the monitoring source (e.g. query=gnb_service_state) +- **_MT_RECURRING_INTERVAL**: The polling interval of the monitoring source (default value: G_1MN, Available values: G_10SEC, G_30SEC, G_1MN, G_5MN, G_15MN, G_30MN, G_1H, G_24H, G_1M, G_1Y) +- **_MT_START_TIME**: The starting time of the monitoring job (default value, if left blank: NOW) +- **_MT_END_TIME**: The ending time of the monitoring job (default value, if left blank: NOW + 1h) +- **_MT_SERVICEUUID**: The ID of the service to update with the retrieved monitoring data +- **_MT_CHARACTERISTIC_NAME**: The characteristic of the service with id _MT_SERVICEUUID that will be updated with the retrieved monitoring data + +## METRICO Service Design + +If you want to design a Monitoring Service that can be incorporated within other service bundles or directly expose it towards the users, you have to create a new Service Specification and relate the previously mentioned METRICO Resource Specification to it. + + + +A Service Specification which is related to a Resource Specification is switched to a Resource Facing Service Specification (RFSS) and the Resource Characteristics are copied to the RFSS. At that stage, the Service Designer needs to fill in the Characteristics's default values and/or enable the user to provide its preferences through service bundles. + +## Probe further + +See the [Example: Integrate Prometheus monitoring solution as-a-Service](../examples/monitoring_aas/monitoring_aas.md). \ No newline at end of file diff --git a/doc/service_design/monitoring/images/MetricoResourceSpecification.png b/doc/service_design/monitoring/images/MetricoResourceSpecification.png new file mode 100644 index 0000000000000000000000000000000000000000..dd01fc4193221446e7270d490f385b28ed932a15 Binary files /dev/null and b/doc/service_design/monitoring/images/MetricoResourceSpecification.png differ diff --git a/doc/service_design/monitoring/images/MetricoResourceSpecificationCharacteristics.png b/doc/service_design/monitoring/images/MetricoResourceSpecificationCharacteristics.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c603c18138a87fcb96298c0c03d3b8828a2f74 Binary files /dev/null and b/doc/service_design/monitoring/images/MetricoResourceSpecificationCharacteristics.png differ diff --git a/doc/service_design/monitoring/images/MonitoringServiceDesign.png b/doc/service_design/monitoring/images/MonitoringServiceDesign.png new file mode 100644 index 0000000000000000000000000000000000000000..f554f57c125137faaa38b4774118357d5d0e9146 Binary files /dev/null and b/doc/service_design/monitoring/images/MonitoringServiceDesign.png differ diff --git a/doc/service_design/nfv/design_nfv_services.md b/doc/service_design/nfv/design_nfv_services.md index 7cb056684848e7b85ae0cc480b6fcf5d414ca1e6..f6008dcb215e8f1ef617008cce293c004637c3a2 100644 --- a/doc/service_design/nfv/design_nfv_services.md +++ b/doc/service_design/nfv/design_nfv_services.md @@ -1,4 +1,4 @@ -# Design NFV services +# Design NFV Services **Intended Audience: OpenSlice Service Designers** diff --git a/mkdocs.yml b/mkdocs.yml index 72ab0b927142ddc2445922f90dab45a2a53757ff..64dec6480e2468142ff4b74fbaecb638d91b1862 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -152,6 +152,8 @@ nav: - Design Helm as a Service: ./service_design/kubernetes/design_helm_aas.md - Support for NFV: - Design NFV Services: ./service_design/nfv/design_nfv_services.md + - Support for Monitoring: + - Design Monitoring Services: ./service_design/monitoring/design_monitoring_services.md - LCM Rules: - Introduction: ./service_design/lcmrules/intro.md - Specification: ./service_design/lcmrules/specification.md