librato.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']
Поддерживаемые плагины
cpudfmemoryloaddiskswapapachenginxnginx_plusjvmmemcachedvarnishzookeeperdockerelasticsearchmongodbpostgresqlmysqlredishaproxy
Использование
Использование пользовательских или стандартных плагинов 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. Для запуска тестового набора:
- Выполните
bundle install - Выполните
kitchen test
Тестирование Amazon Linux
Тестирование Amazon Linux через test-kitchen требует немного большей настройки:
- Убедитесь, что
kitchen-ec2установлен:gem install kitchen-ec2 - Обновите
.kitchen.ymlс правильным идентификатором ключа AWS, который вы собираетесь использовать. - Задайте
security_group_idsв разделе драйвера, чтобы включить группу безопасности, доступную с вашего ноутбука. Если не установить, будет использоваться группа безопасности по умолчанию. - Установите
transport.ssh_keyна путь к вашему SSH ключу. По умолчанию ищетid_rsa.
Лицензия
MIT
Авторы и Участники
Mike Julian (@mjulian)
ansible-galaxy install librato.librato