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
cpudfmemoryloaddiskswapapachenginxnginx_plusjvmmemcachedvarnishzookeeperdockerelasticsearchmongodbpostgresqlmysqlredishaproxy
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_protocolType : chaîne
Le protocole à utiliser. Par défaut
http. Changez cela enhttpssi vous avez besoin de SSL.librato_apache_hostType : chaîne
Le nom d'hôte à utiliser. Par défaut
localhost.librato.apache.pathType : chaîne
Le chemin vers la page de status. Par défaut
/server-status.?autoest ajouté automatiquement, donc pas besoin de l'inclure.librato_apache_userType : 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_passwordType : 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_protocolType : chaîne
Le protocole à utiliser. Par défaut
http. Changez cela enhttpssi vous avez besoin de SSL.librato_docker_hostType : chaîne
Le nom d'hôte Docker. Par défaut
localhost.librato_docker_portType : chaîne
Le port Docker. Par défaut
2735
Plugin : elasticsearch
librato_elasticsearch_protocolType : chaîne
Le protocole à utiliser. Par défaut
http. Changez cela enhttpssi vous avez besoin de SSL.librato_elasticsearch_hostType : 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_nameType : chaîne
Le nom du cluster ElasticSearch, si défini. Par défaut
nil.librato_elasticsearch_verboseType : vrai/faux
Déclencheur de verbosité du plugin. Par défaut
true.
Plugin : haproxy
librato_haproxy_socket_fileType : chaîne
Le fichier de socket HAProxy. Par défaut
/run/haproxy/admin.sock.librato_haproxy_proxiesType : tableau
Les proxys par défaut à collecter. Par défaut
server,frontend,backend.
Plugin : jvm
librato_jvm_hostType : chaîne
Le nom d'hôte JVM. Par défaut
localhost.librato_jvm_service_urlType : chaîne
L'URL de service JVM à interroger. Par défaut
service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi.librato_jvm_mbeansType : 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_hostType : chaîne
Le nom d'hôte memcached. Par défaut
localhost.librato_memcached_portType : chaîne
Le port memcached. Par défaut
11211.
Plugin : mongodb
librato_mongodb_hostType : chaîne
Le nom d'hôte MongoDB. Par défaut
localhost.librato_mongodb_portType : chaîne
Le port MongoDB. Par défaut
27017.librato_mongodb_userType : chaîne
Le nom d'utilisateur MongoDB pour se connecter. Par défaut
nil.librato_mongodb_passwordType : chaîne
Le mot de passe MongoDB pour se connecter. Par défaut
nil.librato_mongodb_databasesType : tableau
Bases de données pour collecter des métriques. Par défaut vide. La base de données
adminest automatiquement incluse dans le tableau.librato_mongodb_nameType : chaîne
Définir le nom de l'instance du plugin. Par défaut
mongodb.
Plugin : mysql
librato_mysql_databasesType : 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_protocolType : chaîne
Le protocole à utiliser. Par défaut
http. Changez cela enhttpssi vous avez besoin de SSL.librato_nginx_hostType : chaîne
Le nom d'hôte à utiliser. Par défaut
localhost.librato_nginx_pathType : chaîne
Le chemin vers la page de status. Par défaut
/basic_status.
Plugin : nginx_plus
librato_nginx_plus_protocolType : chaîne
Le protocole à utiliser. Par défaut
http. Changez cela enhttpssi vous avez besoin de SSL.librato_nginx_plus_hostType : chaîne
Le nom d'hôte à utiliser. Par défaut
localhost.librato_nginx_plus_pathType : chaîne
Le chemin vers la page de status. Par défaut
/status.librato_nginx_plus_verboseType : chaîne
Verbosité activée/désactivée pour le plugin. Par défaut
false.
Plugin : postgresql
librato_postgresql_socket_fileType : chaîne
Le fichier de socket PostgreSQL. Par défaut
/var/run/postgresql.librato_postgresql_userType : chaîne
L'utilisateur PostgreSQL pour se connecter. Par défaut
postgresql.librato_postgresql_databasesType : 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_hostType : chaîne
Le nom d'hôte Redis. Par défaut
localhost.librato_redis_portType : chaîne
Le port Redis. Par défaut
6379.librato_redis_timeoutType : 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_hostType : chaîne
Le nom d'hôte ZooKeeper. Par défaut
localhost.librato_zookeeper_portType : chaîne
Le port ZooKeeper. Par défaut
2181.
Variables Globales
librato_emailType : chaîne
L'email à utiliser pour envoyer des métriques. Utilisé avec
token. Cet attribut est requis et par défaut vide.librato_tokenType : chaîne
Le token API à utiliser pour envoyer des métriques. Utilisé avec
email. Cet attribut est requis et par défaut vide.librato_versionType : chaîne
La version de l'agent Librato à installer.
librato_repo_urlType : 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_baseType : 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_baseType : chaîne
Le chemin de base pour les fichiers de configuration de collectd. Par défaut
/opt/collectd/etc.librato_plugin_config_pathType : chaîne
Le chemin pour les configurations des plugins de collectd. Par défaut
/opt/collectd/etc/collectd.conf.d.librato_hostnameType : chaîne
Le nom d'hôte à utiliser pour le nœud. Par défaut
nilen faveur de l'utilisation deFQDNLookup.librato_fqdn_lookupType : vrai/faux
Effectuer une recherche FQDN pour le nom d'hôte. Par défaut
true.librato_intervalType : entier
L'intervalle de sondage global des plugins en secondes. Par défaut
60.librato_use_log_fileType : vrai/faux
Écrire les journaux collectd dans un fichier. Par défaut
true.librato_use_syslogType : vrai/faux
Écrire les journaux collectd dans le syslog. Par défaut
false.librato_use_logstashType : vrai/faux
Écrire les journaux collectd dans un fichier formaté logstash. Par défaut
false.librato_log_file_log_levelType : chaîne
Le niveau de journalisation à utiliser pour
log_file. Par défautinfo.librato_log_file_filenameType : chaîne
Le nom de fichier à utiliser pour
log_file. Par défaut/opt/collectd/var/log/collectd.log.librato_log_file_timestampType : vrai/faux
Utiliser des horodatages dans le fichier de journal ou non. Par défaut
true.librato_log_file_print_severityType : vrai/faux
Inclure les niveaux de gravité dans le fichier de journal ou non. Par défaut
true.librato_syslog_log_levelType : chaîne
Le niveau de journalisation à utiliser pour
syslog. Par défautinfo.librato_logstash_log_levelType : chaîne
Le niveau de journalisation à utiliser pour
logstash. Par défautinfo.librato_logstash_filenameType : chaîne
Le nom de fichier à utiliser pour
logstash. Par défaut/opt/collectd/var/log/collectd.json.log.librato_default_pluginsType : tableau
Une liste de plugins par défaut à inclure. Par défaut :
cpu,df,disk,swap,memory,load.librato_enabled_pluginsType : 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-ec2est installé :gem install kitchen-ec2 - Mettez à jour
.kitchen.ymlpour avoir le bon ID de clé AWS que vous allez utiliser. - Définissez
security_group_idsdans 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_keysur le chemin de votre clé SSH. Il chercheid_rsapar défaut.
Licence
MIT
Auteurs et contributeurs
Mike Julian (@mjulian)
ansible-galaxy install librato.librato