librato

Ansible Роль: Librato

Ansible роль, которая устанавливает и настраивает агент Librato и плагины.

Требования

Отсутствуют

Зависимости

Отсутствуют

Быстрый старт

Минимально необходимое для начала работы - установить переменные email и token и включить роль:

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

По умолчанию включены следующие плагины: cpu, df, disk, swap, memory, load.

Чтобы включить плагин, задайте необходимые для него переменные, затем добавьте его в переменную librato_enabled_plugins:

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

Поддерживаемые плагины

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

Использование

Использование пользовательских или стандартных плагинов collectd

Чтобы использовать собственный пользовательский или стандартный плагин collectd, просто поместите конфигурацию в /opt/collectd/etc/collectd.conf.d/ и любые пользовательские плагины в /opt/collectd/share/collectd/.

Справка

Плагин: apache

  • librato_apache_protocol

    Тип: строка

    Протокол для использования. По умолчанию http. Измените на https, если требуется SSL.

  • librato_apache_host

    Тип: строка

    Имя хоста для использования. По умолчанию localhost.

  • librato.apache.path

    Тип: строка

    Путь к странице статуса. По умолчанию /server-status. ?auto автоматически добавляется, поэтому не нужно его включать.

  • librato_apache_user

    Тип: строка

    Имя пользователя для защищенных паролем страниц статуса. По умолчанию пусто.

  • librato_apache_password

    Тип: строка

    Пароль для защищенных паролем страниц статуса. По умолчанию пусто.

Плагин: docker

  • librato_docker_protocol

    Тип: строка

    Протокол для использования. По умолчанию http. Измените на https, если требуется SSL.

  • librato_docker_host

    Тип: строка

    Имя хоста Docker. По умолчанию localhost.

  • librato_docker_port

    Тип: строка

    Порт Docker. По умолчанию 2735.

Плагин: elasticsearch

  • librato_elasticsearch_protocol

    Тип: строка

    Протокол для использования. По умолчанию http. Измените на https, если требуется SSL.

  • librato_elasticsearch_host

    Тип: строка

    Имя хоста ElasticSearch. По умолчанию localhost.

  • librato_elasticsearch_port_

    Тип: строка

    Порт ElasticSearch. По умолчанию 9200.

  • librato_elasticsearch_cluster_name

    Тип: строка

    Имя кластера ElasticSearch, если указано. По умолчанию nil.

  • librato_elasticsearch_verbose

    Тип: true/false

    Уровень подробности плагина. По умолчанию true.

Плагин: haproxy

  • librato_haproxy_socket_file

    Тип: строка

    Файл сокета HAProxy. По умолчанию /run/haproxy/admin.sock.

  • librato_haproxy_proxies

    Тип: массив

    Стандартные прокси для сбора данных. По умолчанию server, frontend, backend.

Плагин: jvm

  • librato_jvm_host

    Тип: строка

    Хост JVM. По умолчанию localhost.

  • librato_jvm_service_url

    Тип: строка

    URL службы JVM для опроса. По умолчанию service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi.

  • librato_jvm_mbeans

    Тип: сопоставление

    Дополнительные mbeans для сбора. По умолчанию пусто.

    Формат сопоставления:

    librato_jvm_mbeans: [
      {
        name: 'имя mbean'
        object_name: 'имя объекта'
        instance_prefix: 'передний план экземпляра (необязательно)',
        instance_from: 'экземпляр из (необязательно)',
        values: [
          {
            type: 'тип значения',
            table: true|false,
            attribute: 'атрибут',
            instance_prefix: 'передний план экземпляра (необязательно)',
            instance_from: 'экземпляр из (необязательно)'
          }
        ]
      }
    ]
    

Плагин: memcached

  • librato_memcached_host

    Тип: строка

    Имя хоста memcached. По умолчанию localhost.

  • librato_memcached_port

    Тип: строка

    Порт memcached. По умолчанию 11211.

Плагин: mongodb

  • librato_mongodb_host

    Тип: строка

    Имя хоста MongoDB. По умолчанию localhost.

  • librato_mongodb_port

    Тип: строка

    Порт MongoDB. По умолчанию 27017.

  • librato_mongodb_user

    Тип: строка

    Имя пользователя MongoDB для подключения. По умолчанию nil.

  • librato_mongodb_password

    Тип: строка

    Пароль для подключения к MongoDB. По умолчанию nil.

  • librato_mongodb_databases

    Тип: массив

    Базы данных для сбора метрик. По умолчанию пусто. База данных admin автоматически включается в массив.

  • librato_mongodb_name

    Тип: строка

    Установите имя экземпляра плагина. По умолчанию mongodb.

Плагин: mysql

  • librato_mysql_databases

    Тип: сопоставление

    Базы данных для сбора метрик. По умолчанию пусто.

    Формат хеша:

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

Плагин: nginx

  • librato_nginx_protocol

    Тип: строка

    Протокол для использования. По умолчанию http. Измените на https, если требуется SSL.

  • librato_nginx_host

    Тип: строка

    Имя хоста для использования. По умолчанию localhost.

  • librato_nginx_path

    Тип: строка

    Путь к странице статуса. По умолчанию /basic_status.

Плагин: nginx_plus

  • librato_nginx_plus_protocol

    Тип: строка

    Протокол для использования. По умолчанию http. Измените на https, если требуется SSL.

  • librato_nginx_plus_host

    Тип: строка

    Имя хоста для использования. По умолчанию localhost.

  • librato_nginx_plus_path

    Тип: строка

    Путь к странице статуса. По умолчанию /status.

  • librato_nginx_plus_verbose

    Тип: строка

    Уровень подробности для плагина. По умолчанию false.

Плагин: postgresql

  • librato_postgresql_socket_file

    Тип: строка

    Файл сокета PostgreSQL. По умолчанию /var/run/postgresql.

  • librato_postgresql_user

    Тип: строка

    Имя пользователя PostgreSQL для подключения. По умолчанию postgresql.

  • librato_postgresql_databases

    Тип: сопоставление

    Базы данных для сбора метрик. По умолчанию пусто.

    Формат хеша:

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

Плагин: redis

  • librato_redis_host

    Тип: строка

    Имя хоста Redis. По умолчанию localhost.

  • librato_redis_port

    Тип: строка

    Порт Redis. По умолчанию 6379.

  • librato_redis_timeout

    Тип: строка

    Тайм-аут для подключения к Redis в миллисекундах. По умолчанию 2000.

Плагин: varnish

У Varnish нет настраиваемых параметров.

Плагин: zookeeper

  • librato_zookeeper_host

    Тип: строка

    Имя хоста ZooKeeper. По умолчанию localhost.

  • librato_zookeeper_port

    Тип: строка

    Порт ZooKeeper. По умолчанию 2181.

Глобальные переменные

  • librato_email

    Тип: строка

    Электронная почта для отправки метрик. Используйте вместе с token. Этот параметр обязателен и по умолчанию пуст.

  • librato_token

    Тип: строка

    API токен для отправки метрик. Используйте вместе с email. Этот параметр обязателен и по умолчанию пуст.

  • librato_version

    Тип: строка

    Версия агента Librato для установки.

  • librato_repo_url

    Тип: строка

    Базовый URL-адрес для пакетов. По умолчанию URL-адрес репозитория Librato https://packagecloud.io/librato/.

  • librato_repo_base

    Тип: строка

    Базовая часть репозитория для использования. По умолчанию коллекция репозитория Librato librato-collectd.

  • librato_config_base

    Тип: строка

    Базовый путь для конфигурационных файлов collectd. По умолчанию /opt/collectd/etc.

  • librato_plugin_config_path

    Тип: строка

    Путь для конфигурационных файлов плагинов collectd. По умолчанию /opt/collectd/etc/collectd.conf.d.

  • librato_hostname

    Тип: строка

    Имя хоста для узла. По умолчанию nil, чтобы использовать FQDNLookup.

  • librato_fqdn_lookup

    Тип: true/false

    Выполнить поиск FQDN для имени хоста. По умолчанию true.

  • librato_interval

    Тип: целое число

    Глобальный интервал опроса плагинов в секундах. По умолчанию 60.

  • librato_use_log_file

    Тип: true/false

    Записывать логи collectd в файл. По умолчанию true.

  • librato_use_syslog

    Тип: true/false

    Записывать логи collectd в syslog. По умолчанию false.

  • librato_use_logstash

    Тип: true/false

    Записывать логи collectd в файл формата logstash. По умолчанию false.

  • librato_log_file_log_level

    Тип: строка

    Уровень логирования для log_file. По умолчанию info.

  • librato_log_file_filename

    Тип: строка

    Имя файла для log_file. По умолчанию /opt/collectd/var/log/collectd.log.

  • librato_log_file_timestamp

    Тип: true/false

    Использовать метки времени в лог файле или нет. По умолчанию true.

  • librato_log_file_print_severity

    Тип: true/false

    Включить уровни серьезности в лог файл или нет. По умолчанию true.

  • librato_syslog_log_level

    Тип: строка

    Уровень логирования для syslog. По умолчанию info.

  • librato_logstash_log_level

    Тип: строка

    Уровень логирования для logstash. По умолчанию info.

  • librato_logstash_filename

    Тип: строка

    Имя файла для logstash. По умолчанию /opt/collectd/var/log/collectd.json.log.

  • librato_default_plugins

    Тип: массив

    Список стандартных плагинов для включения. По умолчанию: cpu, df, disk, swap, memory, load.

  • librato_enabled_plugins

    Тип: массив

    Список плагинов для включения. Это отдельный список от стандартных плагинов и используется для включения дополнительных плагинов. По умолчанию пусто.

Поддерживаемые платформы

  • 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

Поддерживаемые версии Ansible

Эта роль требует Ansible 2.2 или новее.

Разработка

Тестирование

Интеграционные тесты используют kitchen-ansible и serverspec. Для запуска тестового набора:

  1. Выполните bundle install
  2. Выполните kitchen test

Тестирование Amazon Linux

Тестирование Amazon Linux через test-kitchen требует немного большей настройки:

  1. Убедитесь, что kitchen-ec2 установлен: gem install kitchen-ec2
  2. Обновите .kitchen.yml с правильным идентификатором ключа AWS, который вы собираетесь использовать.
  3. Задайте security_group_ids в разделе драйвера, чтобы включить группу безопасности, доступную с вашего ноутбука. Если не установить, будет использоваться группа безопасности по умолчанию.
  4. Установите transport.ssh_key на путь к вашему SSH ключу. По умолчанию ищет id_rsa.

Лицензия

MIT

Авторы и Участники

Mike Julian (@mjulian)

О проекте

Install and configure the Librato Agent

Установить
ansible-galaxy install librato/ansible-librato
Лицензия
Unknown
Загрузки
636
Владелец
https://librato.com