Gnocchi is an open-source time series database.
The problem that Gnocchi solves is the storage and indexing of time series data and resources at a large scale. This is useful in modern cloud platforms which are not only huge but also are dynamic and potentially multi-tenant. Gnocchi takes all of that into account.
Gnocchi has been designed to handle large amounts of aggregates being stored while being performant, scalable and fault-tolerant. While doing this, the goal was to be sure to not build any hard dependency on any complex storage system.
Gnocchi takes a unique approach to time series storage: rather than storing raw data points, it aggregates them before storing them. This built-in feature is different from most other time series databases, which usually support this mechanism as an option and compute aggregation (average, minimum, etc.) at query time.
Because Gnocchi computes all the aggregations at ingestion, getting the data back is extremely fast, as it just needs to read back the pre-computed results.
Features added in Gnocchi 4.2
- Two compatibility endpoints on the REST API for InfluxDB and Prometheus.
- Enhancing the ACL filtering when using Keystone for authentication.
- New batch format for passing more information about non-existing metrics.
- Wildcard can be used instead of metric name in Dynamic aggregates API.
- Dynamic Aggregate API have a new method called ‘rateofchange’.
- Gnocchi now strictly respects the archive policy configured timespan when storing aggregates. Before, it could keep up to the number of points defined in the archive policy, keeping more than the configured timespan. The timespan duration is now strictly respected. Gnocchi only keeps the points between the last aggregated timestamp and the last aggregated timestamp minus the duration of the archive policy timespan
- Gnocchi API can act as Prometheus Remote Write Adapter to receive Prometheus metrics. The endpoint to configure in Prometheus configuration is https://<gnocchi-host-port>/v1/prometheus/write.
- Metricd exposes a new option called greedy (true by default) that allows to control whether eager processing of new measures is enabled when available.
- Gnocchi now provides a new /v1/influxdb endpoint that allows to ingest data from InfluxDB clients. Only write is implemented. This should ease transition of users coming from InfluxDB tools such as Telegraf.
- A new date type is available for resource type attribute: datetime.
- The deprecated dynamic aggregation (moving average) has been removed.