Zabbixを運用する際に設定すべきポイントとは

2014年02月05日 22時14分

201402052214OZAC00.png

テンプレート機能

前回構築したシステムでは、サーバー、クライアントの2台のサーバーの監視を行っていますが、監視データのサマリーを見ると、軽度の障害として検出されたサービスやアプリケーションがあります。

201402052214OZAC01.png

検出された障害の中には、サーバー上で稼働していないサービスも含まれていますので、テンプレートを変更して、誤検出を修正します。

201402052214OZAC02.png

テンプレートの修正を含む全ての作業は、Zabbixサーバーの管理画面で行います。

  1. 現在のテンプレートの確認

    設定-ホストを選択し、現在使用中のテンプレートを確認します。

    201402052214OZAC03.png
  2. 現在のテンプレートの複製

    設定-テンプレートを選択し、現在使用中のテンプレートを表示した後、すべて複製を選択します。

    201402052214OZAC04.png

    次に、テンプレートの名前を設定します。ここでは、Template_CentOSとしています。

    201402052214OZAC05.png

    保存すると、複製されたテンプレートが表示されます。

    201402052214OZAC06.png
    201402052214OZAC07.png

    テンプレートの複製は、複製元のテンプレート(ここでは、Template_Linux)を直接変更してしまうと、他の監視サーバーにも影響を及ぼす可能性があるため、複製したテンプレートを修正しています。

  3. 現在のテンプレートのホスト名の削除

    使用中のテンプレートに登録されているホスト名を削除します。

    変更前

    201402052214OZAC08.png

    変更後

    201402052214OZAC09.png
  4. 複製したテンプレートへホスト名を登録

    複製したテンプレートにホスト名を登録します。

    201402052214OZAC10.png
    201402052214OZAC11.png

    これにより、複製したテンプレートとホストがリンクします。

    201402052214OZAC12.png
  5. サービスの無効化

    サーバー上で仮想していないサービスを検出している場合、サービスを無効化することで誤検出を修正できます。
    ここでは、FTP/IMAP/NNTP/POP3を無効化しています。

    201402052214OZAC13.png
    201402052214OZAC14.png

    システムステータスを確認すると、軽度の障害の数が減少したことが確認できます。

    201402052214OZAC15.png
  6. Processの無効化

    サーバー上で稼働していないプロセスを検出してる場合、プロセスを無効化することで誤検出を修正できます。
    ここでは、inetdを無効化しています。

    201402052214OZAC16.png
  7. Process名の変更

    サーバー上で稼働いるプロセス名が異なる場合、プロセス名を修正します。
    ここでは、syslogdの説明およびキーを下記のとおり修正しています。

    変更前

    Number of running processes syslogd
    proc.num[syslogd]
    

    変更後

    Number of running processes rsyslogd
    proc.num[rsyslogd]
    
    201402052214OZAC17.png
    201402052214OZAC18.png

    システムステータスを確認すると、軽度の障害の数が減少したことが確認できます。

    201402052214OZAC19.png

    同様に、zabbix_serverのキーを下記のとおり修正しています。

    変更前

    proc.num[zabbix_server]
    

    変更後

    proc.num[zabbix_server_mysql]
    
    201402052214OZAC20.png
    201402052214OZAC21.png

    システムステータスを確認すると、軽度の障害の数が減少したことが確認できます。

    201402052214OZAC22.png
  8. ホスト固有の設定

    zabbix_server_mysqlプロセスは、Zabbixサーバー上のみで稼働しているため、監視対象サーバー上で検出を無効にします。

    この画面では、inetdがテンプレート上で無効にされているのに対して、zabbix_server_mysqlは、zabbix-clientのみ無効となっているため、zabbix-serverでは、inetdのみ無効となります。

    201402052214OZAC23.png

    以上で、誤検出が修正され、監視ステータスが正常になります。

    201402052214OZAC24.png

グラフ機能

