Getting started¶
Example inventory¶
To install InfluxDB on a host, you need to add it to
[debops_service_influxdb_server]
Ansible group:
[debops_service_influxdb_server]
database-host
This will install influxdb
package, configure the server to listen on
all interfaces for new connections, and install autoinfluxdbbackup script to
automatically create daily, weekly and monthly backups of the database.
Example playbook¶
Here's an example Ansible playbook that uses the debops.influxdb_server
role:
---
- name: Manage InfluxDB server
collections: [ 'debops.debops' ]
hosts: [ 'debops_service_influxdb_server' ]
become: True
environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'
roles:
- role: keyring
tags: [ 'role::keyring', 'skip::keyring', 'role::influxdata' ]
keyring__dependent_apt_keys:
- '{{ influxdata__keyring__dependent_apt_keys }}'
- role: etc_services
tags: [ 'role::etc_services', 'skip::etc_services' ]
etc_services__dependent_list:
- '{{ influxdb_server__etc_services__dependent_list }}'
- role: ferm
tags: [ 'role::ferm', 'skip::ferm' ]
ferm__dependent_rules:
- '{{ influxdb_server__ferm__dependent_rules }}'
- role: python
tags: [ 'role::python', 'skip::python', 'role::influxdb_server' ]
python__dependent_packages3:
- '{{ influxdb_server__python__dependent_packages3 }}'
python__dependent_packages2:
- '{{ influxdb_server__python__dependent_packages2 }}'
- role: influxdata
tags: [ 'role::influxdata', 'skip::influxdata' ]
influxdata__dependent_packages:
- '{{ influxdb_server__influxdata__dependent_packages }}'
- role: influxdb_server
tags: [ 'role::influxdb_server', 'skip::influxdb_server' ]
Remote access to the database¶
If you want to allow connections from remote hosts to the InfluxDB server, you need specify the list of IP addresses or CIDR networks which can connect to the daemon:
influxdb_server__allow: [ '192.0.2.0/24', '2001:db8:3232::/64' ]
Database and user management¶
debops.influxdb_server
is not meant to be used to manage databases and user
accounts. You should use debops.influxdb role instead, which was designed
specifically for this purpose.