はじめに
前回の記事では、Zabbixサーバーおよび、クライアントの構築方法について解説しました。今回は、Zabbixを運用する際に設定すべきポイントについて解説します。
テンプレート機能
前回構築したシステムでは、サーバー、クライアントの2台のサーバーの監視を行っていますが、監視データのサマリーを見ると、軽度の障害として検出されたサービスやアプリケーションがあります。
検出された障害の中には、サーバー上で稼働していないサービスも含まれていますので、テンプレートを変更して、誤検出を修正します。
テンプレートの修正を含む全ての作業は、Zabbixサーバーの管理画面で行います。
- 現在のテンプレートの確認
設定-ホストを選択し、現在使用中のテンプレートを確認します。
- 現在のテンプレートの複製
設定-テンプレートを選択し、現在使用中のテンプレートを表示した後、「すべて複製」を選択します。
次に、テンプレートの名前を設定します。ここでは、Template_CentOSとしています。
保存すると、複製されたテンプレートが表示されます。テンプレートの複製は、複製元のテンプレート(ここでは、Template_Linux)を直接変更してしまうと、他の監視サーバーにも影響を及ぼす可能性があるため、複製したテンプレートを修正することにしています。
- 現在のテンプレートのホスト名の削除
使用中のテンプレートに登録されているホスト名を削除します。
- 複製したテンプレートへホスト名を登録
複製したテンプレートにホスト名を登録します。
これにより、複製したテンプレートにホストがリンクできます。
- サービスの無効化
サーバー上で仮想していないサービスを検出している場合、サービスを無効化することで誤検出を修正できます。
ここでは、FTP/IMAP/NNTP/POP3を無効化しています。 - Processの無効化
サーバー上で稼働していないプロセスを検出してる場合、プロセスを無効化することで誤検出を修正できます。
ここでは、inetdを無効化しています。 - Process名の変更
サーバー上で稼働いるプロセス名が異なる場合、プロセス名を修正します。
ここでは、syslogdの説明およびキーを下記のとおり修正しています。(変更前) Number of running processes syslogd proc.num[syslogd] (変更後) Number of running processes rsyslogd proc.num[rsyslogd]
同様に、zabbix_serverのキーを下記のとおり修正しています。
(変更前) proc.num[zabbix_server] (変更後) proc.num[zabbix_server_mysql]
- ホスト固有の設定
zabbix_server_mysqlプロセスは、Zabbixサーバー上のみで稼働しているため、監視対象サーバー上で検出を無効にします。
この画面では、inetdがテンプレート上で無効にされているのに対して、zabbix_server_mysqlは、zabbix-clientのみで無効としていますので、zabbix-serverでは、inetdのみが無効となります。
以上で、誤検出が修正され、監視ステータスが正常になります。
グラフ機能
Zabbixでは、監視対象として追加したサーバーのグラフの作成テンプレートが登録されません。このため、テンプレートまたは、ホストごとにグラフ作成を行います。ここでは、ホストにグラフを登録しています。
- ホスト設定の表示
設定-ホストから、グラフ(0)と表示されているアイテムを選択します。
- グラフ作成
グラフの作成をクリックし、グラフ名を設定します。
- アイテム追加
アイテム横の「追加」ボタンをクリックし、検出するパラメータを指定します。
ここでは、CPUのロードアベレージを選択しています。
「追加」ボタンをクリックして、アイテムが追加されたら、保存します。
同様の手順で、グラフを追加することができます。
メール通知機能
メール通知は、監視対象のサーバーに障害が発生した際に、メールで通知を行うことができます。
- メディアタイプ設定
Zabbixでは、通知を行う方式をメディアタイプとして管理しているため、メール通知を行うためには、メール設定を行う必要があります。
管理-メディアタイプから、Emailを選択し、SMTPサーバ、SMTP helo、送信元メールアドレスを設定します。
ここでは、下記のとおり設定しています。SMTPサーバ localhost SMTP helo zabbix-server.vagrantup.com 送信元メールアドレス zabbix@zabbix-server.vagrantup.com
- 送信先アドレス設定
管理-ユーザーから、Zabbix administratorsの「ユーザ」を選択し、Adminをクリックします。
メディア横の「追加」ボタンをクリックすると、新規メディアが登録できますので、タイプにEmailを選択し、送信先のメールアドレスを指定します。
ここでは、送信先にvagrant@zabbix-server.vagrantup.comを指定しています。追加すると、指定したメディアが追加されます。
- アクション設定
Zabbixでは、通知をアクションとして登録することで、障害時のメール通知を行うことができます。
設定-アクションから、「アクションの作成」をクリックし、アクションの名前を設定した後、アクションのオペレーションの「新規」ボタンをクリックします。
オペレーションのタイプ メッセージの送信 メッセージの送信先 シングルユーザ オペレーションの編集を上記のとおり設定した後、「選択」ボタンをクリックすると、ユーザ選択画面が表示されますので、Adminをクリックします。
「追加」ボタンをクリックすると、アクションのオペレーションが登録されます。
アクションのコンディションでは、計算のタイプを「OR」に設定し、コンディション(A)、(B)ともにチェックした後、「保存」ボタンをクリックすると、アクションが追加されます。
- 動作確認
Zabbixクライアントの監視エージェントを停止して、通知メールが送信されるか確認します。
Zabbixクライアント上で、エージェントサービスを停止します。$ sudo service zabbix-agent stop
しばらくすると、Zabbixサーバー上のユーザーにメールが送信されますので、メールクライアントで確認します。
$ mutt
管理画面でも、障害が発生したことが確認できます。
まとめ
ここまで、Zabbixを運用する際に設定すべきポイントについて解説しました。Zabbixは機能が豊富ですので、本記事で全てを解説できた訳ではありません。今回は、最小限の機能を解説しましたが、記事を参考にして、解説できなかった機能について、試して見ては如何でしょうか。