juliendufresne.influxdb

Rôle Ansible InfluxDB

Statut de construction

Installation et gestion d'InfluxDB entièrement configurable.
Vous pouvez gérer vos utilisateurs et bases de données avec les variables influxdb_users et influxdb_databases.

Plateformes prises en charge

Distribution Date de dernière vérification Installation complète Idempotence
CentOS 7.2.1511 (Core) 2016-08-06 18:40:07 OK OK
Debian 7.10 (wheezy) 2016-08-06 18:41:39 OK OK
Debian 8.4 (jessie) 2016-08-06 18:43:44 OK OK
Ubuntu 12.04 (precise) 2016-08-06 18:45:21 OK OK
Ubuntu 14.04 (trusty) 2016-08-06 18:47:32 OK OK
Ubuntu 15.04 (vivid) 2016-08-06 18:49:37 OK OK
Ubuntu 15.10 (wily) 2016-08-06 18:51:39 OK OK
Ubuntu 16.04 (xenial) 2016-08-06 18:53:35 OK OK

Table générée avec test-ansible-roles

Exigences

Ce rôle nécessite ansible 2.1.0+ (apt_repository utilise filename)

Module influxdb_user

Ce rôle contient un module pour gérer vos utilisateurs InfluxDB. Il peut :

  • Assurer qu'un utilisateur est présent ou absent
  • Créer un utilisateur admin ou un utilisateur classique
  • Gérer les droits d'accès aux bases de données des utilisateurs (AUCUN, LIRE, ÉCRIRE ou TOUS les privilèges)
  • Ajouter vos droits spécifiés aux droits existants

Pour plus d'informations sur ce module, consultez sa documentation dédiée

Remarque : Vous pouvez utiliser ce module indépendamment ou via la variable influxdb_users

Variables du rôle

Chaque variable a une valeur par défaut. Ce rôle peut être exécuté avec la configuration par défaut.

options globales

Nom Description Par défaut
influxdb_install_user Quel utilisateur sera utilisé pour l'installation. "root"
influxdb_user Utilisateur InfluxDB "influxdb"
influxdb_group Groupe InfluxDB "influxdb"
influxdb_config_dir Emplacement des fichiers de configuration "/etc/influxdb"
influxdb_config_file Nom du fichier de configuration "influxdb.conf"
influxdb_users Permet de gérer les utilisateurs (voir ci-dessous) []
influxdb_databases Permet de gérer les bases de données (voir ci-dessous) ["_internal"]

Gestion des utilisateurs

La variable influxdb_users permet de gérer la création des utilisateurs et la gestion des droits.
Pour chaque entrée, le script :

  • Créera l'utilisateur s'il n'existe pas
  • Mettra à jour le mot de passe de l'utilisateur s'il a changé
  • Donnera le rôle admin si le type est défini sur admin
  • Révoquera tous les droits d'accès aux bases de données précédemment définis
  • Donnera les droits spécifiés à chaque base de données.

Exemple :

influxdb_users:
  - name: admin
    admin: yes
    password: admin
  - name: grafana
    password: grafana
    grants: "measurement:READ" # Donne accès en LECTURE à la table measurement pour l'utilisateur grafana
  - type: user
    name: telegraf
    password: telegraf
    grants: "measurement:WRITE" # Donne accès en ÉCRITURE à la table measurement pour l'utilisateur telegraf
  - name: john
    password: john
    grants: "measurement:ALL" # Donne accès en LECTURE et ÉCRITURE à la table measurement pour l'utilisateur telegraf

Pour des raisons de sécurité, il ne supprime pas de bases de données.

Gestion des bases de données

Assurez-vous que les bases de données listées dans influxdb_databases sont créées.

Exemple :

influxdb_databases:
  - "_internal"
  - "grafana"

Pour des raisons de sécurité, il ne supprime pas de bases de données.

Options de fichier de configuration

Chaque paramètre du fichier de configuration peut être spécifié.
Format de la variable : influxdb__<nom_du_bloc>__<paramètre_en_case_snake>

Nom Description Par défaut
influxdb_config__meta__dir "/var/lib/influxdb/meta"
influxdb_config__meta__retention_autocreate "true"
influxdb_config__meta__logging_enabled "true"
influxdb_config__meta__pprof_enabled "false"
influxdb_config__meta__lease_duration "1m0s"
influxdb_config__data__enabled "true"
influxdb_config__data__dir "/var/lib/influxdb/data"
influxdb_config__data__wal_dir "/var/lib/influxdb/wal"
influxdb_config__data__wal_logging_enabled "true"
influxdb_config__data__data_logging_enabled "true"
influxdb_config__data__query_log_enabled "true"
influxdb_config__data__cache_max_memory_size 524288000
influxdb_config__data__cache_snapshot_memory_size 26214400
influxdb_config__data__cache_snapshot_write_cold_duration "1h"
influxdb_config__data__compact_min_file_count 3
influxdb_config__data__compact_full_write_cold_duration "24h"
influxdb_config__data__max_points_per_block 1000
influxdb_config__cluster__shard_writer_timeout "5s"
influxdb_config__cluster__write_timeout "10s"
influxdb_config__cluster__max_concurrent_queries 0
influxdb_config__cluster__query_timeout "0s"
influxdb_config__cluster__max_select_point 0
influxdb_config__cluster__max_select_series 0
influxdb_config__cluster__max_select_buckets 0
influxdb_config__retention__enabled "true"
influxdb_config__retention__check_interval "30s"
influxdb_config__shard_precreation__enabled "true"
influxdb_config__shard_precreation__check_interval "10m"
influxdb_config__shard_precreation__advance_period "30m"
influxdb_config__monitor__store_enabled "true"
influxdb_config__monitor__store_database "_internal"
influxdb_config__monitor__store_interval "10s"
influxdb_config__admin__enabled "true"
influxdb_config__admin__bind_address ":8083"
influxdb_config__admin__https_enabled "false"
influxdb_config__admin__https_certificate "/etc/ssl/influxdb.pem"
influxdb_config__http__enabled "true"
influxdb_config__http__bind_address ":8086"
influxdb_config__http__auth_enabled "false"
influxdb_config__http__log_enabled "true"
influxdb_config__http__write_tracing "false"
influxdb_config__http__pprof_enabled "false"
influxdb_config__http__https_enabled "false"
influxdb_config__http__https_certificate "/etc/ssl/influxdb.pem"
influxdb_config__http__max_row_limit 10000
influxdb_config__graphite__enabled "false"
influxdb_config__graphite__bind_address ":2003"
influxdb_config__graphite__database "graphite"
influxdb_config__graphite__protocol "tcp"
influxdb_config__graphite__batch_size 5000
influxdb_config__graphite__batch_pending 10
influxdb_config__graphite__batch_timeout "1s"
influxdb_config__graphite__consistency_level "one"
influxdb_config__graphite__separator "."
influxdb_config__graphite__udp_read_buffer 0
influxdb_config__graphite__tags []
influxdb_config__graphite__templates []
influxdb_config__collectd__enabled "false"
influxdb_config__collectd__bind_address ":25826"
influxdb_config__collectd__database "collectd"
influxdb_config__collectd__batch_size 5000
influxdb_config__collectd__batch_pending 10
influxdb_config__collectd__batch_timeout "10s"
influxdb_config__collectd__read_buffer 0
influxdb_config__collectd__typesdb "/usr/share/collectd/types.db"
influxdb_config__opentsdb__enabled "false"
influxdb_config__opentsdb__bind_address ":4242"
influxdb_config__opentsdb__database "opentsdb"
influxdb_config__opentsdb__retention_policy ""
influxdb_config__opentsdb__consistency_level "one"
influxdb_config__opentsdb__tls_enabled "false"
influxdb_config__opentsdb__certificate "/etc/ssl/influxdb.pem"
influxdb_config__opentsdb__batch_size 1000
influxdb_config__opentsdb__batch_pending 5
influxdb_config__opentsdb__batch_timeout "1s"
influxdb_config__opentsdb__log_point_errors "true"
influxdb_config__udp__enabled "false"
influxdb_config__udp__bind_address ":8089"
influxdb_config__udp__database "udp"
influxdb_config__udp__retention_policy ""
influxdb_config__udp__batch_size 5000
influxdb_config__udp__batch_pending 10
influxdb_config__udp__batch_timeout "1s"
influxdb_config__udp__read_buffer 0
influxdb_config__udp__udp_payload_size 65536
influxdb_config__continuous_queries__log_enabled "true"
influxdb_config__continuous_queries__enabled "true"
influxdb_config__continuous_queries__run_interval "1s"

Dépendances

Aucune.

Exemple de Playbook

Inclure un exemple de la façon d'utiliser votre rôle (par exemple, avec des variables passées en tant que paramètres) est toujours agréable pour les utilisateurs :

- hosts: serveurs
  roles:
     - { role: juliendufresne.influxdb }

Licence

MIT / BSD

Informations sur l'auteur

Ce rôle a été créé en 2016 par Julien Dufresne.

À propos du projet

Fully configurable influxdb installation for Debian/Ubuntu Linux.

Installer
ansible-galaxy install juliendufresne.influxdb
Licence
Unknown
Téléchargements
76
Propriétaire
Software Architect