Introduction to InfluxDB Tools
Table of contents
- Flux and the Task Engine
- InfluxDB User Interface
- Telegraf
- Awesome CLI
- Rest API
- Client Libraries
- VSCode Plugin
- Stacks and Templates
- Further Reading
To honor our commitment to developer happiness, InfluxData offers a wide range of tools to make working with time series data easy for all types of developers.
Flux and the Task Engine
Flux is a functional query and scripting language. Flux enables you to:
- Transform and analyze data.
- Write Tasks
Flux has a Javascript inspired syntax that makes it easily composable and readable. Pipe-forward operators separate function calls and make data transformations flow smoothly. Flux is Open Source, testable, shareable, and contributable.
The Task Engine executes Flux scripts on a schedule. It allows you to:
- Process data to make visualizations screaming fast
- Get alerted if your data stops writing or breaches certain thresholds
- Periodically call an external service with data from InfluxDB
The Task engine can tackle all the above points with no additional code or operations on your part.
InfluxDB User Interface
The InfluxDB UI provides a complete interface for working with time series data and InfluxDB. The InfluxDB UI enables you to:
- Build queries to visualize your time series data. You can select from a wide variety of visualization types. The InfluxDB UI also supports geotemporal map visualizations.
- Edit Flux code in the Flux Script Editor.
- Build dashboards and notebooks.
- Manage multiple users in your Organization.
- Build and manage tasks. Tasks are Flux scripts that run on a schedule.
- Build checks and notifications. Checks and notifications are specialized types of tasks which enable alert creation.
Telegraf
Have more stringent requirements for your writes? Need batching, retries, and other features? Don’t write this code yourself, just use Telegraf. Telegraf is InfluxData’s plugin driven collection agent for metric and events. With over 200 input plugins, Telegraf probably has an input plugin that fits your needs. But even if there isn’t a plugin for your exact use case, you can use telegraf to easily reformat any data type into your preferred output format, be it line protocol, json, csv, etc….
Telegraf isn’t just a tool for writing data to a destination data store. The Telegraf processor plugins and aggregator plugins enable you to do so much more with your data than sophisticated collection and writes. For example, you can easily add data transformations with Starlark. You can even use the execd processor plugin which makes Telegraf extensible in any language. It’s no wonder that Telegraf has close to 11,000 stars on github.
Awesome CLI
The InfluxDB CLI allows users to interact with InfluxDB with ease. Features like configuration profiles and environment variable support make scripting and controlling InfluxDB a breeze.
Rest API
All of InfluxDB is wrapped in a REST API. This API is highly compatible between OSS and Cloud. The API allows you to write data and query data, of course, but also has everything you need to manage the database, including creating resources like authentication tokens, buckets, users, etc…
Client Libraries
You aren’t limited to making REST calls on your own. If you prefer, InfluxDB has client libraries written in 13 languages. These Client Libraries enable you to drop InfluxDB functionality into an existing code base with ease or create a new code base.
VSCode Plugin
If you are a Visual Studio (VS) Code user, then it’s easy to add InfluxDB to your workflow using Flux VS Code Extension.
Using the Flux VS Code Extension to write Flux and run the query.
Stacks and Templates
Want to back up or move your whole InfluxDB configuration? Add it to github so you can restore from a backup? Even use a gitops workflow to integrate with your existing CD (continuous deployment) process? InfluxDB supports all of this with Stacks and Templates.
A Template is a prepackaged InfluxDB configuration that contains multiple InfluxDB resources. Templates include everything from Telegraf configuration, to Dashboards, to Alerts, and more. Use Templates to:
- Get up and running with InfluxDB for a variety of common use cases with a Community Template,a community-contributed Templates.
- Quickly get setup with a new InfluxDB instance
- Backup your Dashboard, Alert, and Task configurations.
Applying an existing Community Template is as easy as copy and pasting a URL for the Template yaml file into the UI:
A Stack is a stateful InfluxDB template that lets you add, update, and remove template resources on your InfluxDB instance.
Further Reading
- Flux Specification
- Get started with Flux
- Flux Documentation
- Use Telegraf to write data
- TL;DR InfluxDB Tech Tips; Creating Tokens with the InfluxDB API
- TL;DR InfluxDB Tech Tips; Creating Buckets with the InfluxDB API