librato.librato

Rôle Ansible : Librato

Un rôle Ansible qui installe et configure l'agent Librato et ses plugins.

Exigences

Aucune

Dépendances

Aucune

Démarrage rapide

Le strict minimum nécessaire pour commencer est de définir les variables email et token et d'inclure le rôle :

- hosts: all
  roles:
    - { role: librato.librato, librato_email: '[email protected]', librato_token: 'votre-token-ici' }

Par défaut, les plugins suivants sont activés : cpu, df, disk, swap, memory, load.

Pour inclure un plugin, définissez les variables nécessaires pour celui-ci, puis ajoutez-le à la variable librato_enabled_plugins :

- hosts: all
  vars:
    librato_apache_path: '/mon-endpoint-status'
    librato_enabled_plugins: ['apache']

Plugins pris en charge

  • cpu
  • df
  • memory
  • load
  • disk
  • swap
  • apache
  • nginx
  • nginx_plus
  • jvm
  • memcached
  • varnish
  • zookeeper
  • docker
  • elasticsearch
  • mongodb
  • postgresql
  • mysql
  • redis
  • haproxy

Utilisation

Utilisation de plugins collectd personnalisés ou en amont

Pour utiliser votre propre plugin collectd personnalisé ou en amont, il suffit d'avoir un autre module qui dépose la configuration dans /opt/collectd/etc/collectd.conf.d/ et les plugins personnalisés dans /opt/collectd/share/collectd/.

Référence

Plugin : apache

  • librato_apache_protocol

    Type : chaîne

    Le protocole à utiliser. Par défaut http. Changez cela en https si vous avez besoin de SSL.

  • librato_apache_host

    Type : chaîne

    Le nom d'hôte à utiliser. Par défaut localhost.

  • librato.apache.path

    Type : chaîne

    Le chemin vers la page de status. Par défaut /server-status. ?auto est ajouté automatiquement, donc pas besoin de l'inclure.

  • librato_apache_user

    Type : chaîne

    Le nom d'utilisateur à utiliser pour les pages de status protégées par mot de passe. Par défaut vide.

  • librato_apache_password

    Type : chaîne

    Le mot de passe à utiliser pour les pages de status protégées par mot de passe. Par défaut vide.

Plugin : docker

  • librato_docker_protocol

    Type : chaîne

    Le protocole à utiliser. Par défaut http. Changez cela en https si vous avez besoin de SSL.

  • librato_docker_host

    Type : chaîne

    Le nom d'hôte Docker. Par défaut localhost.

  • librato_docker_port

    Type : chaîne

    Le port Docker. Par défaut 2735

Plugin : elasticsearch

  • librato_elasticsearch_protocol

    Type : chaîne

    Le protocole à utiliser. Par défaut http. Changez cela en https si vous avez besoin de SSL.

  • librato_elasticsearch_host

    Type : chaîne

    Le nom d'hôte ElasticSearch. Par défaut localhost.

  • librato_elasticsearch_port_

    Type : chaîne

    Le port ElasticSearch. Par défaut 9200.

  • librato_elasticsearch_cluster_name

    Type : chaîne

    Le nom du cluster ElasticSearch, si défini. Par défaut nil.

  • librato_elasticsearch_verbose

    Type : vrai/faux

    Déclencheur de verbosité du plugin. Par défaut true.

Plugin : haproxy

  • librato_haproxy_socket_file

    Type : chaîne

    Le fichier de socket HAProxy. Par défaut /run/haproxy/admin.sock.

  • librato_haproxy_proxies

    Type : tableau

    Les proxys par défaut à collecter. Par défaut server, frontend, backend.

Plugin : jvm

  • librato_jvm_host

    Type : chaîne

    Le nom d'hôte JVM. Par défaut localhost.

  • librato_jvm_service_url

    Type : chaîne

    L'URL de service JVM à interroger. Par défaut service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi.

  • librato_jvm_mbeans

    Type : mapping

    MBeans supplémentaires à collecter. Par défaut vide.

    Le format du mapping est :

    librato_jvm_mbeans: [
      {
        name: 'nom_mbean'
        object_name: 'nom_objet'
        instance_prefix: 'préfixe_instance (facultatif)',
        instance_from: 'instance_de (facultatif)',
        values: [
          {
            type: 'type_valeur',
            table: true|false,
            attribute: 'attribut'
            instance_prefix: 'préfixe_instance (facultatif)',
            instance_from: 'instance_de (facultatif)'
          }
        ]
      }
    ]
    

Plugin : memcached

  • librato_memcached_host

    Type : chaîne

    Le nom d'hôte memcached. Par défaut localhost.

  • librato_memcached_port

    Type : chaîne

    Le port memcached. Par défaut 11211.

Plugin : mongodb

  • librato_mongodb_host

    Type : chaîne

    Le nom d'hôte MongoDB. Par défaut localhost.

  • librato_mongodb_port

    Type : chaîne

    Le port MongoDB. Par défaut 27017.

  • librato_mongodb_user

    Type : chaîne

    Le nom d'utilisateur MongoDB pour se connecter. Par défaut nil.

  • librato_mongodb_password

    Type : chaîne

    Le mot de passe MongoDB pour se connecter. Par défaut nil.

  • librato_mongodb_databases

    Type : tableau

    Bases de données pour collecter des métriques. Par défaut vide. La base de données admin est automatiquement incluse dans le tableau.

  • librato_mongodb_name

    Type : chaîne

    Définir le nom de l'instance du plugin. Par défaut mongodb.

Plugin : mysql

  • librato_mysql_databases

    Type : mapping

    Bases de données pour collecter des métriques. Par défaut vide.

    Le format du hash est :

    databases: [
      {
        name: 'ma_base'
        host: 'localhost'
        port: 3306
        user: ''
        password: ''
        innodb_stats: true
        slave_stats: false
      }
    ]
    

Plugin : nginx

  • librato_nginx_protocol

    Type : chaîne

    Le protocole à utiliser. Par défaut http. Changez cela en https si vous avez besoin de SSL.

  • librato_nginx_host

    Type : chaîne

    Le nom d'hôte à utiliser. Par défaut localhost.

  • librato_nginx_path

    Type : chaîne

    Le chemin vers la page de status. Par défaut /basic_status.

Plugin : nginx_plus

  • librato_nginx_plus_protocol

    Type : chaîne

    Le protocole à utiliser. Par défaut http. Changez cela en https si vous avez besoin de SSL.

  • librato_nginx_plus_host

    Type : chaîne

    Le nom d'hôte à utiliser. Par défaut localhost.

  • librato_nginx_plus_path

    Type : chaîne

    Le chemin vers la page de status. Par défaut /status.

  • librato_nginx_plus_verbose

    Type : chaîne

    Verbosité activée/désactivée pour le plugin. Par défaut false.

Plugin : postgresql

  • librato_postgresql_socket_file

    Type : chaîne

    Le fichier de socket PostgreSQL. Par défaut /var/run/postgresql.

  • librato_postgresql_user

    Type : chaîne

    L'utilisateur PostgreSQL pour se connecter. Par défaut postgresql.

  • librato_postgresql_databases

    Type : mapping

    Les bases de données pour collecter des métriques. Par défaut vide.

    Le format du hash est :

    databases = [
      {
        name: 'ma_base'
        instance: 'baz'
        host: 'localhost'
        port: 5432
        user: ''
        password: ''
        ssl_mode: 'prefer'
      }
    ]
    

Plugin : redis

  • librato_redis_host

    Type : chaîne

    Le nom d'hôte Redis. Par défaut localhost.

  • librato_redis_port

    Type : chaîne

    Le port Redis. Par défaut 6379.

  • librato_redis_timeout

    Type : chaîne

    Le délai d'attente pour se connecter à Redis en millisecondes. Par défaut 2000.

Plugin : varnish

Varnish n'a pas d'attributs configurables.

Plugin : zookeeper

  • librato_zookeeper_host

    Type : chaîne

    Le nom d'hôte ZooKeeper. Par défaut localhost.

  • librato_zookeeper_port

    Type : chaîne

    Le port ZooKeeper. Par défaut 2181.

Variables Globales

  • librato_email

    Type : chaîne

    L'email à utiliser pour envoyer des métriques. Utilisé avec token. Cet attribut est requis et par défaut vide.

  • librato_token

    Type : chaîne

    Le token API à utiliser pour envoyer des métriques. Utilisé avec email. Cet attribut est requis et par défaut vide.

  • librato_version

    Type : chaîne

    La version de l'agent Librato à installer.

  • librato_repo_url

    Type : chaîne

    L'URL de base pour les paquets. Par défaut c'est l'URL du dépôt de Librato https://packagecloud.io/librato/.

  • librato_repo_base

    Type : chaîne

    La base de dépôt à utiliser. Par défaut, c'est la collection de dépôt de Librato librato-collectd.

  • librato_config_base

    Type : chaîne

    Le chemin de base pour les fichiers de configuration de collectd. Par défaut /opt/collectd/etc.

  • librato_plugin_config_path

    Type : chaîne

    Le chemin pour les configurations des plugins de collectd. Par défaut /opt/collectd/etc/collectd.conf.d.

  • librato_hostname

    Type : chaîne

    Le nom d'hôte à utiliser pour le nœud. Par défaut nil en faveur de l'utilisation de FQDNLookup.

  • librato_fqdn_lookup

    Type : vrai/faux

    Effectuer une recherche FQDN pour le nom d'hôte. Par défaut true.

  • librato_interval

    Type : entier

    L'intervalle de sondage global des plugins en secondes. Par défaut 60.

  • librato_use_log_file

    Type : vrai/faux

    Écrire les journaux collectd dans un fichier. Par défaut true.

  • librato_use_syslog

    Type : vrai/faux

    Écrire les journaux collectd dans le syslog. Par défaut false.

  • librato_use_logstash

    Type : vrai/faux

    Écrire les journaux collectd dans un fichier formaté logstash. Par défaut false.

  • librato_log_file_log_level

    Type : chaîne

    Le niveau de journalisation à utiliser pour log_file. Par défaut info.

  • librato_log_file_filename

    Type : chaîne

    Le nom de fichier à utiliser pour log_file. Par défaut /opt/collectd/var/log/collectd.log.

  • librato_log_file_timestamp

    Type : vrai/faux

    Utiliser des horodatages dans le fichier de journal ou non. Par défaut true.

  • librato_log_file_print_severity

    Type : vrai/faux

    Inclure les niveaux de gravité dans le fichier de journal ou non. Par défaut true.

  • librato_syslog_log_level

    Type : chaîne

    Le niveau de journalisation à utiliser pour syslog. Par défaut info.

  • librato_logstash_log_level

    Type : chaîne

    Le niveau de journalisation à utiliser pour logstash. Par défaut info.

  • librato_logstash_filename

    Type : chaîne

    Le nom de fichier à utiliser pour logstash. Par défaut /opt/collectd/var/log/collectd.json.log.

  • librato_default_plugins

    Type : tableau

    Une liste de plugins par défaut à inclure. Par défaut : cpu, df, disk, swap, memory, load.

  • librato_enabled_plugins

    Type : tableau

    Une liste de plugins à activer. Cela est séparé des plugins par défaut et est utilisé pour inclure d'autres plugins. Par défaut vide.

Plates-formes prises en charge

  • RHEL 6 / CentOS 6
  • RHEL 7 / CentOS 7
  • Fedora 23
  • Amazon Linux 2016.03
  • Ubuntu 12.04
  • Ubuntu 14.04
  • Ubuntu 15.04
  • Ubuntu 15.10
  • Ubuntu 16.04
  • Debian 7
  • Debian 8

Versions Ansible prises en charge

Ce rôle nécessite Ansible 2.2 ou version ultérieure.

Développement

Tests

Les tests d'intégration utilisent kitchen-ansible et serverspec. Pour exécuter la suite de tests :

  1. Exécutez bundle install
  2. Exécutez kitchen test

Tester Amazon Linux

Tester Amazon Linux via test-kitchen nécessite un peu plus de configuration :

  1. Assurez-vous que kitchen-ec2 est installé : gem install kitchen-ec2
  2. Mettez à jour .kitchen.yml pour avoir le bon ID de clé AWS que vous allez utiliser.
  3. Définissez security_group_ids dans la section du pilote pour inclure un groupe de sécurité accessible depuis votre ordinateur portable. Ne pas définir cela utilisera le group de sécurité default.
  4. Définissez transport.ssh_key sur le chemin de votre clé SSH. Il cherche id_rsa par défaut.

Licence

MIT

Auteurs et contributeurs

Mike Julian (@mjulian)

À propos du projet

Install and configure the Librato Agent

Installer
ansible-galaxy install librato.librato
Licence
Unknown
Téléchargements
651
Propriétaire
https://librato.com