Zabbixによる企業向け監視システムの構築 第2回

4004-00

はじめに

前回の記事では、Zabbixサーバーおよび、クライアントの構築方法について解説しました。今回は、Zabbixを運用する際に設定すべきポイントについて解説します。

テンプレート機能

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

4004-01

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

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

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

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

    4004-02
  2. 現在のテンプレートの複製

    設定-テンプレートを選択し、現在使用中のテンプレートを表示した後、「すべて複製」を選択します。 4004-03
    次に、テンプレートの名前を設定します。ここでは、Template_CentOSとしています。 4004-04
    保存すると、複製されたテンプレートが表示されます。

    4004-06

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

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

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

    4004-07
  4. 複製したテンプレートへホスト名を登録

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

    4004-08

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

  5. サービスの無効化

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

    4004-13
  6. Processの無効化

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

    4004-15
  7. Process名の変更

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

    (変更前)
    Number of running processes syslogd
    proc.num[syslogd]
    (変更後)
    Number of running processes rsyslogd
    proc.num[rsyslogd]
    
    4004-16

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

    (変更前)
    proc.num[zabbix_server]
    (変更後)
    proc.num[zabbix_server_mysql]
    
    4004-20
  8. ホスト固有の設定

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

    4004-23

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

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

    4004-24

グラフ機能

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

  1. ホスト設定の表示

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

    4004-26
  2. グラフ作成

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

    4004-27
  3. アイテム追加

    アイテム横の「追加」ボタンをクリックし、検出するパラメータを指定します。 4004-28
    ここでは、CPUのロードアベレージを選択しています。 4004-29
    「追加」ボタンをクリックして、アイテムが追加されたら、保存します。

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

    4004-30 4004-31 4004-32 4004-33

メール通知機能

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

  1. メディアタイプ設定

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

    管理-メディアタイプから、Emailを選択し、SMTPサーバ、SMTP helo、送信元メールアドレスを設定します。
    ここでは、下記のとおり設定しています。

    4004-35
    SMTPサーバlocalhost
    SMTP helozabbix-server.vagrantup.com
    送信元メールアドレスzabbix@zabbix-server.vagrantup.com
    4004-36 4004-37
  2. 送信先アドレス設定

    管理-ユーザーから、Zabbix administratorsの「ユーザ」を選択し、Adminをクリックします。

    4004-38 4004-39

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

    4004-40 4004-41

    追加すると、指定したメディアが追加されます。

    4004-42
  3. アクション設定

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

    設定-アクションから、「アクションの作成」をクリックし、アクションの名前を設定した後、アクションのオペレーションの「新規」ボタンをクリックします。

    4004-43 4004-44
    オペレーションのタイプメッセージの送信
    メッセージの送信先シングルユーザ
    4004-45

    オペレーションの編集を上記のとおり設定した後、「選択」ボタンをクリックすると、ユーザ選択画面が表示されますので、Adminをクリックします。

    4004-46

    「追加」ボタンをクリックすると、アクションのオペレーションが登録されます。

    4004-47

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

    4004-48 4004-49
  4. 動作確認

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

    $ sudo service zabbix-agent stop
    
    4004-50

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

    $ mutt
    
    4004-51

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

    4004-52

まとめ

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

コメントを残す

メールアドレスが公開されることはありません。