Muninアラートメール設定

本ガイドはサポート対象外の説明を含む内容となります。
参考情報としてお読みいただき、お客様のご判断でご利用ください。
※尚、ご自身での設定が難しいという方に、有料にて設定の代行を承っております。
こちらをご参照ください。 設定代行メニュー

こちらのガイドはMuninを使って監視を行い、さらに危険状態である項目については アラートメールを送信するための設定方法です。MuninはEX-LITE、クラウド、EX-SCALE、EX-DBプランには 標準でインストールされております。
Muninについての基本概要については以下のガイドをあらかじめご参照ください。
リソース監視ツールMuninについて
また、複数台構成の際のMunin設定については以下のガイドにも案内しております。
複数台構成のMunin監視設定

STEP 1アラートメール送信サーバの確認

お客様のサーバ構成についてはさまざまあるため、本ガイドでは 主に以下の2例についてご案内させていただきます。
◆A:足場サーバにおいて他サーバ監視する
プライベートLAN上のサーバのみの構成の場合は足場となる管理サーバにて監視を設定します。

munin-alert-multi複数台構成の中に一台でもグローバルIPアドレスとプライベートIPアドレスどちらももつサーバをご契約の場合はそのサーバをMunin監視用のサーバとして設定いただくこともできます。
本ガイドでは「足場サーバを監視サーバとして運用する」と仮定し案内を記載させていただきますが、お客様のサーバ環境に置き換えてご参照ください。
※複数台構成の場合のMunin監視設定については、以下のガイドにもまとめてありますのであらかじめ、ご確認ください。(参考:複数台構成のMunin監視設定

◆B:自分自身のサーバプロセスを監視する
munin-alert-localhostグローバルIPアドレスをお持ちのサーバや、外部はメール送信が可能なサーバであれば自分自身のプロセスをMuninで監視することも可能です。グローバルIPアドレスのみのサーバを1台での構成の方などは、こちらが該当します。

※A,BいずれにおいてもMuninにてサーバを監視しアラートメールを送信したい場合は
•Muninが起動していること
•外部へメール送信が可能なサーバであること
が条件となります。

STEP 2munin.confの設定

Munin監視をおこなうサーバにて
(1) /etc/munin/munin.confファイルを追加編集します。その後
(2) 5分程度待つと監視プロセスが実行され新しい設定が読み込まれます。

muninは既定では5分に一回更新を行っています。munin.confファイルを変更した後について、特にプロセスの再起動等の作業は必要ありません。
以下の構成ごとの設定例をご案内します。

足場サーバにおいて他サーバ監視する場合

以下は自分自身(localhost)と他のサーバ2台分(10.xx.xx.10と10.xx.xx.11)の監視を設定している設定ファイルの一部抜粋(サンプル)を含んだ作業例です。

# cd /etc/munin 
# cp -pi munin.conf munin.conf.YYYYMMDD ※バックアップを取ります
# vi munin.conf

変更前の内容サンプル:/etc/munin/munin.conf

#    中略
[localhost] #   自分自身の監視設定
address 127.0.0.1
use_node_name yes

[WEB;server01.example.intra]  #   他サーバの監視設定その1
     address 10.xx.xx.10
     use_node_name yes 

[WEB;server02.example.intra]  #   他サーバの監視設定その2
     address 10.xx.xx.11 
     use_node_name yes 

変更後の内容サンプル:/etc/munin/munin.conf
●@●●には管理者様のEmailアドレスを記載します。

#    中略
contact.mail.command mail -s "Munin Alerts ${var:group}::${var:host}" ●@●●
contact.mail.max_messages 20
contact.mail.always_send warning critical    # contactブロックの内容解説はこちら

[localhost]
    address 127.0.0.1
    use_node_name yes
    load.load.critical 10
    memory.free.critical 300000000:
    apache_processes.free80.critical 10:
    apache_volume.volume80.critical 0.01:
    uptime.uptime.critical 0.01:
    ps_httpd.count.critical 1:
    ps_sshd.count.critical 1: # criticalブロックの内容解説はこちら


[WEB;server01.example.intra] 
     address 10.xx.xx.10
     use_node_name yes 
    load.load.critical 10
    memory.free.critical 300000000:
    apache_processes.free80.critical 10:
    apache_volume.volume80.critical 0.01:
    uptime.uptime.critical 0.01:
    ps_httpd.count.critical 1:
    ps_sshd.count.critical 1:

[WEB;server02.example.intra] 
     address 10.xx.xx.11 
     use_node_name yes 
    load.load.critical 10
    memory.free.critical 300000000:
    apache_processes.free80.critical 10:
    apache_volume.volume80.critical 0.01:
    uptime.uptime.critical 0.01:
    ps_httpd.count.critical 1:
    ps_sshd.count.critical 1:

自分自身のサーバプロセスを監視する場合

以下は自分自身(localhost)の監視を設定している設定ファイルの一部抜粋(サンプル)を含む作業例です。

# cd /etc/munin 
# cp -pi munin.conf munin.conf.YYYYMMDD ※バックアップを取ります
# vi munin.conf

変更前の内容サンプル:/etc/munin/munin.conf

#    中略
[localhost] #   自分自身の監視設定
address 127.0.0.1
use_node_name yes

変更後の内容サンプル:/etc/munin/munin.conf
●@●●には管理者様のEmailアドレスを記載します。

#    中略
contact.mail.command mail -s "Munin Alerts ${var:group}::${var:host}" ●@●●
contact.mail.max_messages 20
contact.mail.always_send warning critical    # contactブロックの内容解説はこちら

[localhost]
    address 127.0.0.1
    use_node_name yes
    load.load.critical 10
    memory.free.critical 300000000:
    apache_processes.free80.critical 10:
    apache_volume.volume80.critical 0.01:
    uptime.uptime.critical 0.01:
    ps_httpd.count.critical 1:
    ps_sshd.count.critical 1: # criticalブロックの内容解説はこちら

contactの内容

contact.mail.command mail -s “Munin Alerts ${var:group}::${var:host}” ●@●●
Muninアラートメールの件名と(Munin Alerts …)送信先メールアドレスを指定しています。

contact.mail.max_messages 20
メールの本文に何件までのアラートを記載するか指定しています。この例では1メールにつき最大20件分までの監視報告をメールに記載するという定義になっています。

contact.mail.always_send warning critical
メールを送信するレべルについて指定しています。warning(警告)、critical(危険)いずれの場合もメールを送信する、という定義となっています。

criticalの内容

critical(危険状態)として登録する項目の例です。サーバの用途によって 登録内容は調整ください。

load.load.critical 10
ロードアベレージが10を超えるとアラート

memory.free.critical 300000000:
未使用メモリが300MBを切るとアラート

apache_processes.free80.critical 10:
apacheの未使用接続数が10を切るとアラート

apache_volume.volume80.critical 0.01:
apacheの転送量が0(0.01以下)になるとアラート

uptime.uptime.critical 0.01:
サーバアップタイムが0(0.01以下)になるとアラート

ps_httpd.count.critical 1:
httpdプロセスが0になるとアラート

ps_sshd.count.critical 1:
sshdプロセスが0になるとアラート

mysql_threads.threads.critical 1:
mysqlのスレッドが0になるとアラート。上記の例には記載しておりませんがデータベースサーバを運用の際等は有用な監視設定です。mysqlのMunin監視設定については事前にお客様で追加設定を加えていただき、Mysqlの監視グラフの取得ができるようになっている必要があります。設定方法についてはこちらをご参照ください。
Mysql監視のための初期設定(リソース監視ツールMuninについて)

STEP 3アラートメールの確認

ロードアベレージエラーのアラートメール例

From	:	
To	:	
Subject	:	Munin Alerts WEB::server01.example.intra
WEB :: server01.example.intra :: Load average
        CRITICALs: load is 15.20 (outside range [10]).

httpdが停止している場合のアラートメール例

From	:	
To	:	
Subject	:	Munin Alerts WEB::server01.example.intra
WEB :: server01.example.intra :: Apache processes
        CRITICALs: free slots 80 is 0.00 (outside range [10:]).

WEB :: server01.example.intra :: Apache volume
        CRITICALs: port 80 is 0.00 (outside range [0.01:]).

WEB :: server01.example.intra :: Number of httpd processes
        CRITICALs: httpd is 0.00 (outside range [1:]).

sshdが停止している場合のアラートメール例

From	:	
To	:	
Subject	:	Munin Alerts WEB::server01.example.intra
WEB :: server01.example.intra :: Number of sshd processes
        CRITICALs: sshd is 0.00 (outside range [1:]).

mysqldが停止している場合のアラートメール例

From	:	
To	:	
Subject	:	Munin Alerts WEB::server01.example.intra
DB1 :: server03.example.intra :: MySQL threads
        CRITICALs: mysql threads is 0.00 (outside range [1:]).

mysqldの監視設定がmunin-node側でされていない場合のメール例

以下のようなメールを受信した場合は 被監視サーバ(監視対象となっているサーバ)側のmunin-nodeの設定がされていない場合があります。こちらのガイドを参照して設定ください。
Mysql監視のための初期設定

To	:	
Subject	:	Munin Alerts WEB::server01.example.intra
DB1 :: server03.example.intra :: MySQL threads
        UNKNOWNs: mysql threads is unknown.

UNKNOWNsメール

mysqlの監視項目設定不足の際に送られるメール ような「UNKNOWNs」を含むメールは、特にサービスに問題がないのになんらかの原因でデータが取得できない場合にも送付されることもあります。
5分後の再通知では同じサービスが「OKs」となって送付されていれば特に問題はありません。

From	:	
To	:	
Subject	:	Munin Alerts WEB::server01.example.intra
WEB :: server01.example.intra :: Apache volume
        UNKNOWNs: is unknown.

サービス再開のメール例

以下はこれまでcriticalという状態だった各監視項目が解除され、問題ない状態に切り替わった際のメール通知例です。

From	:	
To	:	
Subject	:	Munin Alerts WEB::server01.example.intra
WEB :: server01.example.intra :: Apache processes
        OKs: free slots 80 is 250.94.

WEB :: server01.example.intra :: Apache volume
        OKs: port 80 is 44868.86.

WEB :: server01.example.intra :: Number of sshd processes
        OKs: sshd is 1.00.

WEB :: server01.example.intra :: Memory usage
        OKs: unused is 1581405206.87.

WEB :: server01.example.intra :: Uptime
        OKs: uptime is 388.57.

WEB :: server01.example.intra :: Number of httpd processes
        OKs: httpd is 6.99.