Release Announcement: InfluxDB OSS 2.1.0

Navigate to:

A new feature-bearing release for InfluxDB OSS is available now. We’ve been busy bringing the latest improvements to this release. Some of these have been available within InfluxDB Cloud, and now we are pleased to offer them within the open source offering for those of you developing against the OSS edition on your laptop or deploying this at the edge.

New Packaging

influx CLI moved to separate repository

The influx CLI has been moved to its own GitHub repository.  You can also download the latest CLI from our downloads page under InfluxDB Cloud CLI.

influxdb release artifacts affected

Release artifacts are impacted as follows:

  • Release archives (.tar.gz and .zip) no longer contain the influx binary.
  • The influxdb2 package (.deb and .rpm) no longer contains the influx binary. Instead, the package declares a recommended dependency on the new influxdb2-cli package.
  • The quay.io/influxdb/influxdb image no longer contains the influx binary. We recommend migrating to the influxdb image hosted on DockerHub.

Find supported influx CLI commands

With this change, versions of the influx CLI and InfluxDB OSS (influxd) are not guaranteed to exactly match. To check the version of the influxd server, see influxd version in influx

CLI or use the /health endpoint of your InfluxDB server.

The influx  CLI documentation has been updated to reflect which influx CLI commands work with which versions and editions of InfluxDB across OSS and Cloud.

Feature Advancement

This release includes the following new features:

Notebooks, annotations, and visualization updates

We’ve added a new developer workbench called InfluxDB Notebooks which allows you to:

  • Create documents with live code, equations, visualizations, and explanatory notes
  • Create dashboard cells or scheduled tasks
  • Build runbooks
  • Document data processing steps
  • Collaborate with other developers

The idea behind InfluxDB Notebooks is to provide you with the means to partial or finished artifacts within the platform via the browser. It also allows developers to collaborate with each other through the notebooks themselves using the various panels to support distributed development. Over time, this developer workbench will become the primary means by which all resources are developed through the browser. We appreciate all the feedback that we’ve gotten regarding these key capabilities!

Speaking of collaboration, we have also added the ability to annotate dashboard cells to share insights or activities with others. We’ve also added support for static legends on the dashboard cells to assist with driving more visual clarity when using line graphs and band plots. We also overhauled the raw data view to provide a cleaner tabular visualization of this data, and last but not least, we have an updated set of dashboard auto-refresh options that should allow you to schedule the refresh rate you desire.

VS Code Flux Extension

If you are building an application which leverages InfluxDB and you use Visual Studio Code, check out the Flux Extension. This extension really helps speed the development process by providing autocomplete and syntax checking for your Flux script, allowing you to connect to your InfluxDB instance and interactively test and evaluate results and more.

InfluxQL

Based on community feedback, we’ve enhanced the capabilities of the SHOW MEASUREMENTS meta query. It now supports database and retention policy wildcards. For example, SHOW MEASUREMENTS ON *.* to show all databases and SHOW MEASUREMENTS ON <db>.* to show all retention policies.

API

We’ve made a couple of key improvements to the API and one deprecation.

  • New parameters have been added to the /users API; specifically GET /users now includes support for: offset, limit, and after.
  • Added new backup and restore APIs specifically for metadata including both key-value and other metadata.
  • Deprecation of POST .../secrets/delete. To delete a secret, use the new DELETE .../secrets/{secretID}.

CLI

influxd configuration

We’ve added several new configuration options to influxd. Here are the most important ones:

  • The influxd recovery command lets you create a recovery operator token in the event that you forget the primary administrator user name/password. This provides you with a secure way to recover access while not losing data or resources stored within the platform.
  • You can now set the --storage-wal-max-concurrent-writes flag to enable tuning memory pressure under heavy write load.
  • We've also added --storage-wal-max-write-delay flag to prevent deadlocks when the WAL is overloaded with concurrent writes.
  • You can now also set the --storage-write-timeout flag to set the duration for write request timeouts.

For more information about all the configuration options and settings, see InfluxDB configuration options.

influxd inspect

The influxd inspect command has been significantly enhanced to allow for a much wider range of operational and administrative reporting and repair capabilities. Many of these existed previously as part of our InfluxDB 1.x tooling:

  • build-tsi - allows you to rebuild the index in the case of failure or corruption
  • delete-tsm - bulk deletes measurements from a raw Time-Structured Merge Tree (TSM) file.
  • dump-tsi - dumps low-level details about Time Series Index (TSI) files which is useful for supportability and determining if there are issues with the index.
  • dump-tsm - dumps low-level details about TSM files which is useful for supportability and determining if there are issues with the actual files where data is stored.
  • dump-wal - dumps low-level details about write ahead log (WAL) files which is useful for supportability and determining if there are issues with the write ahead log.
  • report-tsi - analyzes TSI within a specified bucket and reports the cardinality of data stored in the bucket segmented by shard and measurement.
  • report-tsm - analyzes TSM files within a storage engine directory and reports the cardinality within the files and the time range the data covers.
  • verify-seriesfile - verifies the integrity of series files.
  • verify-tombstone - verifies the integrity of the tombstone files.
  • verify-tsm - verifies the integrity of the TSM files within the storage engine.
  • verify-wal - verifies the integrity of the write ahead log.
influxd downgrade

A new influxd downgrade command has been added to isolate and ease the process of downgrading (if necessary) from newer versions to older ones.

Tokens

We’ve made a couple of improvements to token and token handling.

  • Based on community feedback, we've added support for standard Bearer token syntax. Now you can specify token credentials as: Authorization: Bearer xxxxxxxx.
  • Also, if you are restoring a backup that overwrites the Operator token, the new token value is returned to you after you trigger the restore.

Flux

We’ve advanced Flux to v0.139.0.  This update enables a number of key capabilities such as:

  • Dynamic modification of time offsets based on your specified timezone. You can also specify fixed time offsets relative to UTC.
  • Enables writing to remote hosts using the Flux to() and experimental.to() functions. This allows you to selectively send data to InfluxDB Cloud or other InfluxDB OSS instances.
  • Query and write to Vertica SQL databases. This allows you to join your time series data with relational data stored within Vertica.
  • Perform bitwise operations on integers and unsigned integers.
  • A new hex package for working with hexadecimal string values. Allows you to convert string values encoded in hexadecimal format to numerical values.

Telegraf Configuration Support

The Load Data page now contains all of the configuration options for all input plugins available with Telegraf 1.20. For more information about the available plugins, see Telegraf plugins within the documentation.

Bug Fixes

If all of that feature advancement isn’t enough, there are a handful of bug fixes which also have been addressed. Check out the release notes for all the details or if you are looking for a specific fix.

If you find issues or have questions, please join our InfluxDB Community Slack, post them in our  InfluxDB GitHub Repo or our Community Site, and we will take a look.