Hello Everybody,
I am happy to announce release 0.20.0 of Hawkular Metrics. This is a major release anchored by the inclusion of Hawkular Alerting in the distribution, a brand new compression algorithm, and numerous API enhancements and fixes.
Hawkular Metrics + Alerting
Hawkular Metrics now includes Hawkular Alerting out of the box; it's no longer necessary to install and manage two separate components. Hawkular Metrics delivers a single EAR file containing components from both projects. Incoming metric data is efficiently filtered and evaluated, generating alerts and events for defined triggers. The combined EAR artifact is the primary binary distribution of Hawkular Metrics going forward. For more details: HWKMETRICS-491
Hawkular Alerting Details
Deployment Notes
standalone.xml
Configuration
standalone.xml
to support the Hawkular Alerting component. Add this additional
cache-container entry after the existing cache-container entries:<cache-container name="hawkular-alerts" module="org.jboss.as.clustering.infinispan">
<local-cache name="partition"/>
<local-cache name="triggers"/>
<local-cache name="data"/>
<local-cache name="publish"/>
<local-cache name="schema"/>
</cache-container>
Usage Notes
To use Hawkular Alerting with Hawkular Metrics there is a naming
convention when defining trigger conditions. For a metric with name
'X', the alerting DataId to reference it will be 'X', where the
depends on the metric's type. For example, let's consider a metric with
name 'HeapUsed' and type 'gauge'. This example defines a trigger
condition to test if the used heap exceeded 80%: "hm_g_HeapUsed > .8
". The 'hm_g' prefix indicates that HeapUsed is a gauge.
Because Hawkular Metrics allows the same metric name for different types, the prefix is needed to make clear the target metric. The prefixes are:
Compression
Hawkular Metrics will now compress all the data with a compression scheme based on Facebook's Gorilla paper. A job will be run every two hours that compresses data received during the 2 hour block since last compression (there's one hour time for out-of-order writes to be written to the Cassandra). These data points are then written to a new storage format that's designed after the Gorilla compression and also compressed with the LZ4 algorithm to give even better compression ratio. Benefits include a faster reading time of larger block of datapoints and very large disk space savings. For more details: HWKMETRICS-464
Other major changes
REST API - Query Improvements
{metric_type}/query
endpoints for all types of metrics (HWKMETRICS-466)gauges/stats/query
and counters/stats/query
(HWKMETRICS-465)Cassandra Driver Configuration
CASSANDRA_CONNECTION_TIMEOUT
environment variable, or hawkular-metrics.cassandra.connection.timeout
system property; value is specified in milliseconds and defaults to 5 seconds.CASSANDRA_REQUEST_TIMEOUT
environment variable, or hawkular-metrics.cassandra.request.timeout
system property; value is specified in milliseconds and defaults to 12 seconds.Job Scheduler
Admin Endpoints
/tenants
since its functionality is cross tenantHawkular Metrics Clients
Release Links
Github Release: https://github.com/hawkular/hawkular-metrics/releases/tag/0.20.0
JBoss Nexus Maven artifacts:
http://origin-repository.
Jira release tracker:
https://issues.jboss.org/browse/HWKMETRICS/fixforversion/12331360