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 enhttps
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 enhttps
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 enhttps
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 enhttps
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 enhttps
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 deFQDNLookup
.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éfautinfo
.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éfautinfo
.librato_logstash_log_level
Type : chaîne
Le niveau de journalisation à utiliser pour
logstash
. Par défautinfo
.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 :
- Exécutez
bundle install
- Exécutez
kitchen test
Tester Amazon Linux
Tester Amazon Linux via test-kitchen
nécessite un peu plus de configuration :
- Assurez-vous que
kitchen-ec2
est installé :gem install kitchen-ec2
- Mettez à jour
.kitchen.yml
pour avoir le bon ID de clé AWS que vous allez utiliser. - 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
. - Définissez
transport.ssh_key
sur le chemin de votre clé SSH. Il chercheid_rsa
par défaut.
Licence
MIT
Auteurs et contributeurs
Mike Julian (@mjulian)
ansible-galaxy install librato.librato