influxdb

pdk
Install and configures InfluxDB
Magnus Larsen

Magnus Larsen

mightp

2,501 downloads

1,209 latest version

5.0 quality score

Version information

  • 1.0.3 (latest)
  • 1.0.2
  • 1.0.1
  • 1.0.0
  • 0.9.0
released Feb 18th 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
  • Puppet >= 4.10.0 < 7.0.0
  • CentOS
    ,
    OracleLinux
    ,
    RedHat
    ,
    Scientific
    ,
    Debian
    ,
    Ubuntu

Start using this module

Documentation

mightp/influxdb — version 1.0.3 Feb 18th 2020

Overview

This module will install and configure InfluxDB 1.x.

This module works on Debian- and RHEL-based OS'es.

Dependencies

This module depends on the toml gem, which has to be installed on the puppetmaster.

It can be installed via puppet, like this (using this module):

package { 'toml':
  ensure   => 'installed',
  provider => 'puppetserver_gem',
}

Sample setup

class { '::influxdb':
  admin_username => <admin username>,
  admin_password => <admin password>,
  configuration  => {
    'data'  => {
      'dir'                     => '/mnt/influxdb/data',
      'wal-dir'                 => '/mnt/influxdb/wal',
      'max-series-per-database' => 0,
      'max-values-per-tag'      => 0,
    },
    '[udp]' => {
      'enabled'       => true,
      'bind-address'  => ':8090',
      'database'      => 'metrics',
      'batch-pending' => 1024,
      'read-buffer'   => 33554432,
    },
  },
  databases      => {
    'prometheus' => {
      'ensure' => present,
    }
  },
  users          => {
    'grafana' => {
      'password' => 'asdfghjkl!"§"!"$',
    },
    'prometheus' => {
      'password' => 'asdfghjkl!"§"!"$',
    },
  },
}

influxdb::database { 'metrics': }

influxdb::user { 'grafana_user':
  password   => 'mySuperSecretPassWORD',
  privilege  => 'READ',
  database   => 'metrics',
}

# Note: for durations, InfluxDB converts the duration literals to something else. Write that something else in puppet.
influxdb::retention_policy { '1YearRetention':
  database => 'prometheus',
  duration => '8640h0m0s',
}

http auth

http_auth is automatically enabled and configured.

An admin account will automatically be created with the parameters passed to the main class: influxdb::admin_username and influxdb::admin_password

This admin account is the one used in puppet, to manage all resources