salt.modules.influx

InfluxDB - A distributed time series database

Module to provide InfluxDB compatibility to Salt (compatible with InfluxDB version 0.5+)

New in version 2014.7.0.

depends:
  • influxdb Python module
configuration:

This module accepts connection configuration details either as parameters or as configuration settings in /etc/salt/minion on the relevant minions:

influxdb.host: 'localhost'
influxdb.port: 8086
influxdb.user: 'root'
influxdb.password: 'root'

This data can also be passed into pillar. Options passed into opts will overwrite options passed into pillar.

salt.modules.influx.db_create(name, user=None, password=None, host=None, port=None)

Create a database

name
Database name to create
user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.db_create <name>
salt '*' influxdb.db_create <name> <user> <password> <host> <port>
salt.modules.influx.db_exists(name, user=None, password=None, host=None, port=None)

Checks if a database exists in InfluxDB

name
Database name to create
user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.db_exists <name>
salt '*' influxdb.db_exists <name> <user> <password> <host> <port>
salt.modules.influx.db_list(user=None, password=None, host=None, port=None)

List all InfluxDB databases

user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.db_list
salt '*' influxdb.db_list <user> <password> <host> <port>
salt.modules.influx.db_remove(name, user=None, password=None, host=None, port=None)

Remove a database

name
Database name to remove
user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.db_remove <name>
salt '*' influxdb.db_remove <name> <user> <password> <host> <port>
salt.modules.influx.query(database, query, time_precision='s', chunked=False, user=None, password=None, host=None, port=None)

Querying data

database
The database to query
query
Query to be executed
time_precision
Time precision to use ('s', 'm', or 'u')
chunked
Whether is chunked or not
user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.query <database> <query>
salt '*' influxdb.query <database> <query> <time_precision> <chunked> <user> <password> <host> <port>
salt.modules.influx.user_chpass(name, passwd, database=None, user=None, password=None, host=None, port=None)

Change password for a cluster admin or a database user.

If a database is specified: it will update database user password. If a database is not specified: it will update cluster admin password.

name
User name for whom to change the password
passwd
New password
database
The database on which to operate
user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.user_chpass <name> <passwd>
salt '*' influxdb.user_chpass <name> <passwd> <database>
salt '*' influxdb.user_chpass <name> <passwd> <database> <user> <password> <host> <port>
salt.modules.influx.user_create(name, passwd, database=None, user=None, password=None, host=None, port=None)

Create a cluster admin or a database user.

If a database is specified: it will create database user. If a database is not specified: it will create a cluster admin.

name
User name for the new user to create
passwd
Password for the new user to create
database
The database to create the user in
user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.user_create <name> <passwd>
salt '*' influxdb.user_create <name> <passwd> <database>
salt '*' influxdb.user_create <name> <passwd> <database> <user> <password> <host> <port>
salt.modules.influx.user_exists(name, database=None, user=None, password=None, host=None, port=None)

Checks if a cluster admin or database user exists.

If a database is specified: it will check for database user existence. If a database is not specified: it will check for cluster admin existence.

name
User name
database
The database to check for the user to exist
user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.user_exists <name>
salt '*' influxdb.user_exists <name> <database>
salt '*' influxdb.user_exists <name> <database> <user> <password> <host> <port>
salt.modules.influx.user_list(database=None, user=None, password=None, host=None, port=None)

List cluster admins or database users.

If a database is specified: it will return database users list. If a database is not specified: it will return cluster admins list.

database
The database to list the users from
user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.user_list
salt '*' influxdb.user_list <database>
salt '*' influxdb.user_list <database> <user> <password> <host> <port>
salt.modules.influx.user_remove(name, database=None, user=None, password=None, host=None, port=None)

Remove a cluster admin or a database user.

If a database is specified: it will remove the database user. If a database is not specified: it will remove the cluster admin.

name
User name to remove
database
The database to remove the user from
user
User name for the new user to delete
user
The user to connect as
password
The password of the user
host
The host to connect to
port
The port to connect to

CLI Example:

salt '*' influxdb.user_remove <name>
salt '*' influxdb.user_remove <name> <database>
salt '*' influxdb.user_remove <name> <database> <user> <password> <host> <port>