Bagaimana cara menonaktifkan peringatan mulai / berhenti Monit?

10

Monit mengirimkan peringatan setiap kali monemon daemon dihentikan atau dimulai. Ini adalah informasi yang menjengkelkan dan tidak berguna.

Menurut dokumen, saya menetapkan:

set alert [email protected] but not on { instance }

... yang seharusnya mengirim peringatan ke email itu, kecuali mereka ada dalam kategori "instance", yang didefinisikan sebagai mulai / berhenti.

Namun, saya masih mendapatkan pemberitahuan. Ini sangat menjengkelkan. Jelas saya harus kehilangan sesuatu.

Kami menjalankan Monit 5.2.4

Winfield
sumber
Apakah ini dicakup oleh pertanyaan ini?
ewwhite

Jawaban:

7

Monit bisa, menurut dokumentasi menghasilkan sejumlah peringatan:

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"

Kami dapat memperbaiki ini di pihak kami dengan menetapkan (alamat diubah untuk melindungi yang tidak bersalah):

SET ALERT [email protected] ON { invalid, nonexist, timeout, resource, size, timestamp}
SET ALERT [email protected] ON {action, permission, pid, ppid, instance, status}

Ini berhasil merutekan pesan ke alamat yang kita pedulikan. Anda dapat mengaturnya secara global atau lokal, tetapi peringatan kami hanya bersifat global.

Subpos di bawah TES LAYANAN di: http://mmonit.com/monit/documentation/monit.html berkorespondensi dengan cukup rapi untuk jenis-jenis di atas.

Untuk setiap proses atau fitur yang dijadwalkan dari server Anda, Anda harus dapat menemukan apa yang penting bagi Anda dalam bahasa Inggris, dan mencocokkan keinginan itu dengan salah satu tes yang disebutkan dalam SERVICE TESTS. Misalnya, jika saya menjalankan Apache, saya tahu saya peduli:

  • Apakah PID dalam file PID masih berjalan? (tidak ada)
  • Apakah PID berubah tanpa sepengetahuan saya? (pid)
  • Apakah layanan merespons tepat waktu untuk memulai kembali? (waktu habis)

Untuk daemon khusus yang di-polling, saya mungkin peduli apakah file log diperbarui dengan pesan status secara teratur (cap waktu).

brokenbeatnik
sumber
1
Bagaimana Anda memberi tahu apa yang Anda pedulikan? Saya tidak dapat menemukan dokumentasi yang baik tentang apa sebenarnya tindakan tersebut. Misalnya, "waktu aktif" tampaknya cukup bermanfaat, tetapi Anda tidak memilikinya di daftar Anda.
dfrankow
Saya akan mengedit jawaban saya untuk berkomentar.
brokenbeatnik
6

Saya menggunakan Monit versi 5.2.5 dan menggunakan yang berikut ini telah menghentikan peringatan monit yang datang

set alert [email protected] not {instance}

Thermionix
sumber
1

Katakan saja untuk mematikannya setelah sejumlah percobaan dalam periode waktu N menurut contoh-contoh ini .

Ben Lutgens
sumber
Ini bukan pemberitahuan tentang proses yang ditonton atau layanan yang dihentikan atau mulai (yang merupakan berita) tetapi dari monit daemon itu sendiri yang berhenti / mulai, yang selalu disengaja dan bukan berita.
Winfield
1
Ooooh, bagaimana jika Anda menghapus baris "set lansiran" di global, dan beri peringatan eksplisit di bait layanan Anda?
Ben Lutgens
ini berfungsi lebih baik .. cukup atur email pemberitahuan di cek .. hapus yang global.
Mike
1

Saya tidak dapat memperbaiki ini dalam monit dan harus membangun lapisan pemrosesan pada email monit untuk menyaring pemberitahuan instance monit ini sebelum pengiriman, dengan menyadap mereka.

Kami menggunakan tugas pager untuk mengumpulkan dan mengirim pemberitahuan dari monit dan beberapa sistem lainnya, jadi dalam hal ini saya menambahkan aturan penyaringan pada layanan Monit menggunakan regex berbasis subjek untuk menyaring email pemberitahuan pemberitahuan monit misalnya.

Winfield
sumber