Monitoring Data Aggregator Clause Samples
The Monitoring Data Aggregator clause establishes the process and responsibilities for collecting, consolidating, and managing monitoring data from various sources within a system or project. Typically, this clause outlines which party is responsible for aggregating data, the types of data to be included (such as performance metrics or security logs), and the frequency or method of aggregation. By centralizing monitoring information, the clause ensures that all relevant data is accessible for analysis, reporting, or compliance purposes, thereby improving oversight and enabling timely responses to issues.
Monitoring Data Aggregator. Regarding the main workflow of the Monitoring Data Aggregator (MDA), it can be subdivided into four fundamental courses of action:
1. receiving the monitoring spec from NSSO, containing critical information about which metrics will be monitored and from them which will be aggregated following a specific method (for instance, average, sum, or standard deviation), the associated business ID flow, the network slice ID, among others;
2. collecting values of the metrics from resources (at this stage, this module collects from OSM);
3. performing metric aggregations within an aggregation step;
4. pushing encrypted hashed data into a ▇▇▇▇▇ topic after signing the collected metrics. Concerning the communication paradigm, exercised by the MDA prototype, it supports simultaneously a request/response and a publish/subscribe setup. Regarding the first one, it is based on FastAPI [28], a Python framework that enables the use of a REST interface, and it will be exploited and employed by modules such as Vertical Slicer to create/enable monitoring specs with the metrics that will be monitored. It is worth mentioning that the endpoints prepared for the request/response paradigm are described on the following readme page: ▇▇▇▇▇://▇▇▇▇▇▇.▇▇▇/5GZORRO/mda/blob/main/README.md. Furthermore, the API description is available as an OpenAPI JSON file at ▇▇▇▇▇://▇▇▇▇▇▇.▇▇▇/5GZORRO/mda/blob/main/doc/openapi.json. The latter paradigm is used by MDA itself, publishing monitoring data to a ▇▇▇▇▇ topic, received on the monitoring specs. This component has been implemented using Python v3, leveraging the following tools and libraries: • FastAPI [28], for the REST interface; • ▇▇▇▇▇-python [29], for the ▇▇▇▇▇ producer; • Psycopg2 [30], the PostgreSQL driver for Python; • RSA [31], for encrypt operations; • Timeloop [32], to run periodic tasks after a certain interval; • Sqlalchemy [33], SQL toolkit, and Object Relational Mapper. The GitHub repository of the MDA module is: ▇▇▇▇▇://▇▇▇▇▇▇.▇▇▇/5GZORRO/mda. For the current version, the monitoring specification including the monitoring endpoint has been updated, where MDA fetches the metric values, and a context object containing the slice ID, the resource ID, and the parent resourceID of this last one. For more information, a wiki page linked to the GitHub repository describes these fields: ▇▇▇▇▇://▇▇▇▇▇▇.▇▇▇/5GZORRO/mda/wiki/Monitoring-Spec-Example. The module is deployed in a Kubernetes cluster as the target virtualization technology, facilit...
