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 role for configuring Monit.

Установить
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