Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hivemq/hivemq-aws-cloudwatch-extension

HiveMQ extension for transferring monitoring data to AWS CloudWatch
https://github.com/hivemq/hivemq-aws-cloudwatch-extension

aws-cloudwatch extension hivemq hivemq-extension metrics monitoring mqtt

Last synced: about 4 hours ago
JSON representation

HiveMQ extension for transferring monitoring data to AWS CloudWatch

Awesome Lists containing this project

README

        

:hivemq-extension-downloads: https://www.hivemq.com/extension/aws-cloudwatch-extension/

= HiveMQ AWS CloudWatch Extension

image:https://img.shields.io/badge/Extension_Type-Monitoring-orange?style=for-the-badge[Extension Type]
image:https://img.shields.io/github/v/release/hivemq/hivemq-aws-cloudwatch-extension?style=for-the-badge[GitHub release (latest by date),link=https://github.com/hivemq/hivemq-aws-cloudwatch-extension/releases/latest]
image:https://img.shields.io/github/license/hivemq/hivemq-aws-cloudwatch-extension?style=for-the-badge&color=brightgreen[GitHub,link=LICENSE]
image:https://img.shields.io/github/actions/workflow/status/hivemq/hivemq-aws-cloudwatch-extension/check.yml?branch=master&style=for-the-badge[GitHub Workflow Status,link=https://github.com/hivemq/hivemq-aws-cloudwatch-extension/actions/workflows/check.yml?query=branch%3Amaster]

== Purpose

This HiveMQ Extension allows HiveMQ to report its metrics to AWS CloudWatch.

It is possible to send every HiveMQ metric to CloudWatch.
Every metric which should be reported must be configured explicitly to reduce the costs, since CloudWatch can be expensive if you publish too much (unnecessary) data.

[CAUTION]
.AWS CloudWatch costs
====
AWS CloudWatch metrics can be *very* expensive.
So please make sure you really want to report the specified metrics.
You can find the full AWS pricing https://aws.amazon.com/cloudwatch/pricing/[here].

At the time of writing the AWS prices are the following:

* `$0.30` per custom metric (for the first 10 000 metrics)
* `$0.01` per 1000 _GetMetricStatistics_, _ListMetrics_, or _PutMetricData_ requests

====

=== Installation

* Download the extension from the {hivemq-extension-downloads}[HiveMQ Marketplace^].
* Copy the content of the zip file to the `extensions` folder of your HiveMQ nodes.
* Modify the `extension-config.xml` file for your needs.

== Extension Configuration

The CloudWatch extension uses its own configuration file 'extension-config.xml'.

=== extension-config.xml

The following properties are available:

|===
| Property | Description

| report-interval | A value in minutes which sets the reporting interval (defaults to 1 minute)
| api-timeout | The api call and api attempt timeout in ms (if not set defaults to AWS SDK default)
| metric enabled="{true/false}" | a metric name (from a list of metrics) which should be reported to CloudWatch
| report-raw-count-value | Report the raw value of count metrics instead of only reporting metric value changes.
The default is false.
| zero-values-submission | If enabled, the extension also POSTs zero value metric updates to CloudWatch.
Otherwise, the reporter does not POST zero values in order to save costs.
The default is false.
| cloudwatch-endpoint-override | Override the default cloudWatch endpoint where this extension pushes the metrics.
|===

.Example Configuration
[source]
----

1

com.hivemq.messages.incoming.total.count
com.hivemq.messages.outgoing.total.count
com.hivemq.messages.incoming.total.rate

----

A list of all available metrics can be found on the HiveMQ Documentation here at https://www.hivemq.com/docs/hivemq/4.6/user-guide/monitoring.html#metrics[HiveMQ Metrics]

== CloudWatch configuration

The extension needs permission to be able to publish metrics to AWS CloudWatch.
Simply create an AWS *IAM Role* with a custom *Policy* that grants the *CloudWatch:PutMetricData Permission* and apply it to the HiveMQ instance.

== Contributing

If you want to contribute to HiveMQ AWS CloudWatch Extension, see the link:CONTRIBUTING.md[contribution guidelines].

== License

HiveMQ AWS CloudWatch Extension is licensed under the `APACHE LICENSE, VERSION 2.0`.
A copy of the license can be found link:LICENSE[here].