Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

monasca-persister
=============

The Monitoring Persister consumes metrics and alarm state transitions from the Message Queue and stores them in the Metrics and Alarms database.

Although the Persister isn't primarly a Web service it uses DropWizard, https://dropwizard.github.io/dropwizard/, which provides a nice Web appliction framework to expose an http endpoint that provides an interface through which metrics about the Persister can be queried as well as health status.

The basic design of the Persister is to have one Kafka consumer publish to a Disruptor, https://github.com/LMAX-Exchange/disruptor, that has output processors. The output processors use prepared batch statements to write to the Metrics and Alarms database.

The number of output processors/threads in the Persister can be specified to scale to more messages. To horizontally scale and provide fault-tolerance any number of Persisters can be started as consumers from the the Message Queue.

# Build

Requires monasca-common from https://github.com/stackforge/monasca-common. Download and build following instructions in its README.md. Then build monasca-persister by:

```
mvn clean package
```

# TODO

* Purge metrics on shutdown
* Add more robust offset management in Kafka. Currently, the offset is advanced as each message is read. If the Persister stops after the metric has been read and prior to it being committed to the Metrics and Alarms database, the metric will be lost.
* Add better handling of SQL exceptions.
* Complete health check.
* Specify and document the names of the metrics that are available for monitoring of the Persister.
* Document the yaml configuration parameters.

# License

Copyright (c) 2014 Hewlett-Packard Development Company, L.P.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
See the License for the specific language governing permissions and
limitations under the License.

Metadata

Release files for monasca-persister ddf3f1b

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for monasca-persister ddf3f1b
File Size Uploaded Provenance
monasca-persister-ddf3f1b.tar.gz 67.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for monasca-persister ddf3f1b
File Interpreter ABI Platform
monasca_persister-ddf3f1b-py2.7.egg Legacy Egg format - - Details

Total release size: 192.4 kB

Release files / monasca-persister-ddf3f1b.tar.gz

Download URL monasca-persister-ddf3f1b.tar.gz
Size 67.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2861e5502e28e5b3957798c5a3b04be1a1ba6d28d371feed16136dc527762007
BLAKE2b-256 checksum
How to use checksums
16848a5afc9adeb540acc05eb0a6acd880c75d5b2dc6a016d1183735d7fcb291
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / monasca_persister-ddf3f1b-py2.7.egg

Download URL monasca_persister-ddf3f1b-py2.7.egg
Size 124.5 kB
Tags Egg
SHA-256 checksum
How to use checksums
e5e34ec54a27c33c3e32c1595be3069498d584d5fe0b6487adab0a914564f9fc
BLAKE2b-256 checksum
How to use checksums
6534e2722b6efdbb65e5c2ef94cd250c0cb37ce14d9a54f54c2f2d61ee2579ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for monasca-persister ddf3f1b

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page