Monitインスタンスの開始/停止アラートを無効にする方法は?


10

Monitは、monitデーモンが停止または開始されるたびにアラートを送信します。これは不愉快で有用な情報ではありません。

ドキュメントによると、私は設定しました:

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

...アラートがその電子メールに送信されます。ただし、開始/停止として定義されている「インスタンス」カテゴリに含まれている場合を除きます。

ただし、それでもアラートが生成されます。これは非常に迷惑です。明らかに何かが欠けているに違いない。

Monit 5.2.4を実行しています


回答:


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の SERVICE TESTの小見出し は、上記のタイプにかなりよく対応しています。

サーバーのスケジュールされたプロセスまたは機能ごとに、重要なことを平易な英語で考え出し、その欲求をサービステストで言及されているテストの1つに一致させることができるはずです。たとえば、Apacheを実行している場合は、次のことに関心があることがわかります。

  • PIDファイルのPIDはまだ実行中ですか?(存在しない)
  • PIDは知らないうちに変更されましたか?(pid)
  • サービスは再起動にタイムリーに応答していますか?(タイムアウト)

ポーリングするカスタムデーモンの場合、ログファイルがステータスメッセージで定期的に更新されているかどうか(タイムスタンプ)を気にすることがあります。


1
気になることをどのように伝えますか?これらのアクションが実際に何を意味するのかについての適切なドキュメントを見つけることができませんでした。たとえば、「稼働時間」はかなり便利に見えますが、リストにありません。
dfrankow 2013

コメントへの回答を編集します。
brokenbeatnik 2013

6

Monitバージョン5.2.5を使用していますが、以下を使用すると、Monitアラートの受信が停止します

set alert example@gmail.com not {instance}


1

これらの例によれば、N期間特定の回数の再試行を行った後にそれを無効にするように指示するだけです


これは、特定の監視対象プロセスまたはサービスの停止または開始(ニュース)の通知ではなく、常に意図的であり、ニュースではないmonitデーモン自体の停止/開始の通知です。
Winfield

1
おお、グローバルで「アラートの設定」行を削除し、サービススタンザに明示的なアラートを配置するとどうなるでしょうか。
Ben Lutgens、2011

これはうまく機能します。チェックでアラートの電子メールを設定するだけです。グローバルなものを削除します。
Mike

1

私はこれをmonit内で修正することができず、それらを傍受することによって配信前にこれらのmonitインスタンス通知をフィルターで除外するために、monit電子メールに処理のレイヤーを構築する必要がありました。

ポケットベルの義務を使用して、monitおよび他のいくつかのシステムからの通知を蓄積およびディスパッチするため、この場合は、件名ベースの正規表現を使用してMonitサービスにフィルタリングルールを追加し、monitインスタンスの通知メールをフィルターで除外します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.