NATファイアウォール背後のサーバーをZabbixで監視するTips

こんにちは、ギークフィードに入社して2年が経ちました、エンジニアのサミーラです。入社後フルスタックエンジニアとして以下のエリアとプロジェクトに携わってきました。

  • LaravelフレームワークでWEBシステム開発
  • サーバー構築・メンテナンス
  • クラウドサービス
  • 音声認識/音声の分析/VOIP

 

Laravelのプロジェクト経験は以下です。

  • 通話録音システムの制御および表示Webシステム(音声認識も含め)
  • モバイルゲームのバックエンドシステム
  • WEB電話帳システム
  • IP-PBXのWEBプロビジョニングシステム。

 

今回はNATファイアウォールの背後にあるサーバーをZabbixで監視することについて話をしたいと思います。ホストサーバーはNATの背後とZabbix-Serverは外にある場合は外から直接、ホストへアクセスできないので、Passiveモードで監視ができる方法について話をします。

このブログを読むために必要な理解。

 

この記事のすべてのコマンドは、rootユーザーとして実行されています。
先にZabbix-Agentのモードから説明します。

環境情報

  • CentOS 7.6のサーバー
  • Zabbixサーバー 4.0.9

 

Zabbix-Agentのモードについて

Zabbix-Agentのモードは以下の2つあります。

  1. Passive Mode
  2. Active Mode

zabbix modes

★ActiveとPassiveは接続の方向が異なります。

 

Passive Mode

1:Zabbix-Serverはポート10050/TCPを使用して、Zabbix-Agentへ管理するメトリクスリストを送ります。
2:Zabbix-Agentがメトリクスリストにあるデータを取得して、取得データをZabbix-Serverへ送信します。

Active Mode

1:Zabbix-Agentはポート10051/TCP を使用して、Zabbix-Serverへ接続し、管理するメトリクスを取得します。
2:Agentはデフォルトで2分に1回Zabbix-Serverに接続し、その後ホストを監視して取得したデータをZabbix-Serverへ送信します。

★どちらのモードも同じことができるようですが、モードごとにメリットとデメリットがあります。今回はPassive Modeについて話します。

 

なぜPassive Modeなのか?

Active ModeではZabbix-Agentからデータが送られてこないのか、なんらかの障害が発生して送ることができていないかを判別する方法が無いので、パッシブチェックをした方が、より確実にZabbix-Agentと通信できる状態かを確認できます。
もし、ホストサーバで問題が発⽣していれば、Zabbix-ServerからZabbix-Agentへのリモートコマンド実行で問題解決もできます。

 

NATファイアウォールの背後にあるサーバーをZabbixのPassive Modeで監視する方法

まず、前提としてNATの背後にあるホストサーバは、外にあるZabbix-Serverから直接ホストにアクセスできませんが、サーバーをPassive Modeで監視する為には、外からホストへ接続が必要です。
外からホストへ接続する為に、sshトンネルを利用しましょう。

今回はCentOS7.6環境で行います。コマンドは、rootユーザーとして実行されています。

 

  1. 監視されるホストサーバーにZabbix-Agentをインストールする必要があります。Zabbix-Agentをインストールのために以下のコマンドを使用します。
  2. 外からアクセスできないので、外からアクセスできるようにするため、sshでトンネル作成の以下のコマンドを使用します。

    ★上のコマンドの、
    ・(1*)のリバースポートには、Zabbix-Serverで使用して無いポート番号を何でも使用できます。
    ・(2*)のフォワードポートには、ホストサーバーで使用して無いポート番号を何でも使用できます。
  3. Zabbix-Agentの設定。Zabbix-Agentのconfigファイル「/etc/zabbix/zabbix_agentd.conf」で以下の項目を設定します。

    ★Zabbix-Agentを再起動。【systemctl restart zabbix-agent】
  4. Zabbix-Serverのホストの設定。
    ・Zabbix-Serverのダッシュボードへログインする。
    ・「設定」―>「ホスト」へ行って、以下の項目を入力して、ホスト作成する。
  5. 接続と監視の確認
    ★接続確認
    Zabbix-Serverのホスト一覧の「エージェントの状態」のカラムの色で有効を判別できます。緑色になっていれば、ZabbixサーバーとNATファイアウォールの背後にあるホストサーバーのpassive modeの接続が問題なくできています。
    zabbix connection check

    ★監視の確認
    NATファイアウォールの背後にあるホストサーバーが正常に監視されていることを確認するためには、ホストを再起動します。Zabbixサーバーのダッシュボードのホストが「host is unreachable」とログが表示されていれば正常に監視されています。

 

提案

ssh接続は失敗したり、壊れたりする可能性があるため、接続の再試行と復元ができるシステムを使用することをオススメします。Zabbixモニタリングに上記の方法を使用している場合は、永続的なssh接続が重要です。
永続的なssh接続を行うには、autosshというパッケージを使います。コマンドは、rootユーザーとして実行されています。

Autosshのインストール方法

  • 「epel-release-7-12.noarch.rpm」ファイルをNATファイアウォールの背後にあるサーバーの「/root/」にコピーします。
  • 以下のコマンドでインストールします。

Autosshを使用する方法

  • 永続的なsshトンネルのために以下のコマンドを使用できます。

★autosshで自動的にzabbixサーバーへログインするために、public-privateキーを設定する必要があります。この記事ではキーの設定の説明は割愛します。

 

NATファイアウォール背後のサーバーをZabbixで監視するのまとめ

zabbixでサーバーを監視する方法は、接続方向によって2つの異なるモードがあります。
Passive Mode
Active Mode

今回はPassive Modeの監視方法について説明しました。Passive Modeは特にZabbix-ServerからZabbix-Agentへコマンドを実行する時に使います。しかし、監視対象のホストサーバーがNATファイアウォールの背後にある場合、通常Passive Modeは使えないので、SSHトンネルを作成し、Passive Modeを使えるよう設定する必要があります。

ALL THE BEST!!! HAPPY & CLEAN CODING!!!

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.
アバター
sameera
システムエンジニアギークフィード
Computer Science Special Degree (Honours) graduate who worked as a past Lecturer and currently full stack developer in GeekFeed.

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