Как отключить оповещения запуска / остановки экземпляра Monit?

10

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

Согласно документам, я установил:

set alert user@mycompany.com but not on { instance }

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

Тем не менее, я все еще получаю оповещения. Это супер раздражает. Очевидно, я что-то упускаю.

Мы запускаем Monit 5.2.4

Уинфилд
источник
Это покрыто этим вопросом?
Ewwhite

Ответы:

7

Monit может, согласно документации, генерировать несколько предупреждений:

Event:     | Failure state:              | Success state:
---------------------------------------------------------------------
action     | "Action done"               | "Action done"
checksum   | "Checksum failed"           | "Checksum succeeded"
bytein     | "Download bytes exceeded"   | "Download bytes ok"
byteout    | "Upload bytes exceeded"     | "Upload bytes ok"
connection | "Connection failed"         | "Connection succeeded"
content    | "Content failed",           | "Content succeeded"
data       | "Data access error"         | "Data access succeeded"
exec       | "Execution failed"          | "Execution succeeded"
fsflags    | "Filesystem flags failed"   | "Filesystem flags succeeded"
gid        | "GID failed"                | "GID succeeded"
icmp       | "Ping failed"               | "Ping succeeded"
instance   | "Monit instance changed"    | "Monit instance changed not"
invalid    | "Invalid type"              | "Type succeeded"
link       | "Link down"                 | "Link up"
nonexist   | "Does not exist"            | "Exists"
packetin   | "Download packets exceeded" | "Download packets ok"
packetout  | "Upload packets exceeded"   | "Upload packets ok"
permission | "Permission failed"         | "Permission succeeded"
pid        | "PID failed"                | "PID succeeded"
ppid       | "PPID failed"               | "PPID succeeded"
resource   | "Resource limit matched"    | "Resource limit succeeded"
saturation | "Saturation exceeded"       | "Saturation ok"
size       | "Size failed"               | "Size succeeded"
speed      | "Speed failed"              | "Speed ok"
status     | "Status failed"             | "Status succeeded"
timeout    | "Timeout"                   | "Timeout recovery"
timestamp  | "Timestamp failed"          | "Timestamp succeeded"
uid        | "UID failed"                | "UID succeeded"
uptime     | "Uptime failed"             | "Uptime succeeded"

Мы смогли исправить это с нашей стороны, установив (адреса были изменены, чтобы защитить невинных):

SET ALERT important-messages@projectlocker.com ON { invalid, nonexist, timeout, resource, size, timestamp}
SET ALERT less-important-messages@projectlocker.com ON {action, permission, pid, ppid, instance, status}

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

Подзаголовки в разделе «СЕРВИСНЫЕ ИСПЫТАНИЯ» по адресу: http://mmonit.com/monit/documentation/monit.html довольно четко соответствуют приведенным выше типам.

Для каждого запланированного процесса или функции вашего сервера вы должны иметь возможность представить то, что важно для вас, на простом английском языке и сопоставить это желание с одним из тестов, упомянутых в СЕРВИСНЫХ ИСПЫТАНИЯХ. Например, если я использую Apache, я знаю, что мне небезразлично:

  • PID в файле PID все еще работает? (Nonexist)
  • Изменился ли PID без моего ведома? (PID)
  • Служба своевременно реагирует на перезапуск? (Тайм-аут)

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

brokenbeatnik
источник
1
Как вы говорите, что вас волнует? Я не смог найти хорошую документацию о том, что на самом деле означают эти действия. Например, «uptime» кажется довольно полезным, но его нет в вашем списке.
dfrankow
Я отредактирую свой ответ на комментарий.
brokenbeatnik
6

Я использую Monit версии 5.2.5, и использование следующего остановило мониторинг предупреждений, поступающих через

set alert example@gmail.com not {instance}

Thermionix
источник
1

Просто скажите, чтобы оно сбрасывалось после определенного числа попыток в N периоде времени в соответствии с этими примерами .

Бен Лютгенс
источник
Это не уведомление об остановке или запуске данного наблюдаемого процесса или службы (что является новостями), а об остановке / запуске самого демона monit, который всегда является преднамеренным, а не новостью.
Winfield
1
Оооо, что если вы удалите строку «установить оповещение» в глобальном масштабе и добавите явные оповещения в разделы службы?
Бен Лютгенс
это работает лучше .. просто установите электронные письма с предупреждениями в чеках .. удалите глобальный.
Майк
1

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

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

Уинфилд
источник