Ansible Role influxdb¶
This role installs and configures InfluxDB.
Available since LFOps 2.0.0.
Dependent Roles¶
Any LFOps playbook that installs this role runs these for you. Optional ones can be disabled via the playbook’s skip variables.
influxdbandrequestsmust be installed into a Python 3 virtual environment in/opt/python-venv/influxdb(role: linuxfabrik.lfops.python_venv).On Rocky 9+, the EPEL repository (role: linuxfabrik.lfops.repo_epel) and the CRB („Code Ready Builder“) repository (role: linuxfabrik.lfops.repo_baseos) must be enabled so
python3-virtualenvcan be installed.The official InfluxDB repository must be enabled (role: linuxfabrik.lfops.repo_influxdb).
Mandatory Role Variables¶
influxdb__admin_login
The user account for the database administrator.
Subkeys:
username:Mandatory. Username.
Type: String.
password:Mandatory. Password.
Type: String.
old_password:Optional. The old password. Set this when changing the password.
Type: String.
Example:
# mandatory
influxdb__admin_login:
username: 'influxdb-admin'
password: 'linuxfabrik'
# old_password: 'previous-linuxfabrik'
Optional Role Variables¶
influxdb__conf_continuous_queries_log_enabled
Controls whether queries are logged when executed by the continuous query service. Make sure to also set
influxdb__conf_logging_level: 'debug'if this is enabled.Type: Bool.
Default:
false
influxdb__conf_continuous_queries_run_interval
Interval for how often continuous queries will be checked if they need to run.
Type: String.
Default:
'1s'
influxdb__conf_https
Determines whether HTTPS is enabled or not. Also have a look at
influxdb__validate_certs.Subkeys:
certificate_path:Mandatory. The path of the certificate file used for SSL encryption.
Type: String.
privatekey_path:Mandatory. The path of the certificate key file used for SSL encryption.
Type: String.
Default: unset
influxdb__conf_log_queries_after
The time threshold when a query will be logged as a slow query. Setting the value to 0 disables the slow query logging.
Type: String.
Default:
'0s'
influxdb__conf_logging_level
Determines which level of logs will be emitted. Possible options:
'error','warn','info','debug'.Type: String.
Default:
'warn'
influxdb__databases__host_var / influxdb__databases__group_var
List of InfluxDB databases that should be created or deleted. For the usage in
host_vars/group_vars(can only be used in one group at a time).Subkeys:
name:Mandatory. Name of the database.
Type: String.
state:Optional. The state of the database. Possible options:
present,absent.Type: String.
Default:
'present'
retention:Mandatory. Determines how long InfluxDB should keep the data. If specified, it should be
INFor at least one hour.Type: String.
Type: List of dictionaries.
Default:
[]
influxdb__dump_timer_enabled
Enables or disables the influxdb-dump timer, analogous to
systemctl enable/disable --now.Type: Bool.
Default:
true
influxdb__service_enabled
Enables or disables the influxdb service, analogous to
systemctl enable/disable --now.Type: Bool.
Default:
true
influxdb__users__host_var / influxdb__users__group_var
List of InfluxDB users that should be created, updated or deleted. For the usage in
host_vars/group_vars(can only be used in one group at a time).Subkeys:
name:Mandatory. The name of the account.
Type: String.
password:Mandatory. The password of the account.
Type: String.
state:Optional. The state of the account. Possible options:
present,absent.Type: String.
Default:
'present'
admin:Optional. Whether the user should be in the admin role or not.
Type: Bool.
Default:
false
grants:Optional. Takes a list of dicts containing the
databaseandprivilegekeys.Type: List of dictionaries.
Default: omit
Type: List of dictionaries.
Default:
[]
influxdb__validate_certs
If set to
false, the role will not validate SSL certificates when connecting to InfluxDB. This is useful when using self-signed certificates.Type: Bool.
Default:
true
Example:
# optional
influxdb__conf_continuous_queries_log_enabled: true
influxdb__conf_continuous_queries_run_interval: '1s'
influxdb__conf_https:
certificate_path: '/etc/ssl/ssl-certificate.crt'
private_key_path: '/etc/ssl/ssl-certificate.key'
influxdb__conf_log_queries_after: '0s'
influxdb__conf_logging_level: 'warn'
influxdb__dump_timer_enabled: true
influxdb__databases__host_var:
- name: 'database1'
state: 'present'
retention: '216d'
influxdb__users__host_var:
- name: 'user1'
password: 'linuxfabrik'
state: 'present'
admin: false
grants:
- database: 'database1'
privilege: 'ALL'
influxdb__service_enabled: true
influxdb__validate_certs: false