librato.librato

Rol de Ansible: Librato

Un rol de Ansible que instala y configura el Agente de Librato y sus complementos.

Requisitos

Ninguno.

Dependencias

Ninguna.

Inicio rápido

Lo mínimo necesario para comenzar es configurar las variables email y token, e incluir el rol:

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

Por defecto, los siguientes complementos están habilitados: cpu, df, disk, swap, memory, load.

Para incluir un complemento, establece las variables que necesites y luego agrégalo a la variable librato_enabled_plugins:

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

Complementos Soportados

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

Uso

Usando complementos collectd personalizados o de upstream

Para usar tu propio complemento collectd personalizado o de upstream, simplemente haz que otro módulo coloque la configuración en /opt/collectd/etc/collectd.conf.d/ y cualquier complemento personalizado en /opt/collectd/share/collectd/.

Referencia

Complemento: apache

  • librato_apache_protocol

    Tipo: string

    El protocolo a usar. Por defecto es http. Cambia esto a https si necesitas SSL.

  • librato_apache_host

    Tipo: string

    El nombre del host a usar. Por defecto es localhost.

  • librato.apache.path

    Tipo: string

    La ruta a la página de estado. Por defecto es /server-status. ?auto se agrega automáticamente, así que no es necesario incluirlo.

  • librato_apache_user

    Tipo: string

    El nombre de usuario para páginas de estado protegidas por contraseña. Por defecto está vacío.

  • librato_apache_password

    Tipo: string

    La contraseña para páginas de estado protegidas por contraseña. Por defecto está vacía.

Complemento: docker

  • librato_docker_protocol

    Tipo: string

    El protocolo a usar. Por defecto es http. Cambia esto a https si necesitas SSL.

  • librato_docker_host

    Tipo: string

    El nombre del host de Docker. Por defecto es localhost.

  • librato_docker_port

    Tipo: string

    El puerto de Docker. Por defecto es 2735.

Complemento: elasticsearch

  • librato_elasticsearch_protocol

    Tipo: string

    El protocolo a usar. Por defecto es http. Cambia esto a https si necesitas SSL.

  • librato_elasticsearch_host

    Tipo: string

    El nombre del host de ElasticSearch. Por defecto es localhost.

  • librato_elasticsearch_port_

    Tipo: string

    El puerto de ElasticSearch. Por defecto es 9200.

  • librato_elasticsearch_cluster_name

    Tipo: string

    El nombre del clúster de ElasticSearch, si se establece. Por defecto es nil.

  • librato_elasticsearch_verbose

    Tipo: true/false

    Indica el nivel de detalle del complemento. Por defecto es true.

Complemento: haproxy

  • librato_haproxy_socket_file

    Tipo: string

    El archivo de socket de HAProxy. Por defecto es /run/haproxy/admin.sock.

  • librato_haproxy_proxies

    Tipo: array

    Los proxys por defecto a recolectar. Por defecto son server, frontend, backend.

Complemento: jvm

  • librato_jvm_host

    Tipo: string

    El host de JVM. Por defecto es localhost.

  • librato_jvm_service_url

    Tipo: string

    La URL del servicio JVM a consultar. Por defecto es service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi.

  • librato_jvm_mbeans

    Tipo: mapping

    Mbeans adicionales a recolectar. Por defecto está vacío.

    El formato del mapeo es:

    librato_jvm_mbeans: [
      {
        name: 'nombre mbean'
        object_name: 'nombre objeto'
        instance_prefix: 'prefijo instancia (opcional)',
        instance_from: 'instancia de (opcional)',
        values: [
          {
            type: 'tipo de valor',
            table: true|false,
            attribute: 'atributo'
            instance_prefix: 'prefijo instancia (opcional)',
            instance_from: 'instancia de (opcional)'
          }
        ]
      }
    ]
    

Complemento: memcached

  • librato_memcached_host

    Tipo: string

    El nombre del host de memcached. Por defecto es localhost.

  • librato_memcached_port

    Tipo: string

    El puerto de memcached. Por defecto es 11211.

Complemento: mongodb

  • librato_mongodb_host

    Tipo: string

    El nombre del host de MongoDB. Por defecto es localhost.

  • librato_mongodb_port

    Tipo: string

    El puerto de MongoDB. Por defecto es 27017.

  • librato_mongodb_user

    Tipo: string

    El nombre de usuario de MongoDB para conectarse. Por defecto es nil.

  • librato_mongodb_password

    Tipo: string

    La contraseña de MongoDB para conectarse. Por defecto es nil.

  • librato_mongodb_databases

    Tipo: array

    Bases de datos para recolectar métricas. Por defecto está vacío. La base de datos admin se incluye automáticamente en el array.

  • librato_mongodb_name

    Tipo: string

    Establece el nombre de la instancia del complemento. Por defecto es mongodb.

Complemento: mysql

  • librato_mysql_databases

    Tipo: mapping

    Bases de datos para recolectar métricas. Por defecto está vacío.

    El formato del hash es:

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

Complemento: nginx

  • librato_nginx_protocol

    Tipo: string

    El protocolo a usar. Por defecto es http. Cambia esto a https si necesitas SSL.

  • librato_nginx_host

    Tipo: string

    El nombre del host a usar. Por defecto es localhost.

  • librato_nginx_path

    Tipo: string

    La ruta a la página de estado. Por defecto es /basic_status.

Complemento: nginx_plus

  • librato_nginx_plus_protocol

    Tipo: string

    El protocolo a usar. Por defecto es http. Cambia esto a https si necesitas SSL.

  • librato_nginx_plus_host

    Tipo: string

    El nombre del host a usar. Por defecto es localhost.

  • librato_nginx_plus_path

    Tipo: string

    La ruta a la página de estado. Por defecto es /status.

  • librato_nginx_plus_verbose

    Tipo: string

    Indica si se debe mostrar más detalle para el complemento. Por defecto es false.

Complemento: postgresql

  • librato_postgresql_socket_file

    Tipo: string

    El archivo de socket de PostgreSQL. Por defecto es /var/run/postgresql.

  • librato_postgresql_user

    Tipo: string

    El usuario de PostgreSQL para conectarse. Por defecto es postgresql.

  • librato_postgresql_databases

    Tipo: mapping

    Las bases de datos para recolectar métricas. Por defecto está vacío.

    El formato del hash es:

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

Complemento: redis

  • librato_redis_host

    Tipo: string

    El nombre del host de Redis. Por defecto es localhost.

  • librato_redis_port

    Tipo: string

    El puerto de Redis. Por defecto es 6379.

  • librato_redis_timeout

    Tipo: string

    El tiempo de espera para conectarse a Redis en milisegundos. Por defecto es 2000.

Complemento: varnish

Varnish no tiene atributos configurables.

Complemento: zookeeper

  • librato_zookeeper_host

    Tipo: string

    El nombre del host de ZooKeeper. Por defecto es localhost.

  • librato_zookeeper_port

    Tipo: string

    El puerto de ZooKeeper. Por defecto es 2181.

Variables Globales

  • librato_email

    Tipo: string

    El correo electrónico a usar para enviar métricas. Se usa junto con token. Este atributo es requerido y por defecto está vacío.

  • librato_token

    Tipo: string

    El token API a usar para enviar métricas. Se usa junto con email. Este atributo es requerido y por defecto está vacío.

  • librato_version

    Tipo: string

    La versión del Agente de Librato a instalar.

  • librato_repo_url

    Tipo: string

    La URL base para los paquetes. Por defecto es la URL del repositorio de Librato https://packagecloud.io/librato/.

  • librato_repo_base

    Tipo: string

    La base del repositorio a usar. Por defecto es la colección del repositorio de Librato librato-collectd.

  • librato_config_base

    Tipo: string

    La ruta base para los archivos de configuración de collectd. Por defecto es /opt/collectd/etc.

  • librato_plugin_config_path

    Tipo: string

    La ruta para los archivos de configuración de complementos de collectd. Por defecto es /opt/collectd/etc/collectd.conf.d.

  • librato_hostname

    Tipo: string

    El nombre del host a usar para el nodo. Por defecto es nil, a favor de usar FQDNLookup.

  • librato_fqdn_lookup

    Tipo: true/false

    Realiza una búsqueda FQDN para el nombre de host. Por defecto es true.

  • librato_interval

    Tipo: integer

    El intervalo global de sondeo de complementos en segundos. Por defecto es 60.

  • librato_use_log_file

    Tipo: true/false

    Escribe los registros de collectd en un archivo. Por defecto es true.

  • librato_use_syslog

    Tipo: true/false

    Escribe los registros de collectd en syslog. Por defecto es false.

  • librato_use_logstash

    Tipo: true/false

    Escribe los registros de collectd en un archivo con formato logstash. Por defecto es false.

  • librato_log_file_log_level

    Tipo: string

    El nivel de registro a usar para log_file. Por defecto es info.

  • librato_log_file_filename

    Tipo: string

    El nombre del archivo a usar para log_file. Por defecto es /opt/collectd/var/log/collectd.log.

  • librato_log_file_timestamp

    Tipo: true/false

    Usa o no marcas de tiempo en el archivo de registros. Por defecto es true.

  • librato_log_file_print_severity

    Tipo: true/false

    Incluye niveles de severidad en el archivo de registros o no. Por defecto es true.

  • librato_syslog_log_level

    Tipo: string

    El nivel de registro a usar para syslog. Por defecto es info.

  • librato_logstash_log_level

    Tipo: string

    El nivel de registro a usar para logstash. Por defecto es info.

  • librato_logstash_filename

    Tipo: string

    El nombre de archivo a usar para logstash. Por defecto es /opt/collectd/var/log/collectd.json.log.

  • librato_default_plugins

    Tipo: array

    Una lista de complementos por defecto a incluir. Por defecto es: cpu, df, disk, swap, memory, load.

  • librato_enabled_plugins

    Tipo: array

    Una lista de complementos a habilitar. Esto es separado de los complementos por defecto y se usa para incluir complementos aparte de los que están incluidos por defecto. Por defecto está vacío.

Plataformas Soportadas

  • 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

Versiones de Ansible Soportadas

Este rol requiere Ansible 2.2 o posterior.

Desarrollo

Pruebas

Las pruebas de integración utilizan kitchen-ansible y serverspec. Para ejecutar la suite de pruebas:

  1. Ejecuta bundle install
  2. Ejecuta kitchen test

Pruebas en Amazon Linux

Pruebas en Amazon Linux a través de test-kitchen requieren un poco más de configuración:

  1. Asegúrate de que kitchen-ec2 esté instalado: gem install kitchen-ec2
  2. Actualiza .kitchen.yml para tener el ID de clave AWS correcto que vas a usar.
  3. Establece security_group_ids en la sección del controlador para incluir un grupo de seguridad accesible desde tu computadora portátil. No establecer esto usará el grupo de seguridad default.
  4. Establece transport.ssh_key en la ruta de tu clave SSH. Busca id_rsa por defecto.

Licencia

MIT

Autores y Contribuyentes

Mike Julian (@mjulian)

Acerca del proyecto

Install and configure the Librato Agent

Instalar
ansible-galaxy install librato.librato
Licencia
Unknown
Descargas
651
Propietario
https://librato.com