rajasoun.ansible_role_monit
Monit
Роль Ansible для настройки Monit.
Предварительные требования
Хост, готовый к использованию с Ansible.
Установка
Установите эту роль с помощью ansible-galaxy.
$ ansible-galaxy install rajasoun.ansible_role_monit cloudalchemy.node_exporter
Запуск плейбука
Отредактируйте mmonit_server_ip
в ~/.ansible/roles/rajasoun.ansible_role_monit/local.yml
и выберите ssl или non-ssl.
$ ansible-playbook -i ~/.ansible/roles/rajasoun.ansible_role_monit/inventory ~/.ansible/roles/rajasoun.ansible_role_monit/local.yml
Тестирование
Используйте Multipass для создания виртуальной машины локально.
$ git clone https://github.com/rajasoun/multipass-wrapper
$ cd multipass-wrapper
$ ./assist.bash multipass setup
$ ./assist.bash multipass status
$ ./assist.bash multipass shell
$ sudo apt-get install ansible -y
$ ansible-playbook -i ~/.ansible/roles/rajasoun.ansible_role_monit/inventory ~/.ansible/roles/rajasoun.ansible_role_monit/local.yml
Переменные роли
monit_cycle
: Время между проверками в секундах. По умолчанию120
.monit_log_destination
: Куда будет записан лог. Может быть путем к файлу или "syslog", который будет записывать в системный лог. По умолчанию/var/log/monit.log
.monit_state_file
: Путь к файлу состояния. По умолчанию/var/lib/monit/state
.monit_id_file
: Путь к файлу ID. По умолчанию/var/lib/monit/id
.monit_eventqueue_dir
: Путь к директории очереди событий. Используется только при определении этой переменной. По умолчанию/var/lib/monit/events
.monit_eventqueue_slots
: Слоты очереди событий. Используется только, если определёнmonit_eventqueue_dir
. По умолчанию100
.monit_services
: Список хэш-таблиц сервисов, которые будут контролироваться Monit.name
: Имя процесса или хоста.type
: Тип мониторинга, поддерживаются "process", "process_by_name", "host", "filesystem" и "system".target
: Цель мониторинга. Должен быть pidfile, имя процесса, адрес или не определён, в зависимости от типа сервиса.start
: Команда для запуска сервиса. Необязательно.stop
: Команда для остановки сервиса. Необязательно.user
: Имя пользователя Linux, запускающего программу. Необязательно.group
: Группа Linux пользователя, запускающего программу. Необязательно.rules
: Список правил, которые будут включены в этот сервис. Необязательно.
monit_service_delete_unlisted
: Удалить существующие конфигурации мониторинга сервисов, не указанные вservices
. По умолчаниюtrue
.monit_mail_enabled
: Включить почтовые оповещения. По умолчаниюfalse
.monit_mailserver_host
: Адрес почтового сервера. По умолчаниюlocalhost
.monit_mailserver_port
: Порт почтового сервера. По умолчанию25
.monit_mailserver_user
: Имя пользователя для аутентификации на почтовом сервере. Необязательно.monit_mailserver_password
: Пароль для аутентификации на почтовом сервере. Необязательно.monit_mailserver_timeout
: Тайм-аут для подключения к почтовому серверу. По умолчанию5
.monit_mailserver_ssl_version
: Если определено, Monit будет использовать этот алгоритм для SSL-соединения с почтовым сервером. Возможные значения:SSLAUTO
,SSLV2
,SSLV3
,TLSV1
,TLSV11
,TLSV12
.monit_alert_addresses
: Список почтовых адресов, на которые будут отправляться оповещения.monit_alert_mail_format
: Хэш настроек для формата почты.from
: Адрес отправителя.reply-to
: Адрес для ответа.subject
: Тема письма.message
: Текст сообщения.
monit_webinterface_enabled
: Включить веб-интерфейс Monit. По умолчаниюtrue
.monit_webinterface_bind
: IP-адрес для подключения веб-интерфейса. По умолчанию0.0.0.0
(для внешних запросов).monit_webinterface_port
: Порт для веб-интерфейса. По умолчанию2812
.monit_webinterface_rw_group
: Определить группу пользователей, имеющих право на чтение и запись в веб-интерфейсе. Применяется только, если определено, по умолчанию пусто.monit_webinterface_r_group
: Определить группу пользователей, имеющих право на чтение в веб-интерфейсе. Применяется только, если определено, по умолчанию пусто.monit_webinterface_acl_rules
: Список правил ACL для веб-интерфейса, таких как "localhost" или "hauk:password". Применяются только, если определены, и по умолчанию пусты. Рекомендуется определить хотя бы одно правило для запуска службы httpd.
Пример
monit_services:
- name: <vm_name>
type: system
rules:
- "если загрузка (1 минута) > 2 тогда оповестить"
- "если загрузка (5 минут) > 2 тогда оповестить"
- "если использование памяти > 75% тогда оповестить"
- "если использование ЦП (пользователь) > 70% в течение 8 циклов тогда оповестить"
- "если использование ЦП (система) > 40% в течение 8 циклов тогда оповестить"
- "если использование ЦП (ожидание) > 20% в течение 8 циклов тогда оповестить"
Установить
ansible-galaxy install rajasoun.ansible_role_monit
Лицензия
apache-2.0
Загрузки
131
Владелец
Passionate in building products and solutions that enable "Secure Digitisation" for a vast majority of the population