LoginSignup
0
2

More than 3 years have passed since last update.

『監視サーバ動いてますよ』メールを定時実行させる

Posted at

はじめに

サーバの監視にzabbixを使います。
そこで話にあがってくるのが、「監視サーバー自体が落ちてたらどうするの?」という問題です。

監視サーバが動いていなかったらアラートを出すのがベストですが、今回はそこまで手間をかけずに
毎日AM 9:00に監視サーバが動いていることをメールでお知らせする方法で対処することにします。

外部チェックや、監視サーバ内のcronでシェルを書いて定期的にメール送信させるなど色々な方法があるようですが、今回は手っ取り早くZabbixのアイテム → トリガー → アクションで完結させる方法を紹介します。

環境

  • RHEL 7.7
  • Zabbix 4.0.18

ホスト

まずは監視サーバのホストを作成します。
デフォルトのZabbix serverを使うでも良いです。
スクリーンショット 2020-03-25 9.31.14.png

アイテム

基本的に動けばなんでも良いです。pingを実行させます。

Zabbix-serverのプロセス確認でも良いですが、今回の要件は
メールが送れない=Zabbixが動いていない
を検知させるだけですので、プロセス監視は必須ではないです。

監視間隔のカスタマイズ

何時にメールを送信させるかを監視間隔のカスタマイズで調整します。

h9m0,1
09:00、09:01に監視アイテムが実行されます。
2回実行させるのがミソです。(後述)

監視間隔のフォーマットについてはこちらが分かりやすかったです。

スクリーンショット 2020-03-25 9.33.54.png

トリガー

トリガーでは現在時刻を返す time 関数を使います。
この条件式で障害イベントと復旧イベントの発生を制御します。

  • 9:00にアイテム監視が実行され、トリガー条件式がtrueで障害イベント発生。
  • 9:01にアイテム監視が実行され、トリガー条件式がfalseで復旧イベント発生。

復旧イベントを発生させないとダッシュボードにずっと表示されていてなんだか気持ち悪いので、
アイテム監視を2回行うようにしています。

サポートされているトリガー関数 [Zabbix Documentation 2.2]
time | 現在の時刻をHHMMSS形式で返します。例:123055

スクリーンショット 2020-03-25 9.41.57.png

アクション

あとはアクション設定に先ほど作成したトリガーを割り当てれば完了です。

スクリーンショット 2020-03-25 9.43.22.png
スクリーンショット 2020-03-25 9.45.02.png

終わりに

アイテム実行からトリガーのtime()が発動するまでに1秒以上のラグがあったら
トリガー判定でfalseにならないかな?とも思ったのですが、今のところ動いているようなので様子見といったところです。

クリティカルな実装かもしれない。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2