Як відключити сповіщення про запуску / зупинку екземпляра 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 все ще працює? (неіснуючий)
  • Чи змінився ПІД без мого відома? (pid)
  • Чи служба своєчасно реагує на перезапуск? (час вийшов)

Для користувацького демона, який опитується, я можу хвилюватись, чи регулярно оновлюється файл журналу повідомленнями про стан (часова мітка).


1
Як ти скажеш, що тебе хвилює? Мені не вдалося знайти гарну документацію про те, що означають ці дії. Наприклад, "нетривалість" здається досить корисною, але її у вашому списку немає.
dfrankow

Я відредагую свою відповідь, щоб прокоментувати.
битийбеатник

6

Я використовую Моніт версії 5.2.5, і за допомогою наведених нижче перестань надходити сповіщення про контроль

set alert example@gmail.com not {instance}


1

Просто скажіть це, щоб зняти його після певної кількості повторень за N часовий період відповідно до цих прикладів .


Це не повідомлення про зупинку або запуск певного спостережуваного процесу або послуги (що є новиною), але про зупинку / запуск самого демон-моніта, який завжди є навмисним, а не новиною.
Вінфілд

1
Ooooh, що робити, якщо ви видалите рядок "встановити попередження" у глобальному масштабі та помістите явні сповіщення у свої службові строфи?
Бен Лутгенс

це працює краще .. просто встановіть електронні листи попередження у чеках .. видаліть глобальну.
Майк

1

Я не зміг виправити це в межах monit і довелося створити шар обробки на електронному листі monit, щоб відфільтрувати ці сповіщення про екземпляр monit перед доставкою, перехопивши їх.

Ми використовуємо обов'язок пейджера для накопичення та відправлення сповіщень від monit та декількох інших систем, тому в цьому випадку я додав правило фільтрації на службі Monit, використовуючи тематичний регулярний вираз для фільтрації електронних листів із повідомленням про екземпляр монітора.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.