- Get started with InfluxDB
- Download and install InfluxDB v2.0
- (Optional) Verify the authenticity of downloaded binary
- Unpackage the InfluxDB binaries
- Start InfluxDB
- Enable shell completion (Optional)
- Download and install InfluxDB v2.0
- (Optional) Verify the authenticity of downloaded binary
- Place the executables in your $PATH
- Start InfluxDB
- Enable shell completion (Optional)
- Download and run InfluxDB v2.0
- Console into the InfluxDB Container (Optional)
- Install InfluxDB in a Kubernetes cluster
- Set up InfluxDB
- Next Steps
- Differences between InfluxDB Cloud and InfluxDB OSS
Get started with InfluxDB
The InfluxDB 2.0 time series platform is purpose-built to collect, store, process and visualize metrics and events. Get started with InfluxDB OSS v2.0 by downloading InfluxDB, installing the necessary executables, and running the initial setup process.
See Differences between InfluxDB Cloud and InfluxDB OSS.
Download and install InfluxDB v2.0
Download InfluxDB v2.0 for macOS.
(Optional) Verify the authenticity of downloaded binary
For added security, use gpg
to verify the signature of your download. (Most operating systems include the gpg
command by default. If gpg
is not available, see the GnuPG homepage for installation instructions.)
Download and import InfluxData’s public key:
curl -s https://repos.influxdata.com/influxdb2.key | gpg --import -
Download the signature file for the release by adding
.asc
to the download URL. For example:wget https://dl.influxdata.com/influxdb/releases/influxdb-2.0.1_darwin_amd64.tar.gz.asc
Verify the signature with
gpg --verify
:gpg --verify influxdb-2.0.1_darwin_amd64.tar.gz.asc influxdb-2.0.1_darwin_amd64.tar.gz
The output from this command should include the following:
gpg: Good signature from "InfluxData <support@influxdata.com>" [unknown]
Unpackage the InfluxDB binaries
To unpackage the downloaded archive, double click the archive file in Finder or run the following command in a macOS command prompt application such Terminal or iTerm2:
# Unpackage contents to the current working directory
tar zxvf ~/Downloads/influxdb-2.0.1_darwin_amd64.tar.gz
(Optional) Place the binaries in your $PATH
If you choose, you can place influx
and influxd
in your $PATH
or you can prefix the executables with ./
to run then in place.
# (Optional) Copy the influx and influxd binary to your $PATH
sudo cp influxdb-2.0.1_darwin_amd64/{influx,influxd} /usr/local/bin/
Both InfluxDB 1.x and 2.x include influx
and influxd
binaries. If InfluxDB 1.x binaries are already in your $PATH
, run the 2.0 binaries in place or rename them before putting them in your $PATH
. If you rename the binaries, all references to influx
and influxd
in this documentation refer to your renamed binaries.
Networking ports
By default, InfluxDB uses TCP port 8086
for client-server communication over the InfluxDB HTTP API.
Start InfluxDB
Start InfluxDB by running the influxd
daemon:
influxd
Run InfluxDB on macOS Catalina
macOS Catalina requires downloaded binaries to be signed by registered Apple developers. Currently, when you first attempt to run influxd
or influx
, macOS will prevent it from running. To manually authorize the InfluxDB binaries:
- Attempt to run the
influx
orinfluxd
commands. - Open System Preferences and click Security & Privacy.
- Under the General tab, there is a message about
influxd
orinflux
being blocked. Click Open Anyway. - Repeat this process for both binaries.
We are in the process of updating our build process to ensure released binaries are signed by InfluxData.
See the influxd
documentation for information about available flags and options.
Enable shell completion (Optional)
To install influx
shell completion scripts, see influx completion
.
InfluxDB “phone home”
By default, InfluxDB sends telemetry data back to InfluxData. The InfluxData telemetry page provides information about what data is collected and how it is used.
To opt-out of sending telemetry data back to InfluxData, include the --reporting-disabled
flag when starting influxd
.
influxd --reporting-disabled
Download and install InfluxDB v2.0
Download InfluxDB v2.0 for Linux.
(Optional) Verify the authenticity of downloaded binary
For added security, use gpg
to verify the signature of your download. (Most operating systems include the gpg
command by default. If gpg
is not available, see the GnuPG homepage for installation instructions.)
Download and import InfluxData’s public key:
curl -s https://repos.influxdata.com/influxdb2.key | gpg --import -
Download the signature file for the release by adding
.asc
to the download URL. For example:wget https://dl.influxdata.com/influxdb/releases/influxdb-2.0.1-linux_amd64.tar.gz.asc
Verify the signature with
gpg --verify
:gpg --verify influxdb-2.0.1-linux_amd64.tar.gz.asc influxdb-2.0.1-linux_amd64.tar.gz
The output from this command should include the following:
gpg: Good signature from "InfluxData <support@influxdata.com>" [unknown]
Place the executables in your $PATH
Unpackage the downloaded archive and place the influx
and influxd
executables in your system $PATH
.
*Note: The following commands are examples. Adjust the file names, paths, and utilities to your own needs.*
# Unpackage contents to the current working directory
tar xvzf path/to/influxdb-2.0.1_linux_amd64.tar.gz
# Copy the influx and influxd binary to your $PATH
sudo cp influxdb-2.0.1_linux_amd64/{influx,influxd} /usr/local/bin/
Both InfluxDB 1.x and 2.x include influx
and influxd
binaries. If InfluxDB 1.x binaries are already in your $PATH
, run the 2.0 binaries in place or rename them before putting them in your $PATH
. If you rename the binaries, all references to influx
and influxd
in this documentation refer to your renamed binaries.
Networking ports
By default, InfluxDB uses TCP port 8086
for client-server communication over the InfluxDB HTTP API.
Start InfluxDB
Start InfluxDB by running the influxd
daemon:
influxd
See the influxd
documentation for information about available flags and options.
Enable shell completion (Optional)
To install influx
shell completion scripts, see influx completion
.
InfluxDB “phone home”
By default, InfluxDB sends telemetry data back to InfluxData. The InfluxData telemetry page provides information about what data is collected and how it is used.
To opt-out of sending telemetry data back to InfluxData, include the --reporting-disabled
flag when starting influxd
.
influxd --reporting-disabled
Download and run InfluxDB v2.0
Upgrading from InfluxDB 1.x
We are working on the upgrade process to ensure a smooth upgrade from InfluxDB 1.x to InfluxDB 2.0 on Docker. If you’re upgrading from InfluxDB 1.x on Docker, we recommend waiting to upgrade until we finalize an updated Docker release given the current upgrade process is undefined.
Use docker run
to download and run the InfluxDB v2.0 Docker image. Expose port 8086
, which InfluxDB uses for client-server communication over the InfluxDB HTTP API.
docker run --name influxdb -p 8086:8086 quay.io/influxdb/influxdb:v2.0.1
To run InfluxDB in detached mode, include the -d
flag in the docker run
command.
InfluxDB “phone home”
By default, InfluxDB sends telemetry data back to InfluxData. The InfluxData telemetry page provides information about what data is collected and how it is used.
To opt-out of sending telemetry data back to InfluxData, include the --reporting-disabled
flag when starting the InfluxDB container.
docker run -p 8086:8086 quay.io/influxdb/influxdb:v2.0.1 --reporting-disabled
Console into the InfluxDB Container (Optional)
To use the influx
command line interface, console into the influxdb
Docker container:
docker exec -it influxdb /bin/bash
Install InfluxDB in a Kubernetes cluster
The instructions below use Minikube, but the steps should be similar in any Kubernetes cluster. InfluxData also makes Helm charts available.
Start Minikube:
minikube start
Apply the sample InfluxDB configuration by running:
kubectl apply -f https://raw.githubusercontent.com/influxdata/docs-v2/master/static/downloads/influxdb-k8-minikube.yaml
Always inspect YAML manifests before running
kubectl apply -f <url>
!This creates an
influxdb
Namespace, Service, and StatefulSet. A PersistentVolumeClaim is also created to store data written to InfluxDB.Ensure the Pod is running:
kubectl get pods -n influxdb
Ensure the Service is available:
kubectl describe service -n influxdb influxdb
You should see an IP address after
Endpoints
in the command’s output.Forward port 8086 from inside the cluster to localhost:
kubectl port-forward -n influxdb service/influxdb 8086:8086
Set up InfluxDB
The initial setup process for InfluxDB walks through creating a default organization, user, and bucket. The setup process is available in both the InfluxDB user interface (UI) and in the influx
command line interface (CLI).
Set up InfluxDB through the UI
- With InfluxDB running, visit localhost:8086.
- Click Get Started
Set up your initial user
- Enter a Username for your initial user.
- Enter a Password and Confirm Password for your user.
- Enter your initial Organization Name.
- Enter your initial Bucket Name.
- Click Continue.
InfluxDB is now initialized with a primary user, organization, and bucket. You are ready to write or collect data.
(Optional) Set up and use the influx CLI
If you set up InfluxDB through the UI and want to use the influx
CLI, we recommend setting up a configuration profile. This lets you avoid having to pass your InfluxDB authentication token with each influx
command. Complete the following steps to set up a configuration profile that stores your credentials.
In a terminal, run the following command:
# Set up a configuration profile
influx config create -n default \
-u http://localhost:8086 \
-o example-org \
-t mySuP3rS3cr3tT0keN \
-a
This configures a new profile named
default
and makes the profile active so yourinflux
CLI commands run against this instance. For more detail, see influx config.Learn
influx
CLI commands. To see all availableinflux
commands, typeinflux -h
or check out influx - InfluxDB command line interface.
Set up InfluxDB through the influx CLI
Begin the InfluxDB setup process via the influx
CLI by running:
influx setup
- Enter a primary username.
- Enter a password for your user.
- Confirm your password by entering it again.
- Enter a name for your primary organization.
- Enter a name for your primary bucket.
- Enter a retention period for your primary bucket—valid units are nanoseconds (
ns
), microseconds (us
orµs
), milliseconds (ms
), seconds (s
), minutes (m
), hours (h
), days (d
), and weeks (w
). Enter nothing for an infinite retention period. - Confirm the details for your primary user, organization, and bucket.
InfluxDB is now initialized with a primary user, organization, bucket, and authentication token. InfluxDB also creates a configuration profile for you so that you don’t have to add organization and token to every command. To view that config profile, use the influx config list
command.
To continue to use InfluxDB via the CLI, you need the authentication token created during setup. To view the token, log into the UI with the credentials created above. (For instructions, see View tokens in the InfluxDB UI.)
You are ready to write or collect data.
To automate the setup process, use flags to provide the required information.
Next Steps
Collect and write data
Collect and write data to InfluxDB using the Telegraf plugins, the InfluxDB v2 API, the influx
command line interface (CLI), the InfluxDB UI (the user interface for InfluxDB 2.0), or the InfluxDB v2 API client libraries.
Use Telegraf
Use Telegraf to quickly write data to InfluxDB Cloud. Create new Telegraf configurations automatically in the InfluxDB UI, or manually update an existing Telegraf configuration to send data to your InfluxDB Cloud instance.
For details, see Automatically configure Telegraf and Manually update Telegraf configurations.
Scrape data
InfluxDB OSS lets you scrape Prometheus-formatted metrics from HTTP endpoints. For details, see Scrape data.
API, CLI, and client libraries
For information about using the InfluxDB v2 API, influx
CLI, and client libraries to write data, see Write data to InfluxDB.
Query data
Query data using Flux, the UI, and the influx
command line interface. See Query data.
Process data
Use InfluxDB tasks to process and downsample data. See Process data.
Visualize data
Build custom dashboards to visualize your data. See Visualize data.
Monitor and alert
Monitor your data and sends alerts based on specified logic. See Monitor and alert.
Differences between InfluxDB Cloud and InfluxDB OSS
InfluxDB Cloud is API-compatible and functionally compatible with InfluxDB OSS 2.0. The primary differences between InfluxDB OSS 2.0 and InfluxDB Cloud are:
- InfluxDB scrapers that collect data from specified targets are not available in InfluxDB Cloud.
- InfluxDB Cloud instances are currently limited to a single organization.
New features in InfluxDB Cloud
- Free Plan (rate-limited): Skip downloading and installing InfluxDB 2.0 and jump into exploring InfluxDB 2.0 technology. The Free Plan is designed for getting started with InfluxDB and for small hobby projects.
- Flux support: Flux is a standalone data scripting and query language that increases productivity and code reuse. It is the primary language for working with data within InfluxDB 2.0. Flux can be used with other data sources as well, letting you work with data where it resides.
- Unified API: Everything in InfluxDB (ingest, query, storage, and visualization) is now accessible using a unified InfluxDB v2 API that enables seamless movement between open source and cloud.
- Integrated visualization and dashboards: Based on the pioneering Chronograf project, the new user interface (InfluxDB UI) offers quick and effortless onboarding, richer user experiences, and significantly quicker results.
- Usage-based pricing: The Usage-based Plan offers more flexibility and ensures that you only pay for what you use.