Browse the Repo

file-type-icon.circleci
file-type-icon_docs
file-type-iconexamples
file-type-iconmodules
file-type-iconchronograf-security-group-rules
file-type-iconchronograf-server
file-type-iconinfluxdb-cluster
file-type-iconinfluxdb-commons
file-type-iconinfluxdb-iam-policies
file-type-iconinfluxdb-security-group-rules
file-type-iconinstall-chronograf
file-type-iconinstall-influxdb
file-type-iconREADME.md
file-type-iconinstall-influxdb
file-type-iconinstall-kapacitor
file-type-iconinstall-telegraf
file-type-iconkapacitor-security-group-rules
file-type-iconkapacitor-server
file-type-iconload-balancer-target-group
file-type-iconload-balancer
file-type-iconrun-chronograf
file-type-iconrun-influxdb
file-type-iconrun-kapacitor
file-type-iconrun-telegraf
file-type-icontest
file-type-icon.gitignore
file-type-icon.pre-commit-config.yaml
file-type-iconCODEOWNERS
file-type-iconCONTRIBUTING.md
file-type-iconLICENSE
file-type-iconNOTICE
file-type-iconREADME.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf

Browse the Repo

file-type-icon.circleci
file-type-icon_docs
file-type-iconexamples
file-type-iconmodules
file-type-iconchronograf-security-group-rules
file-type-iconchronograf-server
file-type-iconinfluxdb-cluster
file-type-iconinfluxdb-commons
file-type-iconinfluxdb-iam-policies
file-type-iconinfluxdb-security-group-rules
file-type-iconinstall-chronograf
file-type-iconinstall-influxdb
file-type-iconREADME.md
file-type-iconinstall-influxdb
file-type-iconinstall-kapacitor
file-type-iconinstall-telegraf
file-type-iconkapacitor-security-group-rules
file-type-iconkapacitor-server
file-type-iconload-balancer-target-group
file-type-iconload-balancer
file-type-iconrun-chronograf
file-type-iconrun-influxdb
file-type-iconrun-kapacitor
file-type-iconrun-telegraf
file-type-icontest
file-type-icon.gitignore
file-type-icon.pre-commit-config.yaml
file-type-iconCODEOWNERS
file-type-iconCONTRIBUTING.md
file-type-iconLICENSE
file-type-iconNOTICE
file-type-iconREADME.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf
InfluxDB

InfluxDB

Deploy an InfluxDB cluster. Supports automatic bootstrapping and auto healing.

Code Preview

Preview the Code

mobile file icon

README.md

down

InfluxDB Install Script

This folder contains a script for installing InfluxDB and its dependencies. Use this script to create an InfluxDB Amazon Machine Image (AMI) that can be deployed in AWS across an Auto Scaling Group using the influxdb-cluster module.

This script has been tested on the following operating systems:

  • Ubuntu 16.04
  • Amazon Linux 2

There is a good chance it will work on other flavors of Debian, CentOS, and RHEL as well.

Quick start

This module depends on bash-commons, so you must install that project first as documented in its README.

The easiest way to use this module is with the Gruntwork Installer:

gruntwork-install \
  --module-name "install-influxdb" \
  --repo "https://github.com/gruntwork-io/terraform-aws-influx" \
  --tag "<VERSION>"

Checkout the releases to find the latest version.

The install-influxdb script will install both InfluxDB meta and data binaries as well as their dependencies. The run-influxdb script determines whether to startup either as a meta node or a data node.

We recommend running the install-influxdb script as part of a Packer template to create an InfluxDB Amazon Machine Image (AMI). You can then deploy the AMI across an Auto Scaling Group using the influxdb-cluster module (see the examples folder for fully-working sample code).

Command line Arguments

Run install-influxdb --help to see all available arguments.

Usage: install-influxdb [options]

This script can be used to install InfluxDB Enterprise and its dependencies. This script has been tested with Ubuntu 18.04 and Amazon Linux 2.

Options:

  --version           The version of InfluxDB Enterprise to install. Default: 1.6.2.
  --meta-config-file  Path to a templated meta node configuration file. Default: /tmp/config/influxdb-meta.conf
  --data-config-file  Path to a templated data node configuration file. Default: /tmp/config/influxdb.conf

Example:

  install-influxdb \
    --version 1.6.2 \
    --meta-config-file /tmp/config/influxdb-meta.conf \
    --data-config-file /tmp/config/influxdb.conf

How it works

The install-influxdb script does the following:

  1. Installs the InfluxDB Meta binaries
  2. Installs the InfluxDB Data binaries
  3. Replaces default config files with specified templated config files.

Questions? Ask away.

We're here to talk about our services, answer any questions, give advice, or just to chat.

Ready to hand off the Gruntwork?