ニフクラ ブログ

ニフクラやクラウドの技術について、エンジニアが語るブログです。

Zabbixでニフティクラウドを監視する(Linuxホスト監視編)

前回はZabbix 3.0のインストールを行いましたが、監視対象がまだZabbixサーバー自身しか登録されていません。また、障害発生時の通知設定なども行われていません。

そこで今回は、Zabbixサーバーの基本的な設定と、LinuxサーバーにZabbixエージェントをインストールして監視を設定します。

付け替えIPアドレスを用意

サーバーの監視をする際に、IPアドレスが変わってしまうと監視対象から外れてしまいます。

監視対象のIPアドレスが変更されないように、付け替えIPアドレスを用意して、それぞれのサーバーに対して割り当てることにします。

今回は、以下のようにサーバーを配置します。

リージョン サーバー アドレス数
east-2 Zabbixサーバー 1
east-3 Linuxホスト、Windowsホスト 2

付け替えIPアドレスはゾーン毎に5つまで追加することができます。 今回はリージョン間で監視を行うので、グローバル側のIPアドレスを追加します。

追加する際に目的別にメモを記入しておくと良いでしょう。 また、Zabbixエージェントの設定時、Zabbixサーバーへの監視ホスト追加時に必要になるので、参照できるようにしておきましょう。

Zabbixサーバーに付け替えIPアドレスをつける

構築したZabbixサーバーのIPアドレスを付け替えます。 IPアドレス時にサーバーの再起動が必要になるので、事前に一旦、OSをシャットダウンして、サーバーを停止しておくと良いでしょう。

ニフティクラウドのコントロールパネルから付け替えたいIPアドレスを選択し、操作メニューから「サーバーにつける」を選択します。

IPアドレスを付け替えたいサーバーを選択します。

サーバーが停止しているのであれば、再起動方法は「再起動しない」に変更しておき、「確認へ」ボタンをクリックします。

確認画面で内容を確認したら、「サーバーにつける」をクリックします。

サーバーのステータスが「処理中」から「停止」に変わったら、サーバーを起動します。

以後、サーバーには指定した付け替えIPアドレスが自動的に設定されるようになります。

Linuxホストを準備

監視対象となるLinuxホストを作成します。 OSは、CentOS 7.1。 ネットワーク設定でグローバルに付け替えIPアドレスを指定して、Linuxサーバーを作成します。

サーバー起動後、SSHで接続し、アップデートを行います。

sudo yum update -y
sudo reboot

ZabbixのYumリポジトリを登録します。

sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Zabbixエージェントのパッケージをインストールします。

sudo yum install zabbix-agent -y

Zabbixエージェントの設定を修正します。

sudo vi /etc/zabbix/zabbix_agentd.conf

以下は修正する項目です。

設定項目 設定値
SourceIP Linuxホストの付け替えIPアドレス
EnableRemoteCommands 1(お好みで設定)
LogRemoteCommands 1(お好みで設定)
Server Zabbixサーバーの付け替えIPアドレス
ServerActive Zabbixサーバーの付け替えIPアドレス
Hostname LinuxHost(ホスト登録時に同じ名前で登録が必要)

Zabbixエージェントの起動と有効化を行います。

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

Linuxホストの登録

ZabbixのWeb管理画面にログインし、Linuxホストを登録します。

  1. 「設定」→「ホスト」を選択
  2. 「ホストの作成」をクリック
  3. 以下の項目を設定

設定項目 設定値
ホスト名 LinuxHost(zabbix_agentd.confでHostnameに指定した名前と同じ名前を指定)
表示名 Web管理画面に表示される名前。ホスト名と同じでよい
グループ 「Linux servers」を選択し、「?」をクリック
エージェントのインターフェース Linuxホストの付け替えIPアドレスを指定

screenshot_264

テンプレートの紐付けもしておきます。 テンプレートを紐付けしておくと、自動的に監視項目などが設定されます。

  1. 「テンプレート」タブをクリック
  2. 「新規テンプレートをリンク」に「Linux」と入力して検索
  3. 「Template OS Linux」を選択
  4. 「追加」リンクをクリック(間違えて下の「追加」ボタンを押さないように注意)
  5. 「テンプレートとのリンク」に「Template OS Linux」が追加される
  6. 「追加」ボタンをクリックして、ホスト登録を完了
  7. ホストが登録されたことを確認します。

screenshot_265

screenshot_266

※スクリーンショットは、Windowsホストも登録された状態です。

通知送信用メールアドレスの設定

障害などが発生した際に、管理者にメールを送信するように設定します。 設定は以下の手順で行います。

  1. メール送信テスト
  2. Emailメディアを設定
  3. Adminユーザーにメールアドレスを設定
  4. アクションを有効化
  5. 障害発生時のメール通知のテスト
  6. 障害復旧時のメール通知のテスト

メール送信テスト

今回は、Zabbixサーバー自身で動作している、Postfixを送信用サーバーとして使用します。

Zabbixサーバーにログインして、通知を受け取りたいメールアドレス宛にメールが送信できるか、mailコマンドでテストします。

送信先メールアドレスはご自身の環境のメールアドレスに読み替えてください。

sudo -u mail user@example.com

正しくメールが受け取れたら次に進みます。 もし、メールがうまく届かない場合には、ログファイル「/var/log/maillog」を確認してください。

Emailメディアを設定する

Email送信時のSMTPサーバーや送信元アドレスを設定します。 Zabbixでは「メディア」として扱われています。

注意:送信元メールアドレスはご自身の環境のメールアドレスに読み替えてください。

  1. 「管理」→「メディアタイプ」を選択
  2. 「Email」をクリック
  3. 以下の設定を行います。

設定項目 設定値
SMTPサーバー localhost
SMTP helo localhost
送信元メールアドレス admin@example.com

screenshot_267

Adminユーザーにメールアドレスを設定する

ZabbixのAdminユーザーにメールアドレスを設定しておきます。

  1. 「管理」→「ユーザー」を選択
  2. 「Admin」をクリック
  3. 「メディア」タブを選択
  4. 「追加」リンクをクリック
  5. 別ウインドウが開くので、タイプが「Email」であることを確認
  6. 送信先に通知を受け取るメールアドレスを入力
  7. 「追加」ボタンをクリック
  8. 「更新」ボタンをクリック

アクションを有効にする

障害が発生した時のアクションを有効にします。

  1. 「設定」→「アクション」を選択
  2. 「Report problems to Zabbix administrators」のステータスの「無効」をクリックして有効に変更

障害発生時のメール通知のテスト

障害発生時に通知メールが送信されるかテストします。 監視対象であるLinuxホストのZabbixエージェントを停止して、擬似的に障害を発生させます。

  1. Linuxホストにログイン
  2. Zabbixエージェントを停止

sudo systemctl stop zabbix-agent

5分ほど待って、メールが届くことを確認します。

以下のようなメールが届けば、監視および通知は正常に機能しています。

題名:PROBLEM: Zabbix agent on LinuxHost is unreachable for 5 minutes

Trigger: Zabbix agent on LinuxHost is unreachable for 5 minutes
Trigger status: PROBLEM
Trigger severity: Average
Trigger URL:

Item values:

  1. Agent ping (LinuxHost:agent.ping): Up (1)
  2. UNKNOWN (UNKNOWN:UNKNOWN): UNKNOWN
  3. UNKNOWN (UNKNOWN:UNKNOWN): UNKNOWN

Original event ID: 259

障害復旧時のメール通知のテスト

Zabbixエージェントを再度起動すると、以下のメールが届きます。

sudo systemctl start zabbix-agent

題名:OK: Zabbix agent on LinuxHost is unreachable for 5 minutes

Trigger: Zabbix agent on LinuxHost is unreachable for 5 minutes
Trigger status: OK
Trigger severity: Average
Trigger URL:

Item values:

  1. Agent ping (LinuxHost:agent.ping): Up (1)
  2. UNKNOWN (UNKNOWN:UNKNOWN): UNKNOWN
  3. UNKNOWN (UNKNOWN:UNKNOWN): UNKNOWN

Original event ID: 259

これで、Zabbixサーバーの基本設定およびLinuxホストの監視対象設定は完了です。 次回は、Windowsホストの監視対象設定を行います。