Zabbixでは、監視対象として追加したサーバーのグラフの作成テンプレートが登録されません。このため、テンプレートまたは、ホストごとにグラフ作成を行います。ここでは、ホストにグラフを登録しています。

  1. ホスト設定の表示

    設定-ホストから、グラフ(0)と表示されているアイテムを選択します。

    201402052214OZAC25.png
  2. グラフ作成

    グラフの作成をクリックし、グラフ名を設定します。

    201402052214OZAC26.png
    201402052214OZAC27.png
  3. アイテム追加

    アイテム横の追加ボタンをクリックし、検出するパラメータを指定します。
    ここでは、CPUのロードアベレージを選択しています。

    201402052214OZAC28.png
    201402052214OZAC29.png
    201402052214OZAC30.png
    201402052214OZAC31.png

    追加ボタンをクリックして、アイテムが追加されたら、保存します。

    201402052214OZAC32.png
    201402052214OZAC33.png
    201402052214OZAC34.png
    201402052214OZAC35.png

    同様の手順で、グラフを追加することができます。

メール通知機能

メール通知は、監視対象のサーバーに障害が発生した際に、メールで通知を行うことができます。

  1. メディアタイプ設定

    Zabbixでは、通知を行う方式をメディアタイプとして管理しているため、メール通知を行うためには、メール設定を行う必要があります。

    管理-メディアタイプから、Emailを選択し、SMTPサーバ、SMTP helo、送信元メールアドレスを設定します。

    201402052214OZAC36.png

    ここでは、下記のとおり設定しています。

    項目設定内容
    SMTPサーバlocalhost
    SMTP helozabbix-server.vagrantup.com
    送信元メールアドレスzabbix@zabbix-server.vagrantup.com
    201402052214OZAC37.png
    201402052214OZAC38.png
  2. 送信先アドレス設定

    管理-ユーザから、ユーザグループZabbix administratorsユーザを選択し、ユーザAdminをクリックします。

    201402052214OZAC39.png
    201402052214OZAC40.png

    メディア横の追加ボタンをクリックすると、新規メディアが登録できますので、タイプにEmailを選択し、送信先のメールアドレスを指定します。
    ここでは、送信先にvagrant@zabbix-server.vagrantup.comを指定しています。

    201402052214OZAC41.png
    201402052214OZAC42.png
    201402052214OZAC43.png

  3. アクション設定

    Zabbixでは、通知をアクションとして登録することで、障害時のメール通知を行うことができます。

    設定-アクションから、アクションの作成をクリックし、アクションの名前を設定します。

    201402052214OZAC44.png
    201402052214OZAC45.png

    次に、アクションのオペレーションの新規ボタンをクリックして、オペレーションの編集を、下記のとおり設定します。

    項目設定内容
    オペレーションのタイプメッセージの送信
    メッセージの送信先シングルユーザ
    201402052214OZAC46.png
    201402052214OZAC47.png

    メッセージの送信先に、シングルユーザを選択し、選択ボタンをクリックすると、ユーザ選択画面が表示されますので、Adminを選択して、追加ボタンをクリックします。

    201402052214OZAC48.png
    201402052214OZAC49.png

    アクションのコンディションでは、計算のタイプを「OR」に設定し、コンディション(A)、(B)ともにチェックした後、「保存」ボタンをクリックすると、アクションが追加されます。

    201402052214OZAC50.png
    201402052214OZAC51.png
  4. 動作確認

    Zabbixクライアントの監視エージェントを停止して、通知メールが送信されるか確認します。
    Zabbixクライアント上で、エージェントサービスを停止します。

    $ sudo service zabbix-agent stop
    
    201402052214OZAC52.png

    しばらくすると、Zabbixサーバー上のユーザーにメールが送信されますので、メールクライアントで確認します。

    $ mutt
    
    201402052214OZAC53.png

    管理画面でも、障害が発生したことが確認できます。

    201402052214OZAC54.png

まとめ

ここまで、Zabbixを運用する際に設定すべきポイントについて解説しました。Zabbixは機能が豊富ですので、本記事で全てを解説できた訳ではありません。今回は、最小限の機能を解説しましたが、記事を参考にして、解説できなかった機能について、試して見て下さい。