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
. Для запуска тестового набора:
- Выполните
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/ansible-librato