mediafellows.influxdb

Ansible-Test

Rôle Ansible pour serveur InfluxDB

Ce rôle configure un serveur complet de la stack TICK (sans installer Telegraf). Il installe une configuration complète de InfluxDB, Chronograf et Kapacitor.

Ce rôle est destiné à un serveur qui reçoit des métriques de l'agent Telegraf et les stocke dans InfluxDB pour permettre la surveillance et l'alerte via Chronograf et Kapacitor, le tout sur un seul hôte. Chronograf sera configuré avec OAuth Github pour éviter l'accès public.

Si vous souhaitez également installer Telegraf, il existe un rôle séparé mediafellows.telegraf qui peut être utilisé sur toutes les machines que vous souhaitez surveiller.

Exigences

Système d'exploitation Ubuntu 16.04 ou plus récent. D'autres distributions peuvent également fonctionner, mais elles doivent avoir le package python-influxdb disponible dans leurs dépôts apt. Ce package est nécessaire comme dépendance pour que les modules influxdb d'Ansible fonctionnent.

Si vous utilisez une version d'Ansible inférieure à 2.6, vous devrez peut-être également ajouter les modules influxdb à votre répertoire de bibliothèque Ansible (généralement ./library/). Vous pouvez les trouver ici : https://github.com/ansible/ansible/tree/devel/lib/ansible/modules/database/influxdb

Ouvrez également le port 8888 pour exposer Chronograf au monde extérieur ou un autre port si vous modifiez la configuration ou si vous mettez un serveur web (proxy inverse) devant.

Variables du rôle

Variables du rôle que vous devez modifier :

  • chronograf_public_url: https://some-url.com - URL accessible publiquement de la configuration de Chronograf.
  • influxdb_admin_pw: secret_pw - définissez votre propre mot de passe pour l'utilisateur administrateur InfluxDB.
  • influxdb_chronograf_pw: secret_pw - définissez votre propre mot de passe pour l'utilisateur Chronograf InfluxDB (pour lire les données).
  • influxdb_telegraf_pw: secret_pw - définissez votre propre mot de passe pour l'utilisateur Telegraf InfluxDB (pour ingérer les données).
  • influxdb_chronograf_oauth_secret: abc123def - Chaîne aléatoire utilisée comme sel pour le cryptage.
  • influxdb_chronograf_oauth_github_id: abc123 - ID d'application OAuth fourni par Github après en avoir créé une.
  • influxdb_chronograf_oauth_github_secret: abc123 - Secret d'application OAuth fourni par Github.
  • influxdb_chronograf_oauth_github_org: myorg - Restreignez cela à votre organisation Github, assurez-vous que votre application OAuth est détenue par cette organisation.

Optionnellement, vous pouvez modifier d'autres paramètres, voir defaults/main.yml pour plus de détails.

Certaines variables utiles pour restaurer l'état à partir de sauvegardes de base de données existantes :

  • influxdb_meta_backup: /some/path/to/influxdb_backup/meta.00 - Chemin vers le fichier de sauvegarde de la base de données InfluxDB meta local, qui sera copié sur l'instance InfluxDB et restauré. Cela remplacera toute autre configuration de base de données (utilisateurs, tables, etc.).
  • influxdb_chronograf_db_backup: /some/path/chronograf-v1.db - Chemin vers le fichier de base de données des paramètres Chronograf local. Contient généralement des paramètres tels que les sources Influx et les utilisateurs d'authentification Chronograf.
  • influxdb_kapacitor_db_backup: /some/path/kapacitor.db - Chemin vers le fichier de base de données des paramètres Kapacitor local. Contient généralement les paramètres d'alerte / scripts TICK, etc.

Dépendances

Ne dépend d'aucun autre rôle.

Exemple de Playbook

Exemple d'intégration de rôle dans votre play :

- hosts: servers
  become: true
  vars:
    influxdb_port: 123
  roles:
     - mediafellows.influxdb
  tasks:
    # autres tâches

Licence

BSD, tel quel.

Informations sur l'auteur

Stefan Horning stefan.horning@mediafellows.com

À propos du projet

Role to setting up a InfluxDB / TICK monitoring server

Installer
ansible-galaxy install mediafellows.influxdb
Licence
Unknown
Téléchargements
152
Propriétaire
MediaStore - a studio-grade cloud solutions to streamline content sales and distribution - allows you to manage, market, license and deliver your content