Skip to main content

Data Aggregation and Transformation component for Monasca

Project description

Team and repository tags

https://governance.openstack.org/tc/badges/monasca-transform.svg

Monasca Transform

monasca-transform is a data driven aggregation engine which collects, groups and aggregates existing individual Monasca metrics according to business requirements and publishes new transformed (derived) metrics to the Monasca Kafka queue.

  • Since the new transformed metrics are published as any other metric in Monasca, alarms can be set and triggered on the transformed metric.

  • Monasca Transform uses Apache Spark to aggregate data. Apache Spark is a highly scalable, fast, in-memory, fault tolerant and parallel data processing framework. All monasca-transform components are implemented in Python and use Spark’s PySpark Python API to interact with Spark.

  • Monasca Transform does transformation and aggregation of incoming metrics in two phases.

    • In the first phase spark streaming application is set to retrieve in data from kafka at a configurable stream interval (default stream_inteval is 10 minutes) and write the data aggregated for stream interval to pre_hourly_metrics topic in kafka.

    • In the second phase, which is kicked off every hour, all metrics in metrics_pre_hourly topic in Kafka are aggregated again, this time over a larger interval of an hour. These hourly aggregated metrics published to metrics topic in kafka.

Use Cases handled by Monasca Transform

Please refer to Problem Description section on the Monasca/Transform wiki

Operation

Please refer to How Monasca Transform Operates section on the Monasca/Transform wiki

Architecture

Please refer to Architecture and Logical processing data flow sections on the Monasca/Transform wiki

To set up the development environment

The monasca-transform uses DevStack as a common dev environment. See the README.md in the devstack directory for details on how to include monasca-transform in a DevStack deployment.

Generic aggregation components

Monasca Transform uses a set of generic aggregation components which can be assembled in to an aggregation pipeline.

Please refer to the generic-aggregation-components document for information on list of generic aggregation components available.

Create a new aggregation pipeline example

Generic aggregation components make it easy to build new aggregation pipelines for different Monasca metrics.

This create a new aggregation pipeline example shows how to create pre_transform_specs and transform_specs to create an aggregation pipeline for a new set of Monasca metrics, while leveraging existing set of generic aggregation components.

Original proposal and blueprint

Original proposal: Monasca/Transform-proposal

Blueprint: monasca-transform blueprint

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monasca_transform-2.0.0.0rc1.tar.gz (141.9 kB view details)

Uploaded Source

Built Distribution

monasca_transform-2.0.0.0rc1-py3-none-any.whl (76.3 kB view details)

Uploaded Python 3

File details

Details for the file monasca_transform-2.0.0.0rc1.tar.gz.

File metadata

  • Download URL: monasca_transform-2.0.0.0rc1.tar.gz
  • Upload date:
  • Size: 141.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.8

File hashes

Hashes for monasca_transform-2.0.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 1c760b878166a53d15ee4ce01453e550749fcba26140a4e7a57d7317df283377
MD5 4ee6db1f9a9e744b539af94dc1cc4cf8
BLAKE2b-256 64e943441437a9a8a7f88ed937e6d1e9358db413c6e0b606409409c3f892443f

See more details on using hashes here.

Provenance

File details

Details for the file monasca_transform-2.0.0.0rc1-py3-none-any.whl.

File metadata

  • Download URL: monasca_transform-2.0.0.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 76.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.8

File hashes

Hashes for monasca_transform-2.0.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 8e15d8e6a9b90b8aafbbe300ca94d3d968b1e0355c1de744216f9ab07660fe1b
MD5 8c3e36053e4407da2b46c3ed48aa0f7a
BLAKE2b-256 a7743e16c807b0f6b17421cd18cd460d680edf6f068667e671e8b7e390f7ccac

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page