АнглийскийФранцузскийИспанский

Значок OnWorks

monit - Интернет в облаке

Запустите monit в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда monit, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


Monit - утилита для мониторинга сервисов в системе Unix

СИНТАКСИС


контролировать [параметры]

ОПИСАНИЕ


монит это утилита для управления и мониторинга процессов, программ, файлов, каталогов и
файловые системы в системе Unix. Монит проводит автоматическое обслуживание и ремонт и может
выполнять значимые причинно-следственные действия в ошибочных ситуациях. Например, Monit может запустить процесс, если
он не запускается, перезапустите процесс, если он не отвечает, и остановите процесс, если он использует
слишком много ресурсов. Вы можете использовать Monit для мониторинга файлов, каталогов и файловых систем для
изменения, такие как изменения меток времени, изменения контрольной суммы или изменения размера.

Monit управляется с помощью легко настраиваемого управляющего файла, основанного на свободном формате, токен-
ориентированный синтаксис. Мониторинг журналов в системный журнал или в собственный файл журнала и уведомляет вас об ошибке
условия с помощью настраиваемых предупреждающих сообщений. Monit может работать с различными сетями TCP / IP
проверяет, проверяет протокол и может использовать SSL для таких проверок. Monit предоставляет HTTP (S)
интерфейс, и вы можете использовать браузер для доступа к программе Monit.

ЧТО К МОНИТОР?


Вы можете использовать Monit для мониторинга демона Процессы или аналогичные программы, работающие на localhost.
Monit особенно полезен для мониторинга процессов демонов, например, запущенных в
время загрузки системы. Например, sendmail, sshd, apache и mysql. В отличие от многих других
системы мониторинга, Monit может действовать в случае возникновения ошибочной ситуации, например; если sendmail
не работает, monit может снова запустить sendmail автоматически или если apache использует слишком много
ресурсов (например, если выполняется DoS-атака) Monit может остановить или перезапустить apache и отправить
вам предупреждающее сообщение. Monit также может отслеживать характеристики процесса, например, сколько
память или циклы процессора, которые использует процесс.

Вы также можете использовать Monit для мониторинга файлов, каталоги и файловые системы на localhost. Монит
может отслеживать эти элементы на предмет изменений, таких как изменения меток времени, изменения контрольной суммы или размера
изменения. Это также полезно по соображениям безопасности - вы можете контролировать md5 или sha1
контрольная сумма файлов, которые не должны изменяться, и получать предупреждение или выполнять действие, если они
должен измениться.

Monit может контролировать сеть связи к различным серверам, либо на локальном, либо на удаленном
хосты. Поддерживаются доменные сокеты TCP, UDP и Unix. Сетевой тест можно выполнить на
уровень протокола; Monit имеет встроенные тесты для основных интернет-протоколов, таких как HTTP,
SMTP и т. Д. Даже если протокол не поддерживается, вы все равно можете протестировать сервер, потому что вы
может настроить Monit для отправки любых данных и тестирования ответа от сервера.

Monit можно использовать для тестирования программы или скрипты в определенное время, очень похоже на cron, но в
Кроме того, вы можете проверить значение выхода программы и выполнить действие или отправить предупреждение
если значение выхода указывает на ошибку. Это означает, что вы можете использовать Monit для выполнения любых
тип проверки, для которого вы можете написать сценарий.

Наконец, Monit можно использовать для мониторинга общих система ресурсы на локальном хосте, такие как
общее использование ЦП, память и загрузка системы.

ОБЩАЯ ИНФОРМАЦИЯ РАБОТА


Поведение Monit контролируется параметрами командной строки. и файл управления запуском,
monitrc, синтаксис которого мы опишем в следующем разделе. Переопределение параметров командной строки
.monitrc деклараций.

Местоположение по умолчанию для монитор is ~ / .monitrc. Если этот файл не существует, Monit будет
стараться / etc / monitrc и еще несколько мест. Подробности см. В ФАЙЛАХ. Вы также можете указать
файл управления напрямую с помощью -c переключатель командной строки для мониторинга. Например,

$ monit -c / var / monit / monitrc

Перед первым запуском Monit вы можете проверить управляющий файл на наличие синтаксических ошибок:

$ монит -т
Синтаксис файла $ Control ОК

Если произошла ошибка, Monit выведет на консоль сообщение об ошибке, включая
номер строки в контрольном файле, откуда была обнаружена ошибка.

Если у вас есть рабочий файл управления Monit, просто запустите Monit из консоли, например:

$ монит

Вы можете изменить некоторые директивы конфигурации с помощью переключателей командной строки, но для простоты
рекомендуется поместить их в контрольный файл.

Monit отсоединится от терминала и запустится как фоновый процесс, то есть как демон.
процесс. Как демон, Monit работает циклически; Он отслеживает службы, а затем засыпает на некоторое время.
настроенный период, затем просыпается и снова запускает мониторинг в бесконечном цикле.

Возможности
Следующие опции распознаются Monit. Однако рекомендуется установить
варианты (если применимо) прямо в .monitrc контрольный файл.

-c файл
Используйте этот контрольный файл

-d n
Запускайте Monit как демон один раз за n секунд. Или используйте "установленный
демон " в monitrc.

-g имя
Задайте имя группы для запуска, остановки, перезапуска, монитора, unmonitor,
статус и итоговое действие.

-l журнальный файл
Распечатать информацию журнала в этот файл. Или используйте "установленный лог-файл"
в monitrc.

-p pid-файл
Используйте этот файл блокировки в режиме демона. Или используйте "установленный pidfile "
в monitrc.

-s файл состояния
Запишите информацию о состоянии в этот файл. Или используйте "установленный
файл состояния " в monitrc.

-I
Не запускать в фоновом режиме (необходимо для запуска из init)

-i
Распечатать уникальный идентификатор Monit

-r
Сбросить уникальный идентификатор Monit. Используйте с осторожностью

-t
Выполнить проверку синтаксиса для управляющего файла

-v
Подробный режим, шумная работа (диагностический вывод)

-вв
Очень подробный режим, такой же, как -v, плюс трассировка стека журнала при ошибке

-H [имя файла]
Вывести хэши MD5 и SHA1 файла или стандартного ввода, если
имя файла опущено; После этого Monit выйдет

-V
Номер версии для печати и уровень исправления

-h
Распечатать текст справки

аргументы
После того, как вы запустите Monit как процесс-демон, вы можете вызвать Monit с помощью одного из
следующие аргументы. Затем Monit подключится к демону Monit (через порт TCP
127.0.0.1:2812 по умолчанию) и попросите демон Monit выполнить запрошенное действие. В
другие слова; вызов monit без аргументов запускает демон Monit, а вызов monit
arguments позволяет вам связываться с процессом демона Monit.

начать все
Запустите все службы, перечисленные в контрольном файле, и включите для них мониторинг. Если
установлена ​​опция группы (-g), запускать и включать мониторинг сервисов только в названном
группа ("все" в этом случае не требуется).

начальное имя
Запустите названную службу и включите для нее мониторинг. Имя - это имя записи службы.
из файла monitrc.

остановить все
Остановите все службы, перечисленные в контрольном файле, и отключите их мониторинг. Если
установлена ​​опция группы, останавливать и отключать мониторинг служб в названном
группа ("все" в этом случае не требуется).

остановить имя
Остановите указанную службу и отключите ее мониторинг. Имя - это имя записи службы.
из файла monitrc.

перезапустить все
Остановись и начни ВСЕ Сервисы. Если установлен параметр группы, перезапускайте службы только в
названная группа («все» в этом случае не требуется).

имя перезапуска
Перезапустите названную службу. Имя - это имя записи службы из файла monitrc.

контролировать все
Включите мониторинг всех служб, перечисленных в контрольном файле. Если опция группы
установлен, запускать мониторинг сервисов только в названной группе ("все" не требуется в
Это дело).

имя монитора
Включите мониторинг указанной службы. Имя - это имя записи службы из
monitrc файл. Monit также позволит отслеживать все службы, от которых зависит эта служба.
о.

не контролировать все
Отключите мониторинг всех сервисов, перечисленных в контрольном файле. Если опция группы
установить, отключить только мониторинг сервисов в названной группе ("все" не требуется в
Это дело).

имя неконтролирующего
Отключить мониторинг указанной службы. Имя - это имя записи службы из
monitrc файл. Monit также отключит мониторинг всех служб, зависящих от этого.
услуги.

статус [имя]
Распечатать информацию о статусе службы.

резюме [имя]
Распечатайте краткую сводку статуса.

перезагружать
Повторно инициализируйте работающий демон Monit, демон перечитает свою конфигурацию, закройте
и повторно открыть файлы журнала.

выход
Убейте процесс демона Monit

подтверждать
Отметьте все службы, перечисленные в контрольном файле. Это действие также по умолчанию
поведение, когда Monit работает в режиме демона.

регулярное выражение procmatch
Позволяет легко тестировать шаблон для проверки соответствия процесса. Команда принимает регулярный
выражение в качестве аргумента и отображает все запущенные процессы, соответствующие шаблону.

МОНИТ КОНТРОЛЬ ФАЙЛОВ


Monit настраивается и управляется через управляющий файл с именем монитор. Местоположение по умолчанию
для этого файла ~ / .monitrc. Если этот файл не существует, Monit попробует / etc / monitrc,
затем @ sysconfdir @ / monitrc и, наконец, ./monitrc. Если вы собираете Monit из исходного кода, значение
of @ sysconfdir @ можно указать во время настройки как ./configure --sysconfdir. Например,
через . / Настроить --sysconfdir / var / monit / и т. д. заставит Monit искать монитор in
/ var / monit / и т. д.

Для защиты вашего контрольного файла и паролей контрольный файл должен иметь
права на чтение и запись нет больше чем 0700 (u = xrw, g =, o =); Monit пожалуется и выйдет
в противном случае.

Когда есть конфликт между аргументами командной строки и аргументами в этом
файла, аргументы командной строки имеют приоритет.

Monit использует свой собственный предметно-ориентированный язык (DSL); Контрольный файл состоит из серии
служебных записей и операторов глобальных опций.

Комментарии начинаются с символа «#» и продолжаются до конца строки. В противном случае файл
состоит из серии служебных записей или операторов глобальных опций в свободном формате,
токен-ориентированный синтаксис.

Вы можете использовать шумовые ключевые слова, такие как 'if', 'и', 'with (in)', 'has', 'us (ing | e)', 'on (ly)',
'then', 'for', 'of' в любом месте записи, чтобы она напоминала английский. Их игнорируют, но
может упростить чтение записей с первого взгляда. Ключевые слова нечувствительны к регистру.

Есть три вида жетонов: грамматика, номера (т.е. последовательности десятичных цифр) и
струны. Строки могут быть как в кавычках, так и без кавычек. Строка в кавычках ограничена двойным
кавычки и могут содержать пробелы (а цифры в кавычках рассматриваются как строка). Некотируемый
строка - это любой токен, разделенный пробелами, содержащий символы и / или числа.

На семантическом уровне управляющий файл состоит из трех типов записей:

1. Глобальные установочные утверждения
Глобальный оператор set начинается с ключевого слова set и настраиваемого элемента.

2. Глобальный оператор включения
Оператор include состоит из ключевого слова include и глобальной строки. Этот
Оператор используется для включения директив configure из отдельных файлов.

3. Один или несколько операторов входа в службу.
Каждая запись службы состоит из ключевых слов «проверка», за которыми следует тип службы.
Каждая запись требует созданного описательное имя, которое может быть выбрано произвольно. Это имя
используется Monit для внутренней ссылки на сервис и во всех взаимодействиях с
пользователь.

В настоящее время поддерживаются девять типов проверочных операторов:

1. ПРОЦЕСС ПРОВЕРКИ | СООТВЕТСТВИЕ >
- абсолютный путь к pid-файлу программы. Pid-файл - это файл,
содержащий уникальный идентификатор процесса. Если pid-файл не существует или не содержит
номер PID запущенного процесса, Monit вызовет метод запуска записи, если
определены.

является альтернативой использованию файлов PID и использует сопоставление с шаблоном имени процесса для
найти процесс для мониторинга. Используется первое совпадение, поэтому эта форма проверки наиболее удобна.
полезно, если имя процесса уникально. По возможности следует использовать pid-файл, поскольку он
точно определяет ожидаемый pid (сопоставление с образцом не будет полезно для процессов, которые
запустить дочерний процесс с помощью fork / clone, поскольку дочерний процесс будет соответствовать тому же шаблону
временно). Вы можете проверить, соответствует ли процесс шаблону из командной строки, используя
"monit procmatch" regex-pattern "". В нем будут перечислены все процессы, соответствующие или нет,
шаблон регулярного выражения.

2. ПРОВЕРИТЬ ФАЙЛ ДОРОЖКА
это абсолютный путь к файлу. Если файл не существует, Monit вызовет
метод начала записи, если он определен, если не указывает на обычный тип файла
(например, каталог), Monit отключит мониторинг этой записи. Если Монит запускается
в пассивном режиме или метод запуска не определен, Monit просто отправит предупреждение
ошибка.

3. ПРОВЕРЬТЕ FIFO. ДОРОЖКА
это абсолютный путь к фифо. Если FIFO не существует, Monit вызовет
метод начала записи, если он определен, если не указывает на тип FIFO (для
экземпляр каталога), Monit отключит мониторинг этой записи. Если Монит вбегает
пассивный режим или метод запуска не определен, Monit просто отправит предупреждение
ошибка.

4. ПРОВЕРИТЬ ФАЙЛЕСИСТЕМУ ДОРОЖКА
это путь к устройству / диску, точке монтирования, файлу или каталогу, который является частью
файловой системы. Рекомендуется напрямую использовать специальный блочный файл (например,
/ dev / hda1 в Linux или / dev / dsk / c0t0d0s1 в Solaris и т. д.) Если вы используете точку монтирования
(например, / data), обратите внимание, что если файловая система отключена, тест все равно будет верным
потому что точка монтирования существует.

Если файловая система становится недоступной, Monit вызовет метод запуска записи, если
определенный. если не указывает на файловую систему, Monit отключит мониторинг
эта запись. Если Monit работает в пассивном режиме или метод запуска не определен, Monit
просто отправит предупреждение об ошибке.

5. ПРОВЕРИТЬ СПРАВОЧНИК ДОРОЖКА
- это абсолютный путь к каталогу. Если каталог не существует, Monit
вызовет метод начала записи, если он определен. Если не указывает на
каталог, monit отключит мониторинг этой записи. Если Monit работает в пассивном режиме
или методы запуска не определены, Monit просто отправит предупреждение об ошибке.

6. ПРОВЕРИТЬ ХОЗЯИН АДРЕС
Адрес хоста может быть указан как строка имени хоста или как строка IP-адреса на
десятичный формат с разделительными точками. Например, tildeslash.com или "64.87.72.95".

7. ПРОВЕРЬТЕ СИСТЕМУ
Команда созданного имя обычно является именем локального хоста, но можно использовать любое описательное имя.
Если вы используете в качестве имени переменную $ HOST, она расширится до имени хоста. Эта проверка
позволяет отслеживать общие системные ресурсы, такие как использование ЦП, общее использование памяти
или средняя нагрузка. В созданного имя используется как системное имя хоста в почтовых оповещениях и как
начальное имя записи хоста в M / Monit.

8. ПРОВЕРИТЬ ПРОГРАММУ ДОРОЖКА [ТАЙМ-АУТ СЕКУНДЫ]
- это абсолютный путь к исполняемой программе или скрипту. Статусный тест
позволяет проверить статус выхода программы. Если программа не завершается
выполнение в секунд, Monit отключит его. Программа по умолчанию
таймаут составляет 300 секунд (5 минут). Вывод программы записывается и производится
доступны в пользовательском интерфейсе и в предупреждениях (по умолчанию до 512B, вы можете
настройте лимит с помощью оператора set limits).

9. ПРОВЕРИТЬ СЕТЬ | ИНТЕРФЕЙС >
- это IPv4- или IPv6-адрес контролируемого сетевого интерфейса. Это также
можно использовать имя интерфейса, например "eth0" в Linux.

ВЕДЕНИЕ ЖУРНАЛА


Monit будет записывать сообщения о состоянии и ошибках в файл журнала. Использовать набор журнальный файл заявление в
управляющий файл monitrc. Чтобы настроить Monit для входа в собственный файл журнала, используйте, например, набор журнальный файл
/var/журнал/monit.log. Если системный журнал задается как значение параметра командной строки "-l" (или
ключевое слово набор журнальный файл системный журнал находится в контрольном файле) Monit будет использовать системный журнал система
демон для регистрации сообщений с приоритетом, назначаемым каждому сообщению в зависимости от контекста. К
отключите ведение журнала, просто не устанавливайте файл журнала в контрольном файле (и, конечно, не
используйте переключатель -l)

Формат файла журнала:

[дата] приоритет: сообщение

например:

[CET 5 января 18:49:29] инфо: 'localhost' Монит запущен

ДЕЙМОН РЕЖИМ


Используйте

УСТАНОВИТЬ DAEMON
[[С] ЗАДЕРЖКА НАЧАЛА ]

чтобы указать продолжительность цикла опроса Monit и запустить Monit в режиме демона. Вы должны указать
числовой аргумент, который представляет собой интервал опроса в секундах.

В режиме демона Monit отсоединяется от консоли, переходит в фоновый режим и запускается.
постоянно, отслеживая каждую указанную службу, а затем переходит в спящий режим для данного опроса
интервал, просыпается и снова запускает мониторинг в бесконечном цикле.

Кроме того, вы можете использовать переключатель командной строки «-d», чтобы установить интервал опроса, но он
настоятельно рекомендуется установить интервал опроса в вашем ~ / .monitrc файл, используя набор
демон.

Тогда Monit всегда будет запускаться в режиме демона. Если вы не используете это утверждение и не
запустите monit с параметром -d, Monit просто выполнит проверку службы один раз и
затем выйдите. Это может быть полезно в некоторых ситуациях, но Monit в первую очередь предназначен для запуска
как процесс-демон.

Вызов "monit" с демоном Monit, работающим в фоновом режиме, отправляет сигнал пробуждения для
демон, заставив его немедленно проверить службы. Вызов "monit" с выходом
аргумент убьет запущенный процесс демона Monit вместо того, чтобы разбудить его.

Опцию задержки запуска можно использовать для ожидания (один раз), прежде чем Monit начнет проверку служб.
Это может быть полезно, например, при загрузке системы. По умолчанию Monit начнет проверку
сервисы сразу при запуске.

INIT ПОДДЕРЖКA


Оператор "set init" предотвращает преобразование Monit в процесс-демон.
Вместо этого Monit будет работать как процесс переднего плана. (Вы все равно должны использовать "set daemon" для
укажите цикл опроса).

Это необходимо для запуска Monit из init. Использование init для запуска Monit, вероятно, лучший вариант
способ запустить Monit, если вы хотите быть уверены, что у вас всегда работает демон Monit на
ваша система. Другой вариант - запустить Monit из crontab. В любом случае вам следует сделать
убедитесь, что в управляющем файле нет синтаксических ошибок, прежде чем запускать Monit из
init или crontab (для проверки используйте "monit -t").

Чтобы настроить Monit для запуска из init, вы можете использовать оператор "set init" в Monit's
control файл или используйте опцию «-I» в командной строке. Вот что вы должны добавить к
"/ etc / inittab":

# Запускаем Monit на стандартных уровнях выполнения
mo: 2345: респаун: / usr / local / bin / monit -Ic / etc / monitrc

После того, как вы изменили файл конфигурации init, вы можете запустить следующую команду, чтобы
перепроверьте / etc / inittab и запустите Monit:

telinit д

Для систем без telinit:

kill -1 1

Если Monit используется для мониторинга служб, которые также запускаются во время загрузки (например, services
запускается через сценарии SYSV init rc или через inittab), затем, в некоторых случаях, состояние гонки
могло произойти. То есть; если служба запускается медленно, Monit может предположить, что служба
не работает и, возможно, попытайтесь запустить его и поднять предупреждение, в то время как на самом деле служба
уже готов к запуску или уже в своей последовательности запуска. Пожалуйста, смотрите FAQ для
решение этой проблемы. Краткая версия - запустить Monit на более высоком уровне выполнения после
системные процессы.

ВКЛЮЧАЮТ FILES


Управляющий файл Monit, «monitrc», может включать дополнительные файлы конфигурации. Этот
функция помогает организовать конфигурацию в отдельные файлы вместо того, чтобы иметь
все в одном файле, если вам это нравится. Операторы включения могут быть размещены
практически в любом месте "monitrc", хотя соглашение находится внизу. Синтаксис:
следующие:

ВКЛЮЧАЮТ

Globstring - это любая строка, как определено в земной шар(7). Таким образом, вы можете обратиться к
один файл или вы можете загрузить сразу несколько файлов. Если вы хотите использовать пробелы в своем
строка, глобальная строка должна быть заключена в кавычки (') или двойные кавычки ("). Если
globstring соответствует каталогу, а не файлу, он игнорируется.

Любые включают операторы во включенном файле анализируются так же, как в основном управляющем файле.

Если глобальная строка соответствует нескольким результатам, файлы включаются без сортировки.
Если вам нужно полагаться на определенный порядок, вам следует избегать подстановки подстановочных знаков и вместо этого
укажите полный путь к включенным файлам.

Пример,

включить /etc/monit.d/*.cfg

Это загрузит любой файл, соответствующий строке поиска. То есть все файлы в /etc/monit.d который
заканчивается префиксом .cfg.

SSL ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ


Общие параметры SSL / TLS могут быть установлены с помощью следующего оператора и будут применяться ко всем SSL.
соединения, сделанные через Monit:

УСТАНОВЛЕННЫЙ [ПАРАМЕТРЫ] {
ВЕРСИЯ:
ПРОВЕРЯТЬ:
САМОПОДПИСАННЫЕ:
КЛИЕНТПЕМФАЙЛ:
ФАЙЛ СЕРТИФИКАТА:
CACERTIFICATEPATH:
}

Версия установить конкретную версию SSL / TLS для использования. По умолчанию Monit использует АВТО. В АВТОМАТИЧЕСКОМ режиме
используется только TLS, SSLv2 и SSLv3 считаются устаревшими. Если вам нужно использовать SSLv2 или
SSLv3, вы должны явно указать версию.

VERIFY включить проверку сертификата сервера SSL. Это проверит и сообщит об ошибке, если
сертификат сервера не является доверенным, недействительным или просрочен. Сертификат по умолчанию
проверка отключена, хотя мы рекомендуем ее включить, иначе нет гарантии
что Monit разговаривает с сервером, с которым, по вашему мнению, он разговаривает.

САМОПОДПИСАННЫЙ Самозаверяющие сертификаты по умолчанию отклоняются. Используйте эту опцию, чтобы разрешить
самоподписанные сертификаты.

КЛИЕНТПЕМФАЙЛ установить путь к SSL-сертификату клиента «база данных-файл» в формате PEM. Если
сервер SSL требует аутентификации сертификата клиента, Monit попытается найти общедоступный
ключевой сертификат в этом файле, который соответствует центру сертификации сервера и, если он найден,
используйте этот сертификат для аутентификации клиента.

СЕРТИФИКАТЕФИЛЬ установить путь к файлу в кодировке PEM, содержащему центр сертификации
(CA) сертификаты. Monit использует сертификаты CA по умолчанию OpenSSL, если этот параметр не установлен.
использовал (OpenSSL версия -d может использоваться для получения сертификатов ЦС по умолчанию). Много
дистрибутивы поставляются с уже установленными сертификатами SSL и CA, и использование этой опции
обычно не требуется.

ПУТЬ К СЕРТИФИКАТУ установить путь к каталогу, содержащему центр сертификации (CA)
сертификаты. Если этот параметр не используется, Monit использует сертификаты CA по умолчанию OpenSSL.
Многие дистрибутивы поставляются с уже настроенными сертификатами SSL и CA, которые используют эту опцию.
обычно не требуется.

Заявление о параметрах SSL будет глобально применяться ко всем соединениям SSL / TLS, выполненным через
Монит. Параметры SSL также можно установить в локальной проверке, в почтовый сервер настройки или в
ммонит оператор, а затем переопределит или расширит глобальные настройки.

Чтобы установить глобальные параметры SSL, поместите этот оператор в верхнюю часть .monitrc файл:

установить параметры ssl {...}

Вот пример настройки как глобальных, так и локальных параметров SSL:

# Включить проверку сертификата для всех SSL-соединений
# Самозаверяющие сертификаты по умолчанию не разрешены
установить параметры ssl {
проверить: включить
}

# Проверить сертификат (через глобальную настройку)
# Разрешить самозаверяющий сертификат для этой проверки
проверьте пример хоста с адресом example.com
если не удалось
порт 443
протокол https
с опциями ssl {selfsigned: allow}
затем предупредить

# Не проверять сертификат example2.com (переопределить глобальную настройку)
проверьте хост example2 с адресом example2.com
если не удалось
порт 443
протокол https
с опциями ssl {verify: disable}
затем предупредить

МОНИТ HTTPD


Если это указано в управляющем файле, Monit запустится с поддержкой HTTP. Затем вы можете использовать
Мониторинг интерфейса командной строки для запуска и остановки служб, отключения или включения мониторинга служб, а также просмотра
статус каждой услуги.

Если поддержка HTTP включена через TCP, а не через сокет Unix, вы также можете просмотреть
Информативная панель управления Monit в вашем веб-браузере.

Обратите внимание, что если поддержка HTTP отключена, интерфейс Monit CLI будет сокращен.
функциональность, так как большинство команд интерфейса командной строки (например, «мониторинг состояния») должны взаимодействовать с
Мониторинг фонового процесса через HTTP-интерфейс. Мы настоятельно рекомендуем иметь поддержку HTTP
включено. Если безопасность важна, привяжите HTTP-интерфейс только к локальному хосту или используйте Unix.
Socket поэтому Monit недоступен снаружи.

Синтаксис для порта TCP:

УСТАНОВИТЬ ПОРТ HTTPD [АДРЕС ]
[SSL ]
[ПЕМФИЛЬ ]
[CLIENTPEMFILE ]
[РАЗРЕШИТЬ САМОСТОЯТЕЛЬНУЮ СЕРТИФИКАЦИЮ]
[ПОДПИСЬ ]
РАЗРЕШАТЬ +

Пример:

установить httpd порт 2812
разрешить имя пользователя: пароль

Теперь вы можете использоватьhttp://localhost: 2812 /> для доступа к веб-интерфейсу Monit из браузера,
после того, как вы ввели имя пользователя и пароль в качестве учетных данных.

Синтаксис для Unix Socket:

УСТАНОВИТЬ HTTPD UNIXSOCKET
РАЗРЕШАТЬ +

Пример:

установить httpd unixsocket /var/run/monit.sock
разрешить имя пользователя: пароль

Возможности:

УНИКСОКЕТ установить путь к Unix Socket Monit, который должен подключаться и прослушивать.

PORT установите порт, к которому Monit должен подключиться и прослушивать. Monit обычно устанавливается на порт 2812.

АДРЕС заставить Monit прослушивать только определенный интерфейс. Например, если вы не хочу
предоставить доступ к веб-интерфейсу Monit в сеть, привязав его только к localhost. Монит примет
подключения по любому адресу по умолчанию (если отсутствует опция АДРЕС).

Например, чтобы ограничить веб-интерфейс только локальным хостом:

установить httpd
порт 2812
используйте адрес 127.0.0.1
разрешить имя пользователя: пароль

SSL включить TLS для веб-интерфейса Monit. В ПЕМФИЛЬ опция содержит как серверные
закрытый ключ и сертификат. Этот файл следует хранить в безопасном месте файловой системы.
и должны иметь строгие разрешения, не более 0700.

Например:

установить httpd
порт 2812
ssl включить
pem-файл /etc/certs/monit.pem
разрешить myuser: mypassword

Теперь вы можете использовать для доступа к веб-серверу Monit через TLS
зашифрованное соединение.

Поддерживается OpenSSL FIPS. Чтобы включить режим FIPS (при условии, что ваша библиотека OpenSSL поддерживает
it), добавьте этот оператор в управляющий файл Monit:

УСТАНОВИТЬ FIPS

КЛИЕНТПЕМФАЙЛ проверка подлинности на основе сертификата клиента. Подключающийся клиент должен предоставить
сертификат, известный Monit для подключения. В этом файле также должны быть все
необходимые сертификаты ЦС. По умолчанию самозаверяющие клиентские сертификаты разрешается. Если
вы хотите использовать самоподписанный сертификат от клиента, он должен быть разрешен явно
с РАЗРЕШИТЬ СЕРТИФИКАЦИЮ заявление.

Например:

установить httpd
порт 2812
ssl включить
pem-файл /etc/certs/monit.pem
clientpemfile /etc/certs/monit-client.pem

ПОДПИСЬ может использоваться, чтобы скрыть версию Monit из заголовка HTTP-ответа и страниц ошибок.
Например:

установить httpd
порт 2812
подпись отключить
разрешить myuser: mypassword

Аутентификация
Доступ к веб-интерфейсу Monit контролируется в основном через РАЗРЕШАТЬ вариант, который
используется для указания аутентификации и авторизации только определенных клиентов для подключения.

Если используется интерфейс командной строки Monit, по крайней мере, один пароль в открытом виде
необходимо (см. ниже), иначе интерфейс командной строки Monit не сможет
подключитесь к веб-интерфейсу Monit.

Клиенты, пытающиеся подключиться к Monit, но отправившие неправильное имя пользователя и / или пароль, регистрируются.
со своим IP-адресом.

Клиент сертификаты

Этот метод аутентификации является надежным механизмом аутентификации и использует клиент HTTPS.
сертификаты для проверки подлинности подключающегося клиента. Клиенты должны иметь
Сертификат открытого ключа, известный Monit. Клиент должен подключаться к Monit через SSL и Monit.
попросите клиента прислать свой сертификат. После получения сертификата Monit сравнивает
сертификат к сертификатам, находящимся в КЛИЕНТПЕМФАЙЛ файл. Доступ предоставляется, если
сертификат клиента находится в этом файле. Видеть КЛИЕНТПЕМФАЙЛ подробности выше.

Хозяин и сеть позволять список

Monit поддерживает список управления доступом хостов и сетей, которым разрешено подключение. Вы можете
добавьте столько хостов, сколько хотите, но только хосты с действительным доменным именем или его IP
адрес разрешены.

Monit запросит сервер имен, чтобы проверить все хосты, пытающиеся подключиться. Если хост (клиент)
пытается подключиться, но не может быть найден в списке доступа или не может быть разрешен, Monit
немедленно отключит соединение с клиентом.

Пример контрольного файла:

установить httpd порт 2812
разрешить localhost
разрешить my.other.work.machine.com
разрешить 10.1.1.1
разрешить 192.168.1.0/255.255.255.0
разрешить 10.0.0.0/8

Клиентам, не упомянутым в списке разрешенных, пытающихся подключиться к Monit, будет отказано в доступе.
и регистрируются со своим IP-адресом.

Базовый Аутентификация

Monit поддерживает базовую аутентификацию, как описано в RFC 2617.

Суммируя; сервер запрашивает у клиента (например, браузер) отправку аутентификационной информации
(имя пользователя и пароль), и если он будет принят, сервер разрешит клиенту доступ к
запрошенный документ.

Самым большим недостатком базовой аутентификации является то, что имя пользователя и пароль отправляются в
открытый текст по сети (т. е. в кодировке base64). Поэтому рекомендуется сделать
не используйте этот метод аутентификации, если вы не запустите Monit с SSL служба поддержки. С ssl это
безопасно использовать базовую аутентификацию, так как ВСЕ Данные HTTP, включая базовую аутентификацию
заголовки будут зашифрованы.

Пользователь и пароль в открытом виде

Monit будет использовать обычную аутентификацию, если оператор allow содержит имя пользователя и
пароль, разделенный одним символом ":". Могут использоваться специальные символы, но для
не буквенно-цифровой пароль должен быть заключен в кавычки.

Синтаксис:

РАЗРЕШАТЬ :

ВПП

PAM поддерживается на платформах, которые предоставляют PAM (например, Linux, Mac OS X, FreeBSD,
NetBSD).

Синтаксис:

РАЗРЕШАТЬ @

где «группа» - это имя группы, которому разрешен доступ к веб-интерфейсу Monit. Monit использует PAM
служба называется контролировать для аутентификации PAM см. подробную информацию на странице руководства PAM.
инструкции о том, как настроить службу PAM и плагины аутентификации PAM.

Пример службы PAM для Monit в Mac OS X (сохранить как файл "/etc/pam.d/monit"):

# monit: сеанс авторизации пароля учетной записи
Достаточно авторизации pam_securityserver.so
авторизация достаточна pam_unix.so
требуется авторизация pam_deny.so
необходим аккаунт pam_permit.so

И конфигурация monitrc, которая позволяет только группе "admin", аутентифицированной через PAM, получать доступ в Интернет.
интерфейс:

установить httpd
порт 2812
разрешить @admin

htpasswd файл

В качестве альтернативы вы можете использовать файлы в формате "htpasswd" (один пользователь: passwd запись в строке),
вот так: позволять [открытый текст | крипта | md5] /дорожка [пользователи]. По умолчанию пароли в открытом виде
читать. В случае переваривания паролей необходимо указать криптографический
метод. Если вы не хотите, чтобы все пользователи в файле паролей имели доступ к Monit, вы можете
в разрешении укажите только тех пользователей, у которых должен быть доступ. В противном случае все
добавлены пользователи.

Example1:

установить httpd порт 2812
разрешить hauk: пароль
разрешить md5 / etc / httpd / htpasswd джон пол ринго джордж

Если вы используете этот метод вместе со списком хостов, тогда только клиенты из перечисленных хостов
будет разрешено подключиться к HTTP-серверу Monit, и каждому клиенту будет предложено
укажите имя пользователя и пароль.

Example2:

установить httpd порт 2812
разрешить localhost
разрешить 10.1.1.1
разрешить hauk: "passw @ rd"

Если вы хотите использовать только базовую аутентификацию, просто укажите разрешающие записи с
имя пользователя и пароль или файлы с паролями, как в примере 1 выше.

Пользователи только для чтения

Наконец, можно определить некоторых пользователей как доступных только для чтения. Пользователь только для чтения может читать
Мониторинг веб-страниц, но будет получить доступ к кнопкам и не может изменить услугу из
веб-интерфейс.

установить httpd порт 2812
разрешить админ: пароль
разрешить hauk: пароль только для чтения
разрешить @admins
разрешить @users только для чтения

Пользователь настроен только для чтения с помощью только для чтения ключевое слово после имя пользователя Пароль. в
приведенный выше пример пользователь хаук определяется как пользователь только для чтения, а Администратор у пользователя есть все
права доступа.

ALERT СООБЩЕНИЯ


Monit выдаст предупреждение в следующих ситуациях:

o Служба не существует (например, процесс не запущен)
o Невозможно прочитать служебные данные (например, невозможно получить сведения об использовании файловой системы)
o Не удалось выполнить сценарий, связанный с сервисом (например, сбой при запуске)
o Неверный тип службы (например, если путь указывает на каталог, а не на файл)
o Пользовательский тестовый скрипт вернул ошибку
o Не удалось выполнить тест Ping
o Ошибка соединения TCP / UDP и / или порта.
o Не удалось выполнить тест использования ресурсов (например, использование ЦП слишком велико)
o Несоответствие или изменение контрольной суммы (например, файл изменен)
o Ошибка проверки размера файла (например, файл слишком большой)
o Ошибка проверки метки времени (например, файл старше ожидаемого)
o Ошибка проверки разрешений (например, файловый режим не совпадает)
o Ошибка теста UID (например, файл принадлежит другому пользователю)
o Ошибка теста GID (например, файл принадлежит другой группе)
o PID процесса изменен вне контроля Monit.
o PPID процесса изменился из-под контроля Monit.
o Слишком много неудачных попыток восстановления службы.
o Тест содержимого файла обнаружил совпадение
o Флаги файловой системы изменены
o Сервисное действие было выполнено администратором
o Ошибка сетевого соединения
o Изменена пропускная способность сетевого канала.
o Ошибка насыщения сетевого канала
o Ошибка скорости загрузки / скачивания сетевой ссылки
o Монит был запущен, остановлен или перезагружен

Чтобы получать оповещение по электронной почте, установите цель оповещения с помощью глобального оператора «set alert».
(для всех служб) или "предупреждение" в контексте записи службы (для
разовая услуга).

настройка an бдительный получатель
Если произойдет событие, Monit отправит предупреждение. Есть два вида предупреждений:
глобальный и локальный.

Глобальный синтаксис:

УСТАНОВИТЬ почтовый адрес ПРЕДУПРЕЖДЕНИЯ [[НЕ] {событие, ...}] [циклы НАПОМИНАНИЯ]

Пример:

установить оповещение foo @ bar

будет отправлять электронное письмо по умолчанию на адрес foo @ bar всякий раз, когда происходит какое-либо событие в любой службе.

Если вы хотите отправлять предупреждающие сообщения на большее количество адресов электронной почты, добавьте «установить оповещение по электронной почте»
выписка по каждому адресу.

Также можно использовать локальный оператор предупреждения в контексте проверки службы, чтобы
включить оповещение только для данной услуги:

ПРЕДУПРЕЖДЕНИЕ почтовый адрес [[НЕ] {событие, ...}] [циклы НАПОМИНАНИЯ]

Пример локального оповещения:

проверьте хост myhost с адресом 1.2.3.4
если сбой порт 3306 протокол mysql, то предупреждение
если не удалось выполнить протокол порта 80 http, затем предупредить
alert foo @ baz # Оповещение локальной службы

Вы можете комбинировать глобальные и локальные предупреждения. В случае конфликта локальное оповещение
имеет приоритет и отменяет глобальный оператор.

настройка an мероприятие фильтр

Если вы хотите, чтобы предупреждающее сообщение отправлялось только для определенных событий, перечислите их в "{event, ...}"
блок, например:

установить alert foo @ bar только на {timeout, nonexist}

Список событий также может быть инвертирован для отправки предупреждений для всех событий. кроме те, которые
в списке, добавив к списку слово «не». Например, чтобы получать все оповещения
кроме уведомления о запуске и остановке программы Monit:

установить предупреждение foo @ bar, но не на {instance}

Вот список всех возможных типов событий, генерируемых Monit. Значения из первого столбца
можно использовать в списке фильтров событий, упомянутом выше:

Событие: | Состояние отказа: | Состояние успеха:
-------------------------------------------------- -------------------
действие | «Действие выполнено» | «Действие выполнено»
контрольная сумма | «Ошибка контрольной суммы» | «Контрольная сумма выполнена успешно»
bytein | «Превышено количество байтов загрузки» | "Загрузить байты нормально"
byteout | «Превышено количество загружаемых байтов» | "Загрузить байты нормально"
соединение | «Ошибка подключения» | «Соединение успешно»
содержание | "Ошибка содержимого", | "Контент успешно завершен"
данные | «Ошибка доступа к данным» | «Доступ к данным выполнен»
exec | «Выполнение не удалось» | «Выполнение выполнено успешно»
fsflags | «Ошибка флагов файловой системы» | «Флаги файловой системы успешно выполнены»
гид | «Ошибка GID» | "GID успешно"
icmp | «Не удалось пинговать» | «Пинг выполнен успешно»
экземпляр | "Экземпляр Monit изменен" | "Экземпляр Monit не изменен"
недействительный | «Неверный тип» | «Тип выполнен успешно»
ссылка | "Ссылка вниз" | "Связать"
несуществующий | «Не существует» | "Существуют"
пакетный | «Превышено количество пакетов загрузки» | "Скачивание пакетов нормально"
пакет | «Превышено количество пакетов загрузки» | "Загрузить пакеты нормально"
разрешение | «Ошибка разрешения» | "Разрешение выполнено"
pid | «Ошибка PID» | "PID успешно завершен"
ppid | «Ошибка PPID» | "PPID успешно завершен"
ресурс | «Превышен лимит ресурсов» | «Превышен предел ресурса»
насыщенность | «Насыщенность превышена» | "Насыщенность в порядке"
размер | «Ошибка размера» | "Размер удачен"
скорость | «Скорость провалилась» | "Скорость в порядке"
статус | «Статус не удалось» | "Статус успешно"
тайм-аут | «Тайм-аут» | «Тайм-аут восстановления»
отметка времени | «Ошибка отметки времени» | «Отметка времени выполнена успешно»
uid | «Ошибка UID» | "UID выполнен успешно"
время безотказной работы | «Ошибка безотказной работы» | "Время безотказной работы выполнено"

У каждого получателя оповещения может быть собственный фильтр, например:

установить предупреждение foo @ bar {nonexist, timeout, resource, icmp, connection}
установить alert security @ bar на {контрольную сумму, разрешение, uid, gid}
установить оповещение admin @ bar

настройка an ошибка напоминание

По умолчанию Monit отправляет только one уведомление, если услуга не удалась, а другая - когда / если это
восстанавливается. Если вы хотите получить уведомление о том, что служба все еще находится в неисправном состоянии, вы можете
используйте опцию напоминания в заявлении о предупреждении:

УСТАНОВИТЬ ПРЕДУПРЕЖДЕНИЕ адрес электронной почты [С] НАПОМИНАНИЕ [ВКЛ] номер [ЦИКЛЫ]

Например, если вы хотите получать уведомления каждый десятый цикл, если служба остается в неисправном состоянии.
состояние, вы можете использовать:

alert foo @ bar с напоминанием о 10 циклах

Точно так же, если вы хотите получать уведомления о каждом неудачном цикле, вы можете использовать:

alert foo @ bar с напоминанием на 1 цикл

Отключение оповещений для некоторые СЕРВИС
Чтобы подавить предупреждения для некоторых пользователей и служб, добавьте оператор noalert в контекст
сервисной проверки.

Почтовый адрес NOALERT

Пример (отправлять все оповещения на foo @ bar, кроме сервиса p3):

установить оповещение foo @ bar

проверьте процесс p1 с помощью pidfile /var/run/p1.pid

проверьте процесс p2 с помощью pidfile /var/run/p2.pid

проверьте процесс p3 с помощью pidfile /var/run/p3.pid
noalert foo @ bar

Сообщение формат
Формат сообщения с предупреждением может быть изменен с помощью оператора "set mail-format":

УСТАНОВИТЬ ФОРМАТ ПОЧТЫ {mail-format}

Пример:

установить почтовый формат {
из: [электронная почта защищена]
ответить на: [электронная почта защищена]
тема: $ SERVICE $ EVENT на $ DATE
message: Monit $ ACTION $ SERVICE в $ DATE на $ HOST: $ DESCRIPTION.
С уважением,
контролировать
}

Команда из: option - адрес электронной почты отправителя. То есть адрес электронной почты Monit будет
притвориться, что он отправляет оповещения от. Это не обязательно должен быть настоящий адрес электронной почты.
адрес в правильном формате.

Команда ответить на: Опция может использоваться для установки заголовка письма для ответа.

Команда предмет: опция устанавливает тему сообщения и должна быть включена только one линии.

Команда сообщение: опция устанавливает тело письма. Этот вариант всегда должен быть последним в письме -
заявление о формате. Тело письма может быть сколько угодно длины, но должно содержать блок-
закрывающий символ '}'.

Вам не нужно использовать все параметры, только тот вариант, который вы хотите переопределить. Например, чтобы
глобально изменить только адрес отправителя:

установить почтовый формат {from: [электронная почта защищена] }

Тема и тело могут содержать переменные $ NAME, которые раскрываются Monit. Вот
список переменных, которые можно использовать при составлении предупреждающего сообщения.

· $ СОБЫТИЕ

Строка, описывающая произошедшее событие.

· $ СЕРВИС

Название сервиса

· $ DATE

Текущие время и дата (стиль даты RFC 822).

· $ HOST

Имя хоста, на котором работает Monit.

· $ ДЕЙСТВИЕ

Название действия, выполненного Монитом.

· $ ОПИСАНИЕ

Описание состояния ошибки

настройка a почта сервер для бдительный поставка
Почтовый сервер, который Monit должен использовать для отправки предупреждающих сообщений, определяется с помощью "set mailserver"
заявление:

УСТАНОВИТЬ ПОЧТОВЫЙ СЕРВЕР

[Номер порта]
[Строка ИМЯ ПОЛЬЗОВАТЕЛЯ] [Строка ПАРОЛЯ]
[с использованием SSL [с параметрами {...}]
[КОНТРОЛЬНАЯ СУММА СЕРТИФИКАТА [MD5 | SHA1] ],
...
[с TIMEOUT X СЕКУНД]
[с использованием имени хоста HOSTNAME]

Несколько почтовых серверов можно настроить с помощью списка, разделенного запятыми. Если Monit не может подключиться
к первому серверу, он попробует следующий в списке и так далее.

Оператор порта позволяет переопределить порт SMTP по умолчанию (465 для SSL или 25 для
TLS и небезопасное соединение).

Monit поддерживает AUTH PLAIN и AUTH LOGIN для аутентификации SMTP. Вы можете установить имя пользователя
и пароль, используя параметры ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ.

Вы можете установить параметры SSL / TLS для подключения, а также проверить контрольную сумму сертификата SSL.

Тайм-аут соединения по умолчанию составляет 5 секунд. Вы можете увеличить этот предел, используя TIMEOUT.
опцию.

Пример (настройка двух почтовых серверов для аварийного переключения):

установить почтовый сервер smtp.gmail.com, smtp.other.host

По умолчанию Monit использует имя локального хоста в SMTP HELO / EHLO и в заголовке Message-ID.
Вы можете переопределить это, используя опцию HOSTNAME.

События очередь
Если почтовый сервер недоступен, Monit очередь событий в локальной файловой системе для повторной попытки
пока почтовый сервер не восстановится.

Если Monit используется с M / Monit, очередь событий обеспечивает безопасное хранилище событий для M / Monit в
случай временных проблем.

Очередь событий сохраняется при перезапусках Monit и при условии, что серверная часть
файловая система является постоянной и при перезапуске системы.

По умолчанию очередь отключена, и в случае сбоя обработчика предупреждений Monit просто сбросит
предупреждающее сообщение.

Чтобы включить очередь событий, добавьте следующий оператор:

УСТАНОВИТЬ EVENTQUEUE BASEDIR [СЛОТЫ ]

В - это путь к каталогу, в котором будут храниться события.

При желании, если вы хотите ограничить размер очереди, используйте опцию слотов, чтобы хранить только до
номер сообщения о событиях.

Пример:

установить на основе очереди событийir / var / monit слоты 5000

Если вы запускаете более одного экземпляра Monit на одном компьютере, вы должен использование
разделенные каталоги очереди событий.

СЕРВИС МЕТОДЫ


Каждая услуга может иметь связанный Начало, остановить и перезапуск методы, которые Monit может использовать для
выполнить действие над услугой.

Синтаксис:

[PROGRAM] = "программа"
[[AS] UID ]
[[AS] GID ]
[[С] ТАЙМ-АУТОМ ВТОРОЙ (S)]

Если "программа" является сценарием оболочки, она должна начинаться с "#!" а оставшаяся часть первого
В строке необходимо указать интерпретатор программы. например "#!/ Бен / ш"

«Программа» также должна быть исполняемой (например, режим 0755).

Можно писать скрипты прямо в программа сюда:

стоп = "/ bin / bash -c 'kill -s SIGTERM `cat / var / run / process.pid`'"

По умолчанию программа выполняется от имени пользователя, под которым работает Monit. Если Монит
запущен как root, вы можете дополнительно указать UID и GID исполняемая программа должна
переключиться на.

Пример:

проверьте процесс mmonit с помощью pidfile /usr/local/mmonit/mmonit/logs/mmonit.pid
запустить программу = "/ usr / local / mmonit / bin / mmonit" как uid "mmonit" и gid "mmonit"
stop program = "/ usr / local / mmonit / bin / mmonit stop" как uid "mmonit" и gid "mmonit"

В случае проверки процесса Monit будет ждать до 30 секунд действия запуска / остановки.
закончить, прежде чем сдаться, и сообщить об ошибке. Вы можете отменить этот тайм-аут, используя
TIMEOUT опцию.

Пример:

проверьте процесс foobar с помощью pidfile /var/run/foobar.pid
start program = "/etc/init.d/foobar start" с таймаутом 60 секунд
остановить программу = "/etc/init.d/foobar stop"

СЕРВИС ГОЛОСОВАНИЕ ВРЕМЯ


Службы регулярно проверяются оператором "set daemon n". Проверки
выполняются в том же порядке, в каком они записаны в файле ".monitrc", кроме случаев, когда
между сервисами устанавливаются зависимости, где в первую очередь тестируются необходимые сервисы.

Можно изменить расписание проверки обслуживания с помощью оператора «каждый».

Есть три варианта:

1. Настраиваемый интервал на основе кратного цикла опроса
КАЖДЫЙ [номер] ЦИКЛ

2. проверка - это расписание на основе строки в стиле cron
КАЖДЫЙ [cron]

3. расписание не проверять на основе строки в стиле cron
НЕ КАЖДЫЙ [cron]

Строка в стиле cron состоит из 5 полей, разделенных пробелом. Все поля
обязательный:

Имя: | Допустимые значения: | Специальные символы:
-------------------------------------------------- -------------
Минуты | 0-59 | * -,
Часы | 0-23 | * -,
День месяца | 1-31 | * -,
Месяц | 1-12 (1 = янв, 12 = уб) | * -,
День недели | 0-6 (0 = воскресенье, 6 = суббота) | * -,

Специальные символы:

Персонаж: | Описание:
-------------------------------------------------- -------------
* (звездочка) | Звездочка указывает на то, что выражение будет
| совпадение по всем значениям поля; например, используя
| звездочка в 4-м поле (месяц) будет
| указывать каждый месяц.
- (дефис) | Дефисы используются для определения диапазонов. Например,
| 8-9 в поле часов указывают между 8:XNUMX и
| 9 ЧАСОВ УТРА. Обратите внимание, что диапазон составляет от времени начала до и
| включая время окончания. То есть с 8 утра и до
| 10 утра, если не установлены минуты. Другой пример,
| 1-5 в поле будний день, укажите с понедельника по
| пятница (включая пятницу).
, (запятая) | Запятые используются для указания последовательности. Например
| 17,18 в поле дня указывают 17-е и 18-е
| день месяца. Последовательность также может включать
| диапазоны. Например, 1-5,0 в будний день
| поле указывает с понедельника по пятницу и воскресенье.

Пример 1: проверка один раз в два цикла

проверьте процесс nginx с помощью pidfile /var/run/nginx.pid
каждые 2 цикла

Пример 2. Проверяйте каждый рабочий день с 8:7 до XNUMX:XNUMX.

проверить программу checkOracleDatabase
с путем /var/monit/programs/checkoracle.pl
каждые "* 8-19 * * 1-5"

Пример 3: Не запускайте проверку в окне резервного копирования в воскресенье с 0 до 3 часов ночи.

проверьте процесс mysqld с помощью pidfile /var/run/mysqld.pid
не каждый "* 0-3 * * 0"

Ограничения:

Текущий планировщик основан на цикле опроса. Когда служебная проверка ограничена
каждую крон оператор, Monit проверит, соответствует ли текущее время строке cron
шаблон. Если это так, проверка выполняется, в противном случае она пропускается. Крон
Таким образом, спецификация не гарантирует, когда именно будет запущен тест, это зависит от
время опроса по умолчанию и продолжительность цикла проверки. Другими словами, мы не можем гарантировать
что Monit будет работать в определенное время. Поэтому мы сильно рекомендую использовать звездочку
в поле минут или как минимум в диапазоне, например. 0-15. Никогда используйте конкретную минуту как
Monit может не работать в эту минуту.

Мы устраним это ограничение в будущем выпуске и преобразуем планировщик из серийного
опрос в параллельном неблокирующем планировщике, где проверки гарантированно выполняются вовремя
и с секундным разрешением.

СЕРВИС ГРУППЫ


Служебные записи в контрольном файле, монитор, могут быть сгруппированы группы
утверждение. Синтаксис просто (ключевое слово заглавными буквами):

GROUP имя группы

С помощью этого оператора можно группировать похожие записи услуг вместе и управлять
их в целом. Monit предоставляет функции для запуска, остановки, перезапуска, мониторинга и отмены мониторинга
группа услуг, например:

Чтобы запустить группу сервисов из консоли:

monit -g Начните

Чтобы остановить группу услуг:

monit -g останавливаться

Чтобы перезапустить группу сервисов:

monit -g рестарт

Услугу можно добавить в несколько групп, используя более одного оператора группы:

группа www
групповая файловая система

СЕРВИС МОНИТОРИНГ РЕЖИМ


Monit поддерживает три режима мониторинга для каждой службы: активный, пассивный и руководство.

Синтаксис:

РЕЖИМ

In активный режим (по умолчанию), Monit будет активно контролировать службу и в случае
проблемы вызывают предупреждения и / или перезапускают службу.

In пассивный режиме, Monit будет пассивно отслеживать службу и вызывать предупреждения, но будет
попробуйте решить проблему, выполнив Начало, остановить or перезапуск.

In руководство режим, Monit войдет активный Режим Важно если служба была запущена через Monit:

начать мониторинг

Используйте "monit stop" ", чтобы остановить службу и вывести ее из-под контроля Monit.
ручной режим может быть использован для построения простого кластера с активными / пассивными HA-сервисами.

Состояние мониторинга службы сохраняется при перезапуске Monit.

Если вы используете Monit в HA-кластере, вы должны поместить файл состояния Monit во временный
файловая система, поэтому, если машина, на которой работают HA-сервисы, должна аварийно завершить работу, а резервная машина
взять на себя его сервисы, HA-сервисы не будут запущены после того, как сбойный узел загрузится
еще раз:

установить файл состояния /tmp/monit.state

СЕРВИС RESTART ОГРАНИЧЕНИЯ


монит предоставляет механизм ограничения перезапуска для ситуаций, когда служба просто отказывается
начать или отвечать в течение более длительного периода.

Механизм ограничения перезапуска основан на количестве перезапусков службы и количестве опросов.
циклы. Например, если в сервисе x перезапускается в y циклы опроса (где x <= y) затем
Monit выполнит действие (например, отключит мониторинг службы). Если истечет время ожидания,
Monit отправит предупреждающее сообщение, если вы проявите интерес к этому событию.

Синтаксис оператора тайм-аута следующий (ключевые слова пишутся заглавными буквами):

ЕСЛИ РЕСТАРТ ЦИКЛ (И) ТОГДА

Команда действие значение - это либо одно из общих действий, либо TIMEOUT (для обратной совместимости
равно действию UNMONITOR).

Вот пример, когда Monit отключит мониторинг службы, если она была перезапущена 2 раза.
в течение 3-х циклов:

если 2 перезапуска в течение 3 циклов, то unmonitor

Чтобы Monit снова проверил службу после отключения мониторинга, запустите "monit monitor"
servicename "из командной строки.

Пример настройки пользовательского выполнения по таймауту:

если 5 перезапусков в течение 5 циклов, то exec "/ foo / bar"

Пример остановки службы:

если 7 перезапусков в течение 10 циклов, остановите

СЕРВИС ЗАВИСИМОСТИ


Если указано в управляющем файле, Monit может выполнять проверку зависимостей перед запуском, остановкой,
мониторинг или отключение мониторинга услуг. Оператор зависимости может использоваться в любом
служебные записи в контрольном файле Monit.

Синтаксис оператора зависимости прост:

ЗАВИСИТ от службы [, службы [, ...]]

где СЕРВИС имя записи службы проверки, используемой в вашем файле ".monitrc", например
апаш or данные.

Вы можете добавить более одного имени службы любого типа или использовать более одного оператора зависимости
в записи.

Услуги, указанные в зависеть выписка будет проверена во время
остановить / запустить / контролировать / отключить операции.

Если служба остановлена ​​или не отслеживается, она остановит / отключит мониторинг любых служб, которые зависят от
себя.

Если служба запущена, будут запущены все службы, от которых она зависит.
перед запуском этой службы. если запуск какой-либо службы завершился неудачно, служба с
предварительные условия НЕ будут запущены, но будет помнить, что он должен запускаться и будет
повторить следующий цикл.

Если служба перезапущена, она сначала остановит все активные службы, которые от нее зависят, и
после его запуска запустить все зависимые службы, которые были активны до перезапуска
.

Вот пример, в котором мы настраиваем запись службы apache в зависимости от базового
двоичный файл apache. Если двоичный файл должен измениться, отправляется предупреждение, а apache не отслеживается
больше. Обоснование - безопасность и то, что Monit не должен запускать возможно взломанный
двоичный файл apache.

(1) проверьте apache процесса с помощью pidfile "/var/run/httpd.pid"
(2) зависит от httpd
(3) ...
(4)
(5) проверьте файл httpd по пути / usr / bin / httpd
(6) если контрольная сумма не пройдена, остановитесь

Первая запись - это запись процесса для apache. Вторая строка устанавливает зависимость
между этой записью и записью службы с именем httpd в строке 5. Дерево зависимостей работает как
следует, если действие выполняется в нижней ветви, оно будет распространяться вверх по дереву.
и для каждой зависимой записи выполните одно и то же действие. В этом случае, если контрольная сумма
должен завершиться ошибкой в ​​строке 6, тогда будет выполнено действие остановки, а двоичный файл apache не будет проверяться
больше. Но поскольку запись процесса apache зависит от записи httpd, эта запись будет
также выполнить действие остановки. Короче говоря, если проверка контрольной суммы для двоичного файла httpd
должен завершиться неудачей, и файл проверки httpd, и запись apache процесса проверки будут остановлены.

Дерево зависимостей - это общая конструкция, которая может использоваться между всеми типами сервисов.
записи и охватывают множество уровней и распространяют любое поддерживаемое действие (кроме действия exec
который по понятным причинам не будет распространяться вверх по дереву зависимостей).

Вот еще один другой пример. Рассмотрим следующую общую настройку сервера:

ВЕБ-СЕРВЕР -> ПРИЛОЖЕНИЕ-СЕРВЕР -> БАЗА ДАННЫХ -> ФАЙЛЕСИСТЕМА
(а) (б) (в) (г)

Вы можете установить зависимости так, чтобы веб-сервер зависел от сервера приложений для запуска
перед запуском веб-сервера и сервера приложений зависит от сервера базы данных и
база данных зависит от монтируемой файловой системы перед ее запуском. Также
в разделе примеров ниже приведены примеры использования оператора зависимости.

Здесь мы описываем, как Monit будет работать с указанными выше зависимостями:

Если ни одна служба не запущена
Monit запустит серверы в следующем порядке: d, c, b, a

Если все серверы работают
Когда вы запускаете monit stop all, это стоп-приказ: a, b, c, d. Если вы запустите 'Monit
остановись тогда a, b и c также остановлены, потому что они зависят от d и, наконец, d is
остановился.

If a не работает
Монит начнется a

If b не работает
Монит сначала остановится a тогда начни b и наконец начать a if b снова вверх.

If c не работает
Монит сначала остановится a и b тогда начни c и наконец начать b тогда a.

If d не работает
Монит сначала остановится a, b и c тогда начни d и наконец начать c, b тогда a.

Если управляющий файл содержит зависимый цикл.
Например, зависимый цикл; a-> b и b-> a или a-> b-> c-> a.

Когда Monit запускается, он проверяет наличие таких циклов, жалуется и завершает работу, если цикл был
нашел. Он также выйдет с жалобой, если был использован оператор зависимости, который не
указать на службу в контрольном файле.

СЕРВИС ИСПЫТАНИЯ


ПРЕДЕЛЫ

Вы можете настраивать и устанавливать различные ограничения для настройки размеров буферов и тайм-аутов, используемых Monit.
В большинстве случаев подходят значения по умолчанию. При необходимости ниже приведены ограничения, которые вы можете
в настоящее время модифицируйте в Monit.

Синтаксис:

УСТАНОВИТЬ ОГРАНИЧЕНИЕ {
ПРОГРАММА ВЫПУСКА: ,
ОТПРАВИТЬ EXPECTBUFFER: ,
FILECONTENTBUFFER: ,
HTTPCONTENTBUFFER: ,
NETWORKTIMEOUT:
}

Где:
Ед. изм равно «B» (байт), «kB» (килобайт) или «MB» (мегабайт)
единица времени "MS" (миллисекунда) или "S" (секунда)

Легенда опций:

-------------------------------------------------- --------------------------------
| Вариант | Описание | По умолчанию |
-------------------------------------------------- --------------------------------
| programOutput | предел для вывода программы проверки (усеченный после) | 512 B |
| sendExpectBuffer | предел для теста протокола отправки / ожидания | 256 B |
| fileContentBuffer | предел для проверки содержимого файла (строка) | 512 B |
| httpContentBuffer | предел для проверки содержимого HTTP (тело ответа) | 1 МБ |
| networkTimeout | тайм-аут для сетевого ввода-вывода | 5 сек |
-------------------------------------------------- --------------------------------

ОБЩАЯ ИНФОРМАЦИЯ СИНТАКСИС

Monit предлагает несколько if-тестов, которые можно использовать в операторе проверки для проверки различных аспектов.
услуги.

Вы можете протестировать как предварительно определенное значение, так и диапазон и предпринять действия, если значение
изменений.

Общий синтаксис для тестирования определенного значения или диапазона:

ЕСЛИ ТОГДА [ИНАЧЕ ЕСЛИ УСПЕШНО ТО ]

Действие оценивается каждый раз, когда состояние верно. Успешное действие не является обязательным
и выполняется только тогда, когда состояние меняется с неудачного на успешное. Если успешное действие не выполнено
установлен, по умолчанию Monit отправит предупреждение о восстановлении.

Общий синтаксис для проверки изменения значения:

ЕСЛИ ИЗМЕНЕНО ТОГДА

Действие выполняется каждый раз при изменении значения. Monit запомнит новое значение и
вызовет событие, если значение снова изменится.

ДЕЙСТВИЯ

В каждом тесте вы должны выбрать действие, которое будет выполнено из этого списка:

· ALERT отправляет пользователю предупреждающее событие при каждом изменении состояния.

· RESTART перезапускает службу и отправить оповещение. Перезагрузка осуществляется вызовом
зарегистрированный метод перезапуска службы или сначала вызвав метод остановки, а затем
метод запуска, если перезапуск не задан.

· Начать игру запускает службу, вызывая зарегистрированный метод запуска службы и отправить
оповещения.

· STOP останавливает службу, вызывая зарегистрированный метод остановки службы и отправить
тревога. Если Monit остановит службу, она больше не будет ни проверяться, ни перезапускаться.
снова позже. Чтобы снова активировать мониторинг службы, необходимо явно включить
мониторинг из веб-интерфейса или из консоли.

· EXEC может использоваться для выполнения произвольной программы и отправить оповещение. Если вы выберете это
действие, вы должны указать программу, которая будет выполняться, и если программа требует аргументов
вы должны заключить программу и ее аргументы в строку в кавычки. Вы можете по желанию
укажите uid и gid, на которые исполняемая программа должна переключаться при запуске. Программа
по умолчанию выполняется только один раз при изменении состояния. Вы можете включить программу
повторение, когда ошибка сохраняется в течение заданного количества циклов. Например:

если не удалось затем exec "/usr/local/bin/sms.sh"
как никто и никто не гид
повторять каждые 5 циклов

Помните, что если Monit запускается от имени root, то все программы, выполняемые Monit, будут запущены.
с привилегиями суперпользователя, если не используются расширения uid и gid.

· НЕМОНИТОР отключит мониторинг сервиса и отправить оповещение. Сервис будет
больше не будет проверяться Monit и не перезапускаться позже. Чтобы повторно активировать мониторинг
службы, вы должны явно включить мониторинг из веб-интерфейса или из
консоль.

FAULT ТОЛЕРАНТНОСТЬ

По умолчанию действие выполняется, если оно совпадает, и соответствующая служба установлена ​​в
состояние ошибки. Однако вы можете потребовать, чтобы тест не прошел более одного раза перед событием ошибки.
срабатывает, и состояние службы изменяется на сбой. Это полезно, чтобы избежать
предупреждения о ложных ошибках, которые могут произойти, особенно при тестировании сети.

Синтаксис:

ДЛЯ ЦИКЛЫ ...

или:

[ВРЕМЯ ВНУТРИ] ЦИКЛЫ ...

Условие может использоваться как для неудачного, так и для успешного действия.

Первый, более простой и рекомендуемый формат требует "X" последовательных событий перед переключением.
штат:

если не удалось
порт 80
на 3 циклов
затем предупредить

Второй формат более продвинутый и позволяет допускать периодически возникающие проблемы, но
по-прежнему улавливают чрезмерные проблемы, когда служба колеблется между ошибкой и успехом
заявляет часто.

Например, если каждый второй цикл выходит из строя (1-0-1-0-1-0 -...), то условие «на 2 цикла»
никогда не будет совпадать, несмотря на проблемы с сервисом. Следующее утверждение поймает
такое состояние:

если не удалось
порт 80
3 раза в течение 5 циклов
затем предупредить

Пример, который устанавливает несколько уровней ошибок и действий:

проверьте файловую систему rootfs по пути / dev / hda1
если использование пространства> 80% 5 раз в течение 15 циклов, то предупреждение
если использование пространства> 90% в течение 5 циклов, то exec '/ try / to / free / the / space'

Примечание: максимальное значение для циклов - 64.

СУЩЕСТВОВАНИЕ ТЕСТИРОВАНИЕ
Этот тест неявный и всегда активен для служебных проверок типа, процесс, файл,
каталог и FIFO. Если не определено, по умолчанию используется действие перезапуска.

Вы можете переопределить действие по умолчанию с помощью следующего оператора:

ЕСЛИ [ДЕЙСТВИТЕЛЬНО] НЕ СУЩЕСТВУЕТ, ТО

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример:

проверьте файл по пути / cifs / mydata
если не существует, то exec "/usr/bin/mount_cifs.sh"

РЕСУРС ТЕСТИРОВАНИЕ
Monit может проверить, сколько системных ресурсов использует служба. Этот тест может быть только
используется в записи службы системы или процесса в файле управления Monit.

В зависимости от характеристик системы или процесса службы могут быть остановлены или перезапущены и
могут быть созданы предупреждения. Таким образом, можно использовать простаивающие системы и
запасная система при высокой нагрузке.

Полный синтаксис оператора ресурса, используемого для тестирования ресурсов, следующий (ключевые слова
находятся в заглавных и необязательных операторах в [скобках]),

ЕСЛИ ТОГДА

ресурс это выбор из «ЦП», «ВСЕГО ЦП», «ЦП ([пользователь | система | ожидание])», «ПАМЯТЬ», «SWAP»,
«НИТИ», «ДЕТИ», «ВСЕГО ПАМЯТИ», «НАГРУЗКА АВГ ([1мин | 5мин | 15мин])». Некоторые ресурсные тесты
может использоваться внутри записи системы проверки, некоторые - в записи процесса проверки, а некоторые - в обоих:

Только системные тесты ресурсов:

CPU ([user | system | wait]) - это процент времени, которое система проводит в пространстве пользователя или ядра.
и ввод / вывод. Модификатор user / system / wait является необязательным, если не используется, общий процессор системы
использование проверено.

SWAP - это использование системы подкачки либо в процентах (от общего числа систем), либо в виде
количество (байт, кБ, МБ, ГБ).

Обрабатывать только ресурсные тесты:

ЦП - это загрузка ЦП самим процессом (в процентах).

ИТОГО ЦП - это общее использование ЦП процессом и его дочерними процессорами в (процентах). Вы будете
хотите использовать ВСЕГО ЦП, как правило, для таких сервисов, как веб-сервер Apache, где один главный
процесс разветвляет дочерние процессы как рабочие.

THREADS - количество потоков процессов.

ДЕТИ - количество дочерних процессов процесса.

ОБЩАЯ ПАМЯТЬ - это использование памяти процессом и его дочерними процессами в процентах.
или как количество (байт, кБ, МБ, ГБ).

Тестирование ресурсов системы и процессов:

ПАМЯТЬ - это использование памяти системой или процессом (без дочерних) в любом
процентов (от общего числа систем) или в виде количества (байт, кБ, МБ, ГБ).

LOADAVG ([1min | 5min | 15min]) относится к средней загрузке системы. Средняя нагрузка - это
количество процессов в очереди запуска системы, усредненное за указанный период времени.

оператор является выбором "<", ">", "! =", "==" в обозначении C, "gt", "lt", "eq", "ne" в
обозначение оболочки sh и "больше", "меньше", "равно", "не равно" в удобочитаемой форме (если
не указано, по умолчанию EQUAL).

ценностное является целым или действительным числом. Для ЦП, ВСЕГО ЦП, ПАМЯТИ и ВСЕГО ПАМЯТИ
вам нужно указать Ед. изм. Это может быть «%» или, если применимо, «B» (байт), «kB» (1024
Байт), «МБ» (1024 килобайт) или «ГБ» (1024 мегабайта).

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Чтобы вычислить циклы, счетчик поднимается всякий раз, когда приведенное выше выражение истинно, и оно
понижается всякий раз, когда оно ложно (но не ниже 0). Все счетчики сбрасываются в случае
перезагрузить.

Ниже приведен пример проверки того, что использование ЦП службой не превышает
50% в течение пяти циклов опроса. Если это так, Monit перезапустит службу:

если ЦП больше 50% в течение 5 циклов, перезапустите

ФАЙЛОВ СУММА ТЕСТИРОВАНИЕ
Оператор контрольной суммы может использоваться только в записи файловой службы и может использоваться для проверки
контрольная сумма файла MD5 или SHA1.

Проверить конкретную контрольную сумму:

ЕСЛИ ОТКАЗ [MD5 | SHA1] КОНТРОЛЬНАЯ СУММА [ОЖИДАТЬ контрольную сумму] ТО действие

Проверьте любые изменения файла:

ПРИ ИЗМЕНЕНИИ [MD5 | SHA1] КОНТРОЛЬНАЯ СУММА ТО действие

Выбор MD5 или SHA1 не является обязательным. MD5 имеет 128-битную контрольную сумму (32-битное шестнадцатеричное
закодированная строка) и SHA1 - 160-битная контрольная сумма (40-битная шестнадцатеричная строка). Если этот вариант
опущено, Monit попытается угадать метод из строки EXPECT или использовать MD5 в качестве
контрольная сумма по умолчанию.

"expect" является необязательным и, если используется, указывает строку md5 или sha1, которую должен ожидать Monit.
при проверке контрольной суммы файла. Тогда Monit не будет вычислять начальную контрольную сумму для
файл, но вместо этого используйте строку, которую вы отправляете. Например:

если не удалось
checksum expect 8f7f419955cefa0b33a2ba316cba3659
затем предупредить

Вы можете, например, использовать утилиту GNU md5sum(1) or sha1sum(1) создать контрольную сумму
строка для файла и используйте эту строку в операторе ожидания.

Перезагрузка сервера, если его конфигурационный файл был изменен:

проверьте файл apache_conf по пути /etc/apache/httpd.conf
если изменена контрольная сумма, то exec "/ usr / bin / apachectl graceful"

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

ВРЕМЯ ТЕСТИРОВАНИЕ
Оператор отметки времени может использоваться только в записи службы файла, FIFO или каталога.

Конкретный синтаксис метки времени:

IF TIMESTAMP [[оператор] значение [единица]] ТО действие

Синтаксис временной метки изменен:

ЕСЛИ ИЗМЕНИЛ ВРЕМЯ, ТО ДЕЙСТВИЕ

оператор - это выбор "<", ">", "! =", "==" в обозначении C, "GT", "LT", "EQ", "NE" в
нотация оболочки sh и "БОЛЬШЕ", "МЕНЬШЕ", "РАВНО", "НОТИЧНО" в удобочитаемой форме (если
не указано, по умолчанию EQUAL).

ценностное водяной знак времени.

Ед. изм может быть «ВТОРАЯ (S)», «МИНУТА (S)», «ЧАС (S)» или «ДЕНЬ (S)».

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Например, чтобы перезагрузить apache, если временная метка файла конфигурации изменилась:

проверьте файл apache_conf по пути /etc/apache/httpd.conf
если изменена временная метка, то exec "/ usr / bin / apachectl graceful"

Например, каталог тестирования для добавления или удаления файлов:

проверьте путь к панели каталога / foo / bar
если отметка времени <1 час, тогда предупреждение

ФАЙЛОВ РАЗМЕР ТЕСТИРОВАНИЕ
Оператор размера может использоваться только в записи службы файла проверки. Если указано в
control файл, Monit вычислит размер файла.

Тестирование определенного размера или диапазона:

ЕСЛИ РАЗМЕР [[оператор] значение [единица]] ТО действие

Изменения размера тестирования:

ЕСЛИ ИЗМЕНИЛ РАЗМЕР ТО ДЕЙСТВИЕ

оператор - это выбор "<", ">", "! =", "==" в обозначении C, "GT", "LT", "EQ", "NE" в
нотация оболочки sh и "БОЛЬШЕ", "МЕНЬШЕ", "РАВНО", "НОТИЧНО" в удобочитаемой форме (если
не указано, по умолчанию EQUAL).

ценностное водяной знак размера.

Ед. изм на выбор: «B», «KB», «MB», «GB» или длинные альтернативы «byte», «kilobyte»,
«мегабайт», «гигабайт». Если он не указан, по умолчанию принимается единица измерения «байт».

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Например, чтобы отправить предупреждение, если файл слишком большой:

проверьте файл mydb по пути /data/mydatabase.db
если размер> 1 ГБ, тогда предупреждение

ФАЙЛОВ СОДЕРЖАНИЕ ТЕСТИРОВАНИЕ
Оператор содержимого может использоваться для постепенного тестирования содержимого текстового файла с помощью
с использованием регулярных выражений.

Синтаксис:

ЕСЛИ СОДЕРЖАНИЕ ТОГДА действие

оператор является либо "=" для совпадения, либо "! =" для несоответствия.

регулярное выражение - строка, содержащая расширенное регулярное выражение. Смотрите также регулярное выражение(7).

путь - это абсолютный путь к файлу, содержащему расширенное регулярное выражение в каждой строке.
Смотрите также регулярное выражение(7).

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

При запуске позиция чтения устанавливается в конец файла, и Monit продолжает сканирование, чтобы
конец файла на каждом цикле.

Если размер файла должен уменьшиться или индексный дескриптор изменился, позиция чтения устанавливается на начало.
файла.

Проверяются только строки, заканчивающиеся символом новой строки.

По умолчанию проверяются только первые 511 символов строки. Вы можете увеличить
ограничение с помощью оператора set limits.

ИГНОРИРОВАТЬ СОДЕРЖАНИЕ

Линии, соответствующие ИГНОРИРУЙТЕ не проверяются во время более поздних оценок. ИГНОРИРУЙТЕ СОДЕРЖАНИЕ и
всегда приоритет над IF СОДЕРЖАНИЕ.

Все ИГНОРИРУЙТЕ СОДЕРЖАНИЕ утверждения оцениваются первыми в порядке их появления.
После этого все IF СОДЕРЖАНИЕ заявления оцениваются.

Например:

проверьте системный журнал файла с путем / Вар / Журнал / системный журнал
игнорировать content = "^ monit"
если content = "^ mrcoffee", тогда предупреждение

ФАЙЛОВАЯ СИСТЕМА ФЛАГИ ТЕСТИРОВАНИЕ
Monit может проверять флаги файловой системы на наличие изменений. Этот тест является неявным, и Monit будет
по умолчанию отправлять оповещение в случае сбоя.

Этот тест полезен для обнаружения изменений флагов файловой системы, например, если файловая система
стали доступными только для чтения (ошибка диска) или были изменены флаги монтирования (например, nosuid).

Синтаксис оператора fsflags:

ЕСЛИ МЕНЯЛ FSFLAGS ТО ДЕЙСТВИЕ

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример:

проверьте файловую систему rootfs с помощью пути /
если изменен fsflags, то exec "/ my / script"

SPACE ТЕСТИРОВАНИЕ
Monit может проверить файловую систему или диск на использование пространства. Этот тест можно использовать только в
контекст типа службы файловой системы.

В файловых системах обычно есть место, зарезервированное для пользователя root (примерно 1-5%), поэтому не-
суперпользователи не могут писать в почти полную файловую систему. Если вы установите ограничение для файловой системы
который используется пользователями без полномочий root, вы можете захотеть рассмотреть эти зарезервированные блоки, когда
установка лимита. Вы можете использовать сам Monit для просмотра процента зарезервированных блоков по
с помощью команды состояния CLI или интерфейса HTTP для данной файловой системы.

Синтаксис:

Единица значения оператора IF SPACE THEN действие

или:

IF SPACE FREE операторская единица измерения ТО действие

оператор - это выбор "<", ">", "! =", "==" в обозначении c, "gt", "lt", "eq", "ne" в оболочке
sh и "больше", "меньше", "равно", "не равно" в удобочитаемой форме (если не
указано, по умолчанию EQUAL).

Ед. изм на выбор: «B», «KB», «MB», «GB», «%» или длинные альтернативы «byte», «kilobyte»,
«мегабайт», «гигабайт», «процент».

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример:

проверьте файловую систему rootfs с помощью пути /
если использование пространства> 90%, тогда предупреждение

ИНОД ТЕСТИРОВАНИЕ
Monit может тестировать использование inode файловой системы. Этот тест можно использовать только в контексте
Тип службы файловой системы.

Синтаксис:

IF INODE (S) значение оператора [единица] ТО действие

или:

IF INODE (S) FREE значение оператора [единица] ТО действие

оператор - это выбор "<", ">", "! =", "==" в обозначении c, "gt", "lt", "eq", "ne" в оболочке
sh и "больше", "меньше", "равно", "не равно" в удобочитаемой форме (если не
указано, по умолчанию EQUAL).

Ед. изм не является обязательным. Если не указано, значение представляет собой абсолютное количество индексных дескрипторов. Ты можешь использовать
символ «%» или более длинный альтернативный «процент» в качестве единицы.

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример:

проверьте файловую систему rootfs с помощью пути /
если использование inode> 90%, тогда предупреждение

РАЗРЕШЕНИЕ ТЕСТИРОВАНИЕ
Monit может проверять права доступа к файловым объектам. Этот тест можно использовать только в контексте
файлов, файлов, файловых сервисов, каталогов или файловых систем.

Синтаксис для тестирования конкретных разрешений:

ЕСЛИ НЕ ИСПОЛЬЗУЕТСЯ PERM (ИЗДАНИЕ) восьмеричное число ТО действие

Синтаксис для тестирования любого изменения разрешений:

ЕСЛИ ИЗМЕНИЛ ПЕРСОН (ИЗДАНИЕ) ТО ДЕЙСТВИЕ

восьмеричное число определяет разрешения для файла, каталога или файловой системы как четыре восьмеричных
цифры (0-7). Допустимый диапазон: 0000 - 7777 (можно опустить начальные нули, Monit добавит
нули слева. Например, «640» является допустимым значением и соответствует «0640»).

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример:

проверить тень файла с путем / И т.д. / тень
если не удалось получить разрешение 0640, тогда предупреждайте

UID ТЕСТИРОВАНИЕ
Monit может отслеживать идентификатор пользователя (uid) владельца файла, фифо, каталога или владельца и
эффективный пользователь процесса.

Синтаксис:

IF FAILED [E] UID пользователя THEN действие

пользователь определяет идентификатор пользователя в числовой или строковой форме.

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример:

проверить тень файла с путем / И т.д. / тень
если не удалось выполнить uid root, тогда предупреждение

GID ТЕСТИРОВАНИЕ
Monit может отслеживать идентификатор группы владельцев (gid) файла, файла, каталога или процесса.

Синтаксис:

ЕСЛИ НЕ ИСПОЛЬЗУЕТСЯ группа GID ТО действие

группы определяет идентификатор группы в числовой или строковой форме.

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример:

проверить тень файла с путем / И т.д. / тень
если не удалось gid shadow, тогда предупреждение

PID ТЕСТИРОВАНИЕ
Monit может проверить PID процесса. Этот тест является неявным, и Monit отправит предупреждение в
в случае изменения PID вне контроля Monit.

Синтаксис:

ПРИ ИЗМЕНЕНИИ PID ТО ДЕЙСТВИЕ

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Этот тест полезен для обнаружения возможных перезапусков процесса, которые произошли в
таймфрейм между двумя циклами тестирования Monit.

Например, если кто-то изменил конфигурацию sshd и перезапустил sshd за пределами Monit
control вы получите уведомление о том, что процесс был заменен новым экземпляром:

проверьте процесс sshd с помощью pidfile /var/run/sshd.pid
если изменен pid, то предупреждение

ППИД ТЕСТИРОВАНИЕ
Monit может проверить родительский PID (PPID) процесса на наличие изменений. Этот тест является неявным, и Monit
отправит предупреждение в случае, если PPID изменился вне контроля Monit.

Синтаксис оператора ppid:

ПРИ ИЗМЕНЕНИИ PPID ТО ДЕЙСТВИЕ

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример:

проверьте процесс myproc с помощью pidfile /var/run/myproc.pid
если изменился ppid, то exec "/ my / script"

ПРОЦЕСС ПРОЕКТИРОВАНИЯ НАДЕЖНОСТЬ ТЕСТИРОВАНИЕ
Оператор безотказной работы может использоваться только в контексте типа службы процесса.

Синтаксис:

IF UPTIME [[оператор] значение [единица]] ТО действие

оператор - это выбор "<", ">", "! =", "==" в обозначении C, "GT", "LT", "EQ", "NE" в
нотация оболочки sh и "БОЛЬШЕ", "МЕНЬШЕ", "РАВНО", "НОТИЧНО" в удобочитаемой форме (если
не указано, по умолчанию EQUAL).

ценностное водяной знак времени безотказной работы.

Ед. изм может быть "СЕКУНДА", "МИНУТА", "ЧАС" или "ДЕНЬ" (также можно использовать "СЕКУНДЫ",
«МИНУТЫ», «ЧАСЫ» или «ДНИ»).

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример перезапуска процесса каждые три дня:

проверьте процесс myapp с помощью pidfile /var/run/myapp.pid
запустить программу = "/etc/init.d/myapp start"
остановить программу = "/etc/init.d/myapp stop"
если время безотказной работы> 3 дней, перезапустите

ПРОГРАММА статус ТЕСТИРОВАНИЕ
Вы можете проверить статус выхода программы или сценария. Этот тест можно использовать только в
запись службы программы проверки в контрольном файле Monit.

Синтаксис для проверки конкретного значения выхода:

Оператор IF STATUS значение THEN действие

Синтаксис для проверки любого изменения значения выхода:

ПРИ ИЗМЕНЕНИИ СТАТУСА ТО действие

оператор - это выбор "<", ">", "! =", "==" в обозначении c, "gt", "lt", "eq", "ne" в оболочке
sh и "больше", "меньше", "равно", "не равно" в удобочитаемой форме (если не
указано, по умолчанию EQUAL).

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Пример:

проверьте программу myscript по пути /usr/local/bin/myscript.sh
если status! = 0, то предупреждение

Пример сценария для приведенного выше примера (/usr/local/bin/myscript.sh):

#!/ bin / bash
эхо-тест
выход $?

Вы также можете отправить параметры с программой:

проверьте файлы-списки программ с путем "/ bin / ls -лрт / tmp /"
если status! = 0, то предупреждение

Аргументы программы или сценария представляют собой последовательность строк, разделенных пробелами. в
в приведенном выше примере строки '-lrt' и '/ tmp /'являются аргументами программы'/ bin / ls». Если
используются аргументы, рекомендуется использовать кавычки " чтобы заключить строку, в противном случае, если
аргументы не используются, кавычки не нужны.

Примечания: Если программа представляет собой сценарий, в первой строке требуется интерпретатор. В
программа или сценарий также должны быть исполняемыми.

Если Monit запущен от имени суперпользователя, вы можете при желании запустить программу от имени другого пользователя.
и / или группа. В этом примере мы запускаем ls программа как пользователь www и как персонал группы:

проверьте программу ls с путем "/ bin / ls / Tmp"as uid" www "
и гид "посох"
если status! = 0, то предупреждение

Monit будет периодически выполнять программу, и если статус выхода программы не изменится.
соответствовать ожидаемому результату, Monit может выполнить действие. В приведенном выше примере Monit будет
генерировать предупреждение, если значение выхода отличается от 0. По соглашению 0 означает, что программа
вышел нормально.

Программные проверки асинхронны. Это означает, что Monit не будет ждать выхода из программы,
но вместо этого Monit запустит программу в фоновом режиме и немедленно продолжит
проверка следующей записи службы в монитор. В следующем цикле Monit проверит,
программа завершена, и если да, то собрать статус выхода программы. Если статус указывает
сбой, Monit выдаст предупреждающее сообщение, содержащее ошибку программы (stderr)
вывод, если есть. Если программа не завершилась после первого цикла, Monit будет ждать
другой цикл и так далее. Если программа все еще работает через 5 минут, Monit убьет
его и сгенерируйте событие тайм-аута программы. Можно отменить тайм-аут по умолчанию
(см. синтаксис ниже).

Асинхронный характер проверки программы допускает неблокирующее поведение в
текущий дизайн Monit, но он имеет побочный эффект: когда программа завершена
выполняется и ожидает, пока Monit соберет результат, он становится так называемым "зомби"
процесс. Процесс-зомби не потребляет никаких системных ресурсов (только PID остается в
use), и он находится под контролем Monit, а процесс зомби удаляется из системы как
как только Monit соберет статус выхода. Это означает, что каждая «программа проверки» будет
связаны либо с запущенным процессом, либо с временным зомби. Эта нежелательная сторона зомби -
Эффект будет удален в более позднем выпуске Monit.

Можно использовать несколько статусных тестов, например:

проверьте программу hwtest по пути /usr/local/bin/hwtest.sh
с таймаутом 500 секунд
если статус = 1, то предупреждение
если status = 3 для 5 циклов, то exec "/usr/local/bin/emergency.sh"

СЕТЬ LINK статус ИСПЫТАНИЕ
Вы можете проверить состояние сетевого соединения. Этот тест можно использовать только в проверочной сети.
служебная запись в контрольном файле Monit.

Синтаксис:

ПРИ НЕИСПРАВНОСТИ СВЯЗАТЬСЯ ТО ДЕЙСТВИЕ

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Тест завершится неудачно, если связь / интерфейс не работает или были обнаружены ошибки связи.

Пример:

проверьте сеть eth0 с интерфейсом eth0
если ссылка не удалась, тогда предупреждайте

В случае сбоя ссылки вы можете добавить программу запуска и остановки для автоматического перезапуска
интерфейс, который может помочь. (Замените соответствующими сетевыми командами для вашего
система)

проверьте сеть eth0 с интерфейсом eth0
запустить программу = '/ sbin / ipup eth0'
остановить программу = '/ sbin / ipdown eth0'
если ссылка не удалась, перезапустите

СЕТЬ LINK ПОТЕНЦИАЛ ИСПЫТАНИЕ
Вы можете проверить пропускную способность режима сетевого соединения на предмет изменений. Этот тест можно использовать только
в записи проверки сетевой службы в контрольном файле Monit.

Синтаксис:

ПРИ ИЗМЕНЕНИИ ССЫЛКИ [ЕМКОСТЬ] ТО действие

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Тест будет соответствовать, если режим связи изменился (например, упала максимальная скорость) или если
дуплексный режим изменился.

ПРИМЕЧАНИЕ: не все типы интерфейсов позволяют контролировать емкость. Псевдо интерфейсы, такие как
Устройство обратной связи или интерфейсы VMWare не имеют атрибута скорости.

Пример:

проверьте сеть eth0 с интерфейсом eth0
если изменилась пропускная способность канала, тогда предупреждение

СЕТЬ НАСЫЩЕННОСТЬ ИСПЫТАНИЕ
Вы можете проверить насыщенность сетевых ссылок. Затем Monit вычисляет использование ссылок на основе
от текущей скорости передачи по сравнению с пропускной способностью канала. Этот тест можно использовать только в рамках проверки.
запись сетевой службы в контрольном файле Monit.

Синтаксис:

ЕСЛИ НАСЫЩЕНИЕ значение оператора% ТО действие

оператор - это выбор "<", ">", "! =", "==" в обозначении c, "gt", "lt", "eq", "ne" в оболочке
sh и "больше", "меньше", "равно", "не равно" в удобочитаемой форме (если не
указано, по умолчанию EQUAL).

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

ПРИМЕЧАНИЕ: этот тест зависит от доступности атрибута скорости, а не от всего интерфейса.
типы имеют этот атрибут. См. Описание теста LINK SPEED.

Пример:

проверьте сеть eth0 с интерфейсом eth0
если насыщенность> 90%, тогда предупреждение

СЕТЬ BANDWIDTH ИСПЫТАНИЕ
Вы можете проверить загрузку и загрузку сетевой ссылки, использование полосы пропускания, текущую скорость передачи
и общий объем данных, переданных за последние 24 часа. Этот тест можно использовать только в рамках проверки.
запись сетевой службы в контрольном файле Monit.

Предупреждение: для этого теста требуется, чтобы время мониторинга не превышало 30 секунд.

Текущий синтаксис теста скорости загрузки:

Единица измерения оператора IF UPLOAD THEN действие

Текущий синтаксис теста скорости загрузки:

IF DOWNLOAD оператор значение unit THEN действие

Общий синтаксис теста загрузки:

IF TOTAL UPLOAD единица значения оператора IN LAST число единица времени THEN действие

Общий синтаксис теста загрузки:

IF TOTAL DOWNLOAD оператор значение единицы В ПОСЛЕДНЕЕ число единица времени ТО действие

оператор - это выбор "<", ">", "! =", "==" в обозначении c, "gt", "lt", "eq", "ne" в оболочке
sh и "больше", "меньше", "равно", "не равно" в удобочитаемой форме (если не
указано, по умолчанию EQUAL).

Ед. изм на выбор: «B», «KB», «MB», «GB» или длинные альтернативы «byte», «kilobyte»,
«мегабайт», «гигабайт».

единица времени можно выбрать «МИНУТЫ», «ЧАС (Ч)», «ДЕНЬ». ПРИМЕЧАНИЕ: Monit поддерживает качение.
подсчет общего количества загруженных и загруженных байтов только за последние 24 часа. Значение
time-unit поэтому не может указывать диапазон, превышающий один день.

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Примеры:

проверьте сеть eth0 с интерфейсом eth0
если загрузка> 500 кБ / с, то предупреждение
если общая загрузка> 1 ГБ за последние 2 часа, то предупреждение
если общая загрузка> 10 ГБ за последний день, то предупреждение

СЕТЬ ПАКЕТЫ ИСПЫТАНИЕ
Вы можете проверить сетевую ссылку загрузки и количество пакетов загрузки, текущую скорость передачи
и общий объем данных, переданных за последние 24 часа. Этот тест можно использовать только в рамках проверки.
запись сетевой службы в контрольном файле Monit.

Предупреждение: для этого теста требуется, чтобы время мониторинга не превышало 30 секунд.

Текущий синтаксис теста скорости загрузки:

IF UPLOAD значение оператора PACKETS / S THEN action

Текущий синтаксис теста скорости загрузки:

IF DOWNLOAD оператор значение PACKETS / S THEN action

Общий синтаксис теста загрузки:

IF TOTAL UPLOAD значение оператора PACKETS IN LAST number time-unit THEN action

Общий синтаксис теста загрузки:

IF TOTAL DOWNLOAD значение оператора ПАКЕТЫ В ПОСЛЕДНЕМ числе единица времени ТО действие

оператор - это выбор "<", ">", "! =", "==" в обозначении c, "gt", "lt", "eq", "ne" в оболочке
sh и "больше", "меньше", "равно", "не равно" в удобочитаемой форме (если не
указано, по умолчанию EQUAL).

единица времени можно выбрать «МИНУТЫ», «ЧАС (Ч)», «ДЕНЬ». ПРИМЕЧАНИЕ: Monit сохраняет общую
выгружать / скачивать статистику только за последние 24 часа. Поэтому значение единицы времени не может
охватывают более одного дня.

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Примеры:

проверьте сеть eth0 с интерфейсом eth0
если загрузка> 1000 пакетов / с, то предупреждение
если общая загрузка> 900000 пакетов за последний час, то предупреждение

СЕТЬ PING ИСПЫТАНИЕ
Monit может выполнить проверку связи сети, отправив пакеты датаграмм ICMP эхо-запроса на
хост и ждем ответа. Этот тест можно использовать только в операторе проверки хоста.
Monit также должен запускаться от имени пользователя root, чтобы иметь возможность выполнить тест ping (поскольку
тест ping должен использовать сырые сокеты, что обычно разрешено только суперпользователю).

Синтаксис:

ЕСЛИ ПИНГ НЕ УДАЛСЯ [4 | 6]
[Порядковый номер]
[РАЗМЕР номер]
[TIMEOUT число СЕКУНД]
[АДРЕСНАЯ строка]
ТОГДА действие

Если имя хоста DNS использовалось в проверка кашель оператор и имя хоста разрешается в
несколько адресов (IPv4 или IPv6), Monit будет пинговать первый доступный адрес и
продолжайте со следующего адреса, пока одно соединение не будет успешным или пока не закончится
адресов осталось попробовать. Вы можете заставить Monit проверять связь только с IPv4- или IPv6-адресами, используя
ключевое слово PING4 или PING6 вместо PING.

Команда СЧИТАТЬ параметр указывает, сколько последовательных запросов ping будет отправлено на хост
максимум за один цикл. Значение по умолчанию - 3.

Команда РАЗМЕР Параметр определяет размер данных ping-запроса. По умолчанию 64 байта.

Если нет ответа в течение TIMEOUT секунд, Monit сообщает об ошибке. Если хоть один ответ
был получен, проверка связи считается успешной.

Команда АДРЕС Параметр указывает IP-адрес источника.

По умолчанию Monit отправляет до три пакеты ping-запроса за один цикл, чтобы предотвратить
ложная тревога (т.е. допускается потеря до 66% пакетов). Вы можете установить СЧИТАТЬ вариант для
значение от 1 до 20 для отправки большего или меньшего количества пакетов. Если вам требуется 100% успешный пинг,
установите счетчик на 1 (т.е. будет отправлен только один запрос, и если пакет был потерян,
будет сообщено об ошибке).

Обратите внимание, что многие интернет-провайдеры уже начали фильтровать пакеты ping или ICMP, и в этом случае
от хозяина не будет ответа.

Если в проверочной записи хоста используется тест ping, этот тест запускается первым, и если тест
должен завершиться ошибкой, мы предполагаем, что соединение с хостом не работает и Monit отключится. продолжать
с любыми последующими тестами портов.

Пример:

проверьте хост mmonit.com с адресом mmonit.com
если не удалось проверить связь, то предупредите # IPv4 или IPv6

проверьте хост mmonit.com с адресом 62.109.39.247
если пинг не удалось, то предупреждение # Адрес - IPv4, поэтому предпочтительнее IPv4

или проверьте, что система явно доступна через IPv4 и IPv6:

проверьте хост mmonit.com с адресом mmonit.com
если не удалось выполнить ping4, тогда предупреждение # только IPv4
если не удалось выполнить ping6, тогда предупреждение # только IPv6

или со всеми параметрами; Отправьте пять 128-байтовых эхо-запросов на mmonit.com и подождите до 10
секунды на ответ

проверьте хост mmonit.com с адресом mmonit.com
если не удалось выполнить ping count 5 size 128 с таймаутом 10 секунд, то предупреждение

ПОДКЛЮЧЕНИЕ ТЕСТИРОВАНИЕ
Monit может выполнять тестирование соединения через сетевые порты или через сокеты Unix. Связь
test может использоваться только в контексте типа процесса или службы хоста.

Если служба прослушивает один или несколько сокетов, Monit может подключиться к порту (используя TCP или
UDP) и убедитесь, что служба принимает соединение и что можно писать
и читать из розетки. Если соединение не принято или возникла проблема с
ввода-вывода сокета, Monit выполнит указанное действие.

Синтаксис теста порта TCP / UDP:

ЕСЛИ НЕ УДАЛОСЬ
[хозяин]

[местный адрес]
[IP-версия]
[тип]
[ssl [с параметрами {...}]]
[контрольная сумма сертификата]
[срок действия сертификата]
[протокол | , ...]
[тайм-аут]
[повторить]
ТОГДА действие

Синтаксис теста сокета Unix:

ЕСЛИ НЕ УДАЛОСЬ

[тип]
[протокол | , ...]
[тайм-аут]
[повторить]
ТОГДА действие

Примеры:

если сбой порт 80, то предупреждение

если сбой порт 53 введите протокол UDP протокол DNS, затем предупредите

если не удалось unixsocket / var / run / sophie, тогда предупреждение

Опции:

хост: ВЕДУЩИЙ хоста. При желании укажите хост, к которому нужно подключиться. Если хост не указан
тогда предполагается localhost, если этот тест используется внутри записи процесса. Если этот тест
используется внутри записи удаленного хоста, тогда предполагается удаленный хост записи.

порт: PORT номер. Номер порта для подключения

юниксокет: УНИКСОКЕТ путь. Задает путь к сокету Unix (только на локальном компьютере).

местный адрес: АДРЕС string. Используемый исходный IP-адрес.

IP-версия: IPV4 | IPV6 . При необходимости укажите версию IP, которую Monit должен использовать при попытке
подключиться к порту. Если не используется, Monit попытается подключиться к первому доступному адресу.
(IPv4 или IPv6). Если доступно несколько адресов и не удалось подключиться к одному адресу,
Monit будет пробовать следующий адрес и так далее, пока не установится соединение или пока не будет
осталось попробовать еще несколько адресов.

Тип: ТИП [TCP | UDP]. При необходимости укажите тип сокета, который Monit должен использовать при попытке
подключиться к порту. Существуют различные типы сокетов: TCP или UDP, где TCP - обычный
сокет на основе потока, UDP, сокет дейтаграммы. Тип сокета по умолчанию - TCP.

SSL: [SSL | ТЛС] кредита {...}]. Установите параметры SSL / TLS и переопределите глобальный / стандартный SSL
опции. Вы можете установить версию SSL / TLS для использования, проверять ли сертификаты, доверять
самоподписанные сертификаты или установить файл базы данных SSL-сертификатов клиента для клиента
сертификат аутентификации.

сертификат контрольная сумма: СЕРТИФИКАТ СУММА [MD5 | SHA1] хэш. Проверьте SSL-сервер
сертификат, проверив его контрольную сумму. Вы можете использовать контрольную сумму MD5 или SHA1 (если вы
не указывайте тип, Monit определит дайджест на основе длины хэша). Ты сможешь
использовать OpenSSL инструмент командной строки, чтобы получить значение контрольной суммы для вашего сертификата, который
затем вы можете использовать в контрольном файле Monit:

openssl x509 -fingerprint -sha1 -in server.crt | голова -1 | вырезать -f2 -d '='

Пример:

если не удалось
порт 443
протокол https
and certificate checksum = "1ED948A6F4258ACAB964227EF4EB19FCC453B0F8"
затем предупредить

сертификат истекать дней: СЕРТИФИКАТ ДЕЙСТВУЕТ для номер ДНИ. Отправить оповещение, если
сертификат истечет через указанное количество дней. Этот тест очень полезен, чтобы получить
уведомление, когда пришло время обновить ваш сертификат SSL.

Пример:

если не удалось
порт 443
протокол https
и сертификат действителен> 30 дней
затем предупредить

протокол: ПРОТО (COL) протокол. При необходимости укажите протокол, по которому Monit должен говорить, когда
соединение установлено. На данный момент Монит умеет говорить:
APACHE-СТАТУС
DNS
ДПР
Ftp
GPS
HTTP
HTTPS
IMAP
IMAPS
КЛАМАВ
LDAP2
LDAP3
ЛМТП
КЭШ
МОНГОДБ
MYSQL
NNTP
НТП3
PGSQL
POP
POPS
POSTFIX-ПОЛИТИКА
РАДИУС
ДАТА
REDIS
RSYNC
СИТО
SIP
SMTP
SMTPS
SSH
TNS
Интернет-магазин

Если протокол целевого сервера не найден в этом списке, просто не указывайте
протокол и Monit будет использовать тест соединения по умолчанию.

тайм-аут: [С УЧАСТИЕМ] TIMEOUT номер СЕКУНД. Необязательно указывает время ожидания подключения и чтения
для связи. Если Monit не может подключиться к серверу в течение этого времени, он будет считать, что
что соединение не удалось и выполнить указанное действие. Тайм-аут подключения по умолчанию
составляет 5 секунд.

повторить: RETRY номер. Необязательно указывает количество последовательных повторных попыток в пределах
тот же цикл тестирования в случае, если соединение не удалось. По умолчанию сначала сбой
ошибка.

действие можно выбрать «ALERT», «RESTART», «START», «STOP», «EXEC» или «UNMONITOR».

Конкретный протокол тестXNUMX кредита

ОБЩЕЕ (ОТПРАВИТЬ / ОЖИДАТЬ)

Если Monit не поддерживает протокол, используемый сервером, вы можете написать свой собственный
протокол-тест с использованием Отправить и ожидать струны. В ОТПРАВИТЬ оператор отправляет строку в
порт сервера и ОЖИДАТЬ оператор сравнивает строку, прочитанную с сервера, с
строка, указанная в операторе ожидания.

Синтаксис:

[ "строка"] +

Monit отправит строку как есть, а вы должен не забудьте включить CR и LF в
строка, отправляемая на сервер, если протокол ожидает, что такие символы завершат строку
(большинство текстовых протоколов, используемых в Интернете).

По умолчанию Monit считывает с сервера до 255 байт и использует эту строку, когда
сравнение строки EXPECT. Вы можете изменить значение по умолчанию, используя установленные ограничения.
заявление.

При необходимости вы можете использовать непечатаемые символы в строке SEND. Используйте шестнадцатеричное обозначение,
\ 0xHEXHEX для отправки любого символа в диапазоне \ 0x00- \ 0xFF, то есть от 0 до 255 в десятичном формате. За
Например, чтобы протестировать сервер Quake 3:

отправить "\ 0xFF \ 0xFF \ 0xFF \ 0xFFgetstatus"
ожидать "sv_floodProtect | sv_maxPing"

Если ваша система поддерживает регулярные выражения POSIX, вы можете использовать регулярные выражения в
EXPECT строка, см. регулярное выражение(7) чтобы узнать больше о типах регулярных выражений, которые вы можете
использовать в ожидаемой строке.

Поскольку и регулярное выражение, и сравнение строк работают с строкой с нулевым завершением, вы не можете проверить
для '\ 0' в буфере EXPECT, поскольку этот символ отмечает конец буфера. Однако мы
escape '\ 0' в ожидаемом буфере как «\ 0», который вы можете проверить. То есть, за которым следует '\'
значение ascii для 0. Например, вот как проверить ожидаемую строку, которая начинается
с нулем, за которым следует любое количество символов.

ожидать "^ [\\] 0. *"

Вот простой пример протокола SMTP:

если не удалось
порт 25 и
ожидайте "^ 220. *"
отправить "HELO localhost.localdomain \ r \ n"
ожидайте "^ 250. *"
отправить "ВЫЙТИ \ r \ n"
затем предупредить

SEND / EXPECT может использоваться с любым типом сокета, таким как сокеты TCP, сокеты UNIX и UDP.
розетки.

HTTP

Синтаксис:

ПРОТО (COL) HTTP
[ЗАПРОС "строка"]
[СТАТУС номер оператора]
[КОНТРОЛЬНАЯ СУММА]
[Список заголовков HTTP HEADERS]
[КОНТЕНТ <"=" | "! ="> STRING]

ЗАПРОС опция может установить строку URL, определяющую документ на HTTP-сервере. Если
оператор запроса не указан, будет запрошена страница "/" по умолчанию.

Например:

если не удалось
порт 80
протокол http
запрос "/ data / show? a = b & c = d"
затем перезапустите

статус параметр может использоваться для явной проверки кода состояния HTTP, возвращаемого HTTP
сервер. Если не используется, тест протокола HTTP завершится неудачно, если возвращенный код состояния будет
больше или равно 400. Это поведение можно изменить, используя статус
квалификатор.

Например, чтобы проверить, что страница существует (HTTP-сервер должен вернуть 404 в этом
кейс):

если не удалось
порт 80
протокол http
запрос "/non/existent.php"
статус = 404
затем предупредить

СУММА Вы можете проверить контрольную сумму документов, возвращаемых HTTP-сервером. Либо MD5, либо
Можно использовать хеш SHA1. Монит будет проверить контрольную сумму документа, если сервер
не устанавливать HTTP Content-Length заголовок. HTTP-сервер должен установить этот заголовок, когда он
сервер статический документ (т.е. файл). Ограничений по размеру документа нет, но
имейте в виду, что Monit будет использовать время для загрузки документа по сети для вычисления
контрольная сумма.

Пример:

если не удалось
порт 80
протокол http
запрос "/page.html"
checksum 8f7f419955cefa0b33a2ba316cba3659
затем предупредить

HTTP ЗАГОЛОВКИ может использоваться для отправки списка любых заголовков HTTP с тестом протокола HTTP. За
например, заголовок хоста. Если заголовок хоста не установлен, Monit будет использовать имя хоста или
IP-адрес хоста, указанный в операторе проверки хоста. Указание заголовка хоста
полезен, если вы хотите подключиться к виртуальному хосту на основе имени и протестировать его. Синтаксис для
установка заголовков HTTP

заголовки http [имя: значение, имя: значение, ..]

где каждая пара имя: значение разделяется символами ','. Если вам нужно использовать ":" в значении
строка, например, чтобы установить номер порта для заголовка хоста, вы должны заключить значение в
цитаты. Например,

заголовки http [Хост: "mmonit.com:443"]

В контексте проверки хоста использование этого оператора может выглядеть так:

проверьте хост mmonit.com с адресом mmonit.com
если не удалось
порт 80 протокол http
с заголовками http [Host: mmonit.com, Cache-Control: no-cache,
Cookie: csrftoken = nj1bI3CnMCaiNv4beqo8ZaCfAQQvpgLH]
и запрос / monit / с content = "Monit [0-9.] +"
затем предупредить

Установка заголовков HTTP связана с тестом протокола HTTP и должна выполняться перед
запросить как в примере выше.

СОДЕРЖАНИЕ опция устанавливает шаблон, который ожидается в данных, возвращаемых сервером. Если
шаблон не совпадает, событие запускается.

По умолчанию проверяется максимум 1 МБ. Вы можете увеличить лимит, используя установленные лимиты
заявление.

Например:

если не удалось
порт 80
протокол http
content = "foobar [0-9.] +"
затем предупредить

APACHE-СТАТУС

Команда APACHE-СТАТУС test позволяет проверить работоспособность сервера, проверив статус
страница, сгенерированная Apache mod_status, которая, как ожидается, будет по адресу по умолчанию
http://www.example.com/server-status.

Синтаксис:

ПРОТОКОЛ APACHE-STATUS [ПУТЬ ] [ ] +

путь - необязательный путь к статусу apache (по умолчанию "/ server-status")

собственность является аббревиатурой от статуса ребенка:

(1) ведение журнала (loglimit)
(2) закрытие соединений (closelimit)
(3) выполнение поиска в DNS (dnslimit)
(4) в состоянии активности с клиентом (ограничение активности)
(5) ответ клиенту (ограничение ответа)
(6) получение запроса (requestlimit)
(7) инициализация (startlimit)
(8) ожидание входящих соединений (предел ожидания)
(9) изящное закрытие (gracefullimit)
(10) выполнение процедур очистки (cleanuplimit)

оператор является одним из "<", "=", ">".

номер - числовой предел процентиля.

Каждый из этих пределов можно сравнить со значением, относящимся к общему количеству
активные дочерние процессы Apache.

Вы можете объединить все эти тесты в одно выражение или протестировать определенное
только ограничение. Если вы объединяете ограничения, вы должны соединить их вместе с помощью ключевого слова OR.

Пример:

в случае сбоя порт 80 протокол apache-status
loglimit> 10% или
dnslimit> 50% или
предел ожидания <20%
затем предупредить

SIP

Протокол SIP используется серверами коммуникационной платформы, такими как Asterisk и
FreeSWITCH.

Синтаксис:

ПРОТОКОЛ SIP [TARGET valid @ uri] [MAXFORWARD n]

TARGET вы можете указать альтернативного получателя сообщения, добавив действительный sip uri
после этого ключевого слова.

МАКСФОРВАРД Ограничьте количество прокси или шлюзов, которые могут перенаправить запрос на
следующий сервер. Его значение - целое число в диапазоне 0-255, по умолчанию установлено 70. Если max-
forward = 0, следующий сервер может ответить 200 OK (тест прошел успешно) или отправить 483 Too Many
Хмель (тест не пройден)

Например:

проверьте хост openser_all с адресом 127.0.0.1
если не удалось
порт 5060 тип протокол udp sip
с целью "localhost: 5060" и maxforward 6
затем предупредить

РАДИУС

Синтаксис:

РАДИУС ПРОТОКОЛА [СЕКРЕТНАЯ строка]

SECRET вы можете указать альтернативный секрет, по умолчанию - «testing123».

Например:

проверьте радиус процесса с помощью pidfile /var/run/radiusd.pid
start program = "/etc/init.d/freeradius start"
остановить программу = "/etc/init.d/freeradius stop"
если не удалось
хост 127.0.0.1 порт 1812 тип радиус протокола UDP
секретный пинг-понг
затем предупредить

MYSQL

Синтаксис:

ПРОТОКОЛ MYSQL [ИМЯ ПОЛЬЗОВАТЕЛЯ строка ПАРОЛЬ строка]

USERNAME Имя пользователя MySQL (максимум 16 символов).

PASSWORD Пароль MySQL (можно использовать специальные символы, но для не буквенно-цифровых символов
пароль должен быть указан).

Полномочия необязательный. Если учетные данные не заданы, Monit выполнит тест, используя
анонимный вход. Это может привести к тому, что ошибка аутентификации будет зарегистрирована в вашем журнале MySQL для
более высокие уровни журнала MySQL.

Если учетные данные установлены, Monit войдет в систему и выполнит проверку связи MySQL. Monit не требует
привилегии базы данных, для этого нужен только пользователь базы данных, мы рекомендуем создать отдельного пользователя
для тестирования Monit, например:

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'monit' @ 'host_from_which_monit_performs_testing' ИДЕНТИФИЦИРОВАНО 'mysecretpassword';
ПРИВИЛЕГИИ ФЛЮЗА;

Например:

проверьте процесс mysql с помощью pidfile /var/run/mysqld/mysqld.pid
запустить программу = "/ sbin / start mysql "
остановить программу = "/ sbin / стоп mysql "
если не удалось
порт 3306
протокол mysql имя пользователя "foo" пароль "bar"
затем предупредить

или с помощью команд запуска / остановки unix-socket и OS X

проверьте процесс mysql с помощью pidfile /var/run/mysqld/mysqld.pid
start program = "/usr/local/mysql/support-files/mysql.server start"
остановить программу = "/usr/local/mysql/support-files/mysql.server stop"
если не удалось
unixsocket/tmp/mysql.sock
протокол mysql имя пользователя "foo" пароль "bar"
затем предупредить

Интернет-магазин

Синтаксис:

ПРОТОКОЛ ВЕБ-РОКЕТ
[ЗАПРОСНАЯ строка]
[HOST строка]
[ORIGIN строка]
[Номер версии]

ВЕДУЩИЙ вы можете указать альтернативный заголовок Host

ЗАПРОС вы можете указать альтернативный запрос, по умолчанию "/"

ПРОИСХОЖДЕНИЕ вы можете указать альтернативное происхождение, по умолчанию "http://www.mmonit.com"

Версия вы можете указать альтернативную версию, по умолчанию "0"

Например:

проверьте хост websocket.org с адресом "echo.websocket.org"
если не удалось
порт 80 протокол websocket
хост "echo.websocket.org"
запрос "/"
источник 'http://websocket.com'
версия 13
затем предупредить

КОНФИГУРАЦИЯ ПРИМЕРЫ


Самая простая форма - это просто контрольный отчет. В этом примере мы проверяем,
сервер запущен и зарегистрируйте сообщение, если нет:

проверьте процесс nginx с помощью pidfile /var/run/nginx.pid

Чтобы Monit запускал сервер, если он не запущен, добавьте оператор запуска:

проверьте процесс nginx с помощью pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"

Вот более сложный пример мониторинга веб-сервера Apache, прослушивающего
номер порта по умолчанию для HTTP и HTTPS. В этом примере Monit перезапустит apache, если он
не принимать соединения по номерам портов. Метод, который Monit использует для перезапуска, заключается в следующем:
сначала выполните стоп-программу, затем подождите (до 30 секунд), пока процесс остановится, а затем
выполнить программу запуска и подождать (30 с), чтобы она запустилась. Продолжительность ожидания запуска или остановки
можно переопределить с помощью опции «тайм-аут». Если Monit не смог остановить или запустить
будет отправлено сообщение с ошибкой, если вы запросили
послал.

проверьте процесс apache с помощью pidfile /var/run/httpd.pid
start program = "/etc/init.d/httpd start" с тайм-аутом 60 секунд
остановить программу = "/etc/init.d/httpd stop"
если порт 80 вышел из строя в течение 2 циклов, перезапустите
если порт 443 вышел из строя в течение 2 циклов, перезапустите

Этот пример демонстрирует, как вы можете запустить программу от имени указанного пользователя (uid) и с
указанная группа (гид). Многие программы-демоны могут самостоятельно переключать uid и gid,
но для тех программ, которые этого не делают (например, программ Java), возможность monit запускать
программа в качестве определенного пользователя может быть очень полезной. В этом примере мы запускаем Tomcat Java
Servlet Engine в стандартной комплектации никто пользователь и группа. Обратите внимание, что Monit может только
переключите uid и gid для программы, если суперпользователь запускает Monit, в противном случае - Monit
просто проигнорирует запрос на изменение uid и gid.

проверьте процесс tomcat с помощью pidfile /var/run/tomcat.pid
start program = "/etc/init.d/tomcat start"
как никто и никто не гид
остановить программу = "/etc/init.d/tomcat stop"
# Вы также можете использовать вместо этого идентификационные номера и написать:
как uid 99 и с gid 99
если сбой порт 8080, то предупреждение

В этом примере мы используем udp для тестирования соединения, чтобы проверить, запущен ли сервер имен:

проверить процесс с именем pidfile /var/run/ named.pid
start program = "/etc/init.d/ named start"
остановить программу = "/etc/init.d/ named stop"
в случае сбоя порта 53 используйте тип udp protocol dns, затем перезапустите

В следующем примере показано, как проверить, отвечает ли служба софи.
соединения на его доменном сокете Unix:

проверьте процесс софи с помощью pidfile /var/run/sophie.pid
start program = "/etc/init.d/sophie start"
остановить программу = "/etc/init.d/sophie stop"
если не удалось unix / var / run / sophie, перезапустите

В этом примере мы проверяем веб-сервер apache, работающий на локальном хосте, который отвечает за
несколько виртуальных хостов на основе IP или vhosts, поэтому оператор host перед портом:

проверьте процесс apache с помощью pidfile /var/run/httpd.pid
start "/etc/init.d/httpd start"
остановить "/etc/init.d/httpd stop"
в случае сбоя хоста www.sol.no порт 80, тогда предупреждение
в случае неудачи хоста shop.sol.no порт 443, тогда предупреждение
в случае сбоя хоста chat.sol.no порт 80, тогда предупреждение

Чтобы убедиться, что Monit взаимодействует с HTTP-сервером, можно добавить тест протокола:

проверьте процесс apache с помощью pidfile /var/run/httpd.pid
start "/etc/init.d/httpd start"
остановить "/etc/init.d/httpd stop"
если не удалось
хост www.sol.no порт 80 протокол http
затем предупредить

В этом примере демонстрируется другой способ проверки веб-сервера с помощью команды send / expect.
механизм:

проверьте процесс apache с помощью pidfile /var/run/httpd.pid
start "/etc/init.d/httpd start"
остановить "/etc/init.d/httpd stop"
если не удалось
хост www.sol.no порт 80 и
отправьте "GET / HTTP / 1.1 \ r \ nHost: www.sol.no \ r \ n \ r \ n"
ожидать "HTTP / [0-9 \.] {3} 200. *"
затем предупредить

Здесь мы пингуем удаленный хост, чтобы проверить, работает ли он, а если нет, отправляем предупреждение:

проверьте хост www.tildeslash.com с адресом www.tildeslash.com
если не удалось пинг, то оповещение

В следующем примере мы просим Monit вычислить и проверить контрольную сумму для
базовый двоичный файл apache, используемый программами запуска и остановки. Если проверка контрольной суммы должна
сбой, мониторинг будет отключен, чтобы предотвратить возможный перезапуск скомпрометированного двоичного файла:

проверьте процесс apache с помощью pidfile /var/run/httpd.pid
start program = "/etc/init.d/httpd start"
остановить программу = "/etc/init.d/httpd stop"
в случае сбоя хоста www.tildeslash.com порт 80 перезапустите
зависит от apache_bin

проверьте файл apache_bin с путем / usr / local / apache / bin / httpd
если не удалось выполнить контрольную сумму, тогда unmonitor

В этом примере мы просим Monit проверить контрольную сумму документа на удаленном сервере. Если
контрольная сумма была изменена отправляем предупреждение:

проверьте хост mmonit.com с адресом mmonit.com
если не удалось
порт 80 протокол http и
запрос "/monit/dist/monit-5.7.tar.gz"
with checksum f9d26b8393736b5dfad837bb13780786
затем предупредить

Вот несколько тестов для некоторых популярных серверов связи, использующих протокол SIP.
Сначала мы тестируем сервер FreeSWITCH, а затем сервер Asterisk.

проверить процесс freeswitch
с pidfile /usr/local/freeswitch/log/freeswitch.pid
запустить программу = "/ usr / local / freeswitch / bin / freeswitch -nc -hp"
остановить программу = "/ usr / local / freeswitch / bin / freeswitch -stop"
если общий объем памяти> 1000.0 МБ на 5 циклов, то предупреждение
если общий объем памяти> 1500.0 МБ на 5 циклов, то предупреждение
если общий объем памяти> 2000.0 МБ на 5 циклов, перезапустите
если ЦП> 60% в течение 5 циклов, то предупреждение
если не удалось
порт 5060 типа UDP протокол SIP
цель [электронная почта защищена] и maxforward 10
затем перезапустите

проверить процесс звездочкой
с pidfile /var/run/asterisk/asterisk.pid
запустить программу = "/ usr / sbin / asterisk"
остановить программу = "/ usr / sbin / asterisk -r -x 'выключить сейчас'"
если общий объем памяти> 1000.0 МБ на 5 циклов, то предупреждение
если общий объем памяти> 1500.0 МБ на 5 циклов, то предупреждение
если общий объем памяти> 2000.0 МБ на 5 циклов, перезапустите
если ЦП> 60% в течение 5 циклов, то предупреждение
если не удалось
порт 5060 типа UDP протокол SIP
и цель [электронная почта защищена] максфорвард 10
затем перезапустите

Некоторые серверы запускаются медленно, например, серверы приложений на базе Java. Если мы
хотите, чтобы цикл опроса был низким (т.е. <60 секунд), но разрешить некоторым службам
время начинать, каждую инструкция удобна:

проверять динамо процесса с помощью pidfile /etc/dynamo.pid каждые 2 цикла
start program = "/etc/init.d/dynamo start"
остановить программу = "/etc/init.d/dynamo stop"
если сбой порт 8840, то предупреждение

Вот пример, в котором мы группируем две записи базы данных, чтобы вы могли управлять ими.
вместе, например; 'Monit -g database start all'. Оператор режима также проиллюстрирован на
первая запись и имеет эффект, что Monit не будет пытаться (повторно) запустить эту службу, если
он не работает:

проверьте процесс sybase с помощью pidfile /var/run/sybase.pid
start = "/etc/init.d/sybase start"
stop = "/etc/init.d/sybase stop"
пассивный режим
групповая база данных

проверьте оракул процесса с помощью pidfile /var/run/oracle.pid
start program = "/etc/init.d/oracle start"
остановить программу = "/etc/init.d/oracle stop"
если не удалось
порт 9001 протокол tns
затем перезапустите
групповая база данных

Этот пример проверки ресурсов отправит предупреждение, если загрузка ЦП демона HTTP Apache
а его дочерние процессы превышают 60% в течение двух циклов. Apache перезапускается, если процессор
использование превышает 80% для пяти циклов, или использование памяти превышает 100 МБ для пяти циклов, или если
средняя загрузка машин более 10 за 8 циклов:

проверьте процесс apache с помощью pidfile /var/run/httpd.pid
start program = "/etc/init.d/httpd start"
остановить программу = "/etc/init.d/httpd stop"
если ЦП> 40% в течение 2 циклов, то предупреждение
если общий ЦП> 60% за 2 цикла, то предупреждение
если общий ЦП> 80% в течение 5 циклов, перезапустите
если память> 100 МБ на 5 циклов, остановите
if средняя нагрузка(5 мин) больше 10.0 для 8 циклов, затем остановите

Эти примеры демонстрируют оператор отметки времени с помощью exec и то, как вы можете перезапустить apache.
если его файл конфигурации был изменен.

проверьте файл httpd.conf по пути /etc/httpd/httpd.conf
если изменена отметка времени
затем exec "/etc/init.d/httpd graceful"

В этом примере мы демонстрируем использование расширенного оператора предупреждения и проверки файла.
зависимость:

проверьте процесс apache с помощью pidfile /var/run/httpd.pid
start = "/etc/init.d/httpd start"
stop = "/etc/init.d/httpd stop"
предупреждение admin @ bar о {nonexist, timeout}
в почтовом формате {
от: bofh @ $ HOST
тема: apache $ EVENT - $ ACTION
сообщение: Это событие произошло на $ HOST в $ DATE.
Ваш верный сотрудник,
контролировать
}
в случае сбоя хоста www.tildeslash.com порт 80 перезапустите
зависеть httpd_bin
группа apache

проверьте файл httpd_bin по пути / usr / local / apache / bin / httpd
оповещать security @ bar о {контрольной сумме, отметке времени,
разрешение, uid, gid}
в почтовом формате {тема: Alaaarrm! на $ HOST}
если не прошла контрольная сумма
and expect 8f7f419955cefa0b33a2ba316cba3659
затем неконтролирующий
если не удалось получить разрешение 755, то unmonitor
если не удалось выполнить uid root, тогда unmonitor
если не удалось gid root, то unmonitor
если изменена метка времени, тогда предупреждение
группа apache

В этом примере мы демонстрируем использование оператора зависимости. В этом случае мы хотим
запускаем оракул и апач. Однако мы настроили apache для использования Oracle в качестве серверной части, и если
oracle перезапускается, необходимо перезапустить и apache.

проверьте процесс apache с помощью pidfile /var/run/httpd.pid
start = "/etc/init.d/httpd start"
stop = "/etc/init.d/httpd stop"
зависит от оракула

проверьте оракул процесса с помощью pidfile /var/run/oracle.pid
start = "/etc/init.d/oracle start"
stop = "/etc/init.d/oracle stop"
если порт 9001 вышел из строя в течение 5 циклов, перезапустите

Далее у нас есть 2 службы, oracle-import и oracle-export, которые необходимо перезапустить, если
oracle перезапускается, но независимы друг от друга.

проверьте оракул процесса с помощью pidfile /var/run/oracle.pid
start = "/etc/init.d/oracle start"
stop = "/etc/init.d/oracle stop"
если порт 9001 вышел из строя в течение 3 циклов, перезапустите

проверить процесс oracle-import
с pidfile /var/run/oracle-import.pid
start = "/etc/init.d/oracle-import start"
stop = "/etc/init.d/oracle-import stop"
зависит от оракула

проверить процесс oracle-export
с pidfile /var/run/oracle-export.pid
start = "/etc/init.d/oracle-export start"
stop = "/etc/init.d/oracle-export stop"
зависит от оракула

Используйте monit онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Бесплатный компилятор Pascal
    Бесплатный компилятор Pascal
    32/64/16-битный компилятор Паскаля для
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Advance, Nintendo NDS и DOS;
    семантически совместимый с...
    Скачать бесплатный компилятор Pascal
  • 2
    Информация о Canon EOS DIGITAL
    Информация о Canon EOS DIGITAL
    У Canon нет счетчика выдержек
    включены в EXIF-информацию
    файл изображения, в отличие от Nikon и
    Пентакс. Нет официального Canon на основе
    заявление ...
    Загрузить информацию о Canon EOS DIGITAL
  • 3
    REFInd
    REFInd
    rEFInd - это форк загрузки rEFIt
    менеджер. Как и rEFIt, rEFInd может
    автоматическое определение установленной загрузки EFI
    загрузчики, и он представляет собой красивый графический интерфейс
    меню варианта загрузки ...
    Скачать REFInd
  • 4
    ЭкспрессЛюк GSI
    ЭкспрессЛюк GSI
    Эта страница загрузки SourceForge должна была
    разрешить пользователям загружать мой исходный код
    GSI, основанные на великом опыте Фхуссона.
    работай. Я собираю Android Pie и
    Android 1 ...
    Скачать ExpressLuke GSI
  • 5
    Музыкальный Кастер
    Музыкальный Кастер
    Music Caster - музыкальный проигрыватель для лотков
    что позволяет транслировать местную музыку на
    Устройство Google Cast. При первом запуске
    вам нужно будет щелкнуть стрелку в вашем
    тас ...
    Скачать Music Caster
  • 6
    PyQt
    PyQt
    PyQt — это привязки Python для
    Кроссплатформенный Qt от Digia
    каркас разработки приложений. Это
    поддерживает Python v2 и v3 и Qt v4 и
    Qt v5. PyQt доступен...
    Скачать PyQt
  • Больше »

Команды Linux

Ad