influxdb_retention_policy – Manage InfluxDB retention policies

Synopsis

  • Manage InfluxDB retention policies.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6
  • influxdb >= 0.9
  • requests

Parameters

Parameter Choices/Defaults Comments
database_name
string / required
Name of the database.
default
boolean
    Choices:
  • no
  • yes
Sets the retention policy as default retention policy.
duration
string / required
Determines how long InfluxDB should keep the data.
hostname
string
Default:
"localhost"
The hostname or IP address on which InfluxDB server is listening.
Since Ansible 2.5, defaulted to localhost.
password
string
Default:
"root"
Password that will be used to authenticate against InfluxDB server.
Alias login_password added in Ansible 2.5.

aliases: login_password
policy_name
string / required
Name of the retention policy.
port
integer
Default:
8086
The port on which InfluxDB server is listening
proxies
dictionary
added in 2.5
HTTP(S) proxy to use for Requests to connect to InfluxDB server.
replication
integer / required
Determines how many independent copies of each point are stored in the cluster.
retries
integer
added in 2.5
Default:
3
Number of retries client will try before aborting.
0 indicates try until success.
ssl
boolean
added in 2.5
    Choices:
  • no
  • yes
Use https instead of http to connect to InfluxDB server.
timeout
integer
added in 2.5
Number of seconds Requests will wait for client to establish a connection.
udp_port
integer
added in 2.5
Default:
4444
UDP port to connect to InfluxDB server.
use_udp
boolean
added in 2.5
    Choices:
  • no
  • yes
Use UDP to connect to InfluxDB server.
username
string
Default:
"root"
Username that will be used to authenticate against InfluxDB server.
Alias login_username added in Ansible 2.5.

aliases: login_username
validate_certs
boolean
added in 2.5
    Choices:
  • no
  • yes ←
If set to no, the SSL certificates will not be validated.
This should only set to no used on personally controlled sites using self-signed certificates.

Examples

# Example influxdb_retention_policy command from Ansible Playbooks
- name: create 1 hour retention policy
  influxdb_retention_policy:
      hostname: "{{influxdb_ip_address}}"
      database_name: "{{influxdb_database_name}}"
      policy_name: test
      duration: 1h
      replication: 1
      ssl: yes
      validate_certs: yes

- name: create 1 day retention policy
  influxdb_retention_policy:
      hostname: "{{influxdb_ip_address}}"
      database_name: "{{influxdb_database_name}}"
      policy_name: test
      duration: 1d
      replication: 1

- name: create 1 week retention policy
  influxdb_retention_policy:
      hostname: "{{influxdb_ip_address}}"
      database_name: "{{influxdb_database_name}}"
      policy_name: test
      duration: 1w
      replication: 1

- name: create infinite retention policy
  influxdb_retention_policy:
      hostname: "{{influxdb_ip_address}}"
      database_name: "{{influxdb_database_name}}"
      policy_name: test
      duration: INF
      replication: 1
      ssl: no
      validate_certs: no

Status

Authors

  • Kamil Szczygiel (@kamsz)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.