【図説あり】Zabbixアプライアンスのユースケースと設置例(Zabbixプロキシ版)

Zabbix,Zabbix Enterprise Appliance

こんにちは。事業開発部の飯出(いいで)です。

Zabbixに関するお問い合わせやご提案の場でお客様と会話していると、「Zabbixは知っているが、アプライアンスの存在を知らなかった。」という声をよく聞きます。

前回に続き、今回はZabbixプロキシ版ハードウェア・アプライアンスのユースケースや設置例をご紹介します。その前に、Zabbixプロキシ版ハードウェア・アプライアンスの諸元や特徴を知りたいという方は、以下の記事でまとめていますのでご確認ください。

Zabbixサーバー版ハードウェア・アプライアンスのユースケースや設置例は、こちらの記事でご紹介しています。

Zabbixプロキシとは?

まずは「Zabbixプロキシとは何か。」という説明からです。Zabbixプロキシとは、Zabbixサーバーの代わりに監視対象からデータを収集し、Zabbixサーバーに中継する役割を持ちます。以下のような目的で使用されることが多いです。

  • リモート拠点や分離されたネットワークの集中監視。
  • ネットワーク負荷の軽減。
  • データ収集の負荷分散。

監視対象のデータを中継することを目的としているため、別途構築したZabbixサーバーに対して監視データを送信します。Zabbixプロキシのみでは監視データの保存はできませんし、グラフなどを画面で閲覧できません。

Zabbixプロキシを組み合わせたシステム監視

それでは、Zabbixプロキシのユースケースや設置例について、説明したいと思います。

異なるネットワークセグメントの監視

遠隔地にあるリモート拠点や別のネットワークにあるネットワーク機器、サーバーを監視対象に含めたい場合、ネットワーク上の通信経路にファイアウォールやNA(P)T装置が存在するケースがあります。通常、IPアドレスとポート番号の組み合わせで各装置に対して通信の疎通許可を実施しますが、監視対象が多数存在する場合はIP制限の解除やポートの開放作業など、結構な作業量です。

Zabbixサーバーから直接アクセスできないセキュリティを重視したネットワークでも、Zabbixプロキシを監視対象側のネットワークに設置し、ZabbixサーバーとZabbixプロキシ間の通信経路さえ確保すれば監視が可能となり、ファイアウォールやNA(P)T装置の設定が簡素化できます。

Zabbixプロキシで異なるネットワークセグメントを監視する

物理的に接続されていないネットワークの監視

物理的に接続されていないネットワーク環境の監視にも、Zabbixプロキシは活躍します。

プロキシ版のアプライアンスにはLANポートが2つ付いていますので、別々に結線することで監視データを中継できます。いわゆる、ネットワークカード2枚挿しの状態です。下図のように結線することで、別々のネットワークにおける結線ポイントが一つになるため、管理も容易です。

Zabbixプロキシで物理的に接続されていないネットワークを監視する
ネットワークカード2枚挿しによる結線は産業制御システムと企業ネットワークを接続する際にお問い合わせをいただきますが、セキュリティ対策における不備と考えられることもあるので、ネットワーク管理者様と十分相談したうえで実施してください。

ネットワーク帯域幅が狭い拠点の監視

遠隔地にあるリモート拠点の監視ではVPN接続や専用線接続を経由した形になることが多く、通常のLANに比べてネットワーク帯域幅が狭いなどの制約を受けるケースがあります。この場合においても、Zabbixプロキシを中継した監視データの送信にはメリットがあります。

Zabbix 4.0以降のバージョンでは、ZabbixサーバーとZabbixプロキシ間の通信が圧縮されています。圧縮率は送受信データの量や内容に依存しますが、Zabbixエージェントと直接通信する場合と比べて1/5程度です。(Zabbix Japan LLC資料より。)

このように、通信トラフィックの削減にも効果を発揮します。

Zabbixプロキシの通信データは圧縮される

VPNを使用したインターネット越しの監視

アプライアンス版のZabbixには、専用のVPN接続機能がプリインストール済みです。パッケージ版のZabbixには搭載されていない、アプライアンス版特有の機能です。

Zabbixの通信そのものに関して暗号化は可能ですが、Zabbix特有のポート番号を開放する必要があります。この場合において、

  • Zabbixの通信をインターネット側に出すのは嫌だ。
  • ネットワーク管理者が別であるため、ネットワーク申請が通らない可能性がある。

などの理由にてお問い合わせをいただくことがあります。

「VPNの通信であれば通しても問題ない。」というケースがあり、この機能があるとお考えください。VPNサーバーとの直接通信やHTTPプロキシ経由の通信を実施することで、拠点ファイアウォールの設定変更を最小限にした形での通信が可能です。

Zabbixプロキシを使用してVPN経由で監視する

監視データの一時保存(バッファリング)

ネットワーク障害の発生時において、Zabbixプロキシは収集した監視データのバッファリングを実施するため、監視データの欠測を一時的に防ぐ役割を持ちます。

ネットワーク障害が復旧した直後、バッファリングされていた監視データが大量に送信される点には考慮が必要ですが、監視データの欠測が防げるというメリットがあります。

監視処理の負荷分散

監視データの収集処理をZabbixプロキシに移譲できるため、データ収集によるZabbixの負荷を分散できます。単体のZabbixサーバーにおける負荷を分散させるには非常に有益です。

例えば、監視対象が多数あるような大規模環境でZabbixプロキシを採用することで、Zabbixサーバーにおける監視処理の負荷はZabbixプロキシによって軽減されます。

注意点としては、収集したデータは最終的にZabbixサーバーのデータベースに保存されるという点です。Zabbixサーバーの負荷高騰を理由にZabbixプロキシへの負荷分散を検討し、その後監視対象を追加していく場合は、あわせてZabbixサーバーのデータベース負荷やストレージの使用量についても確認しましょう。

Zabbixプロキシの冗長化

Zabbixサーバーの冗長化に加え、Zabbixプロキシの冗長化も必要と考えるのは自然なことかなと思います。Zabbixを用いた環境の冗長化にはさまざまな方式がありますが、アプライアンスを採用している場合に特化して説明します。また、Zabbixプロキシのみを冗長化するといったケースについては、説明を割愛します。

Zabbixサーバー版アプライアンスはActive-Active方式で冗長化

以下の記事でご紹介していますが、説明の前提となるZabbixサーバー版アプライアンスがサポートする冗長化は「Active-Active」方式です。詳しくは以下の記事で説明しています。

この、Active-Active方式で構築されたZabbixサーバー版アプライアンスに対して、どのようにZabbixプロキシ版アプライアンスを接続するか。という観点で説明します。

ZabbixプロキシもActive-Active方式で準備する

ZabbixサーバーをActive-Active方式で冗長化している場合、ZabbixプロキシもActive-Active方式で構築します。Zabbixプロキシのみシングル(冗長化なし)といった構成は作れません。

これは、Zabbixサーバーに設定されている監視設定をZabbixプロキシと周期的に同期しているためで、Zabbixプロキシから見た場合、2台のZabbixサーバーと監視設定や監視データのやり取りはできない。といった理由です。

Zabbixプロキシのみシングル構成は不可

冗長化の系統にあわせてZabbixプロキシを準備する

では、どのように構築するかと言いますと、ZabbixサーバーとZabbixプロキシをセットにして組み上げる。つまり、主系と従系にわけて、ZabbixサーバーとZabbixプロキシのセットを準備します。

2台のZabbixプロキシからひとつの監視対象に対して接続は可能ですが、ZabbixサーバーとZabbixプロキシは1台しか接続できません。このあたりを意識して構築します。

ZabbixサーバーとZabbixプロキシは一緒に冗長化する

Zabbix設定バックアップ同期ツールの使用を前提として

冗長化されたZabbixサーバーの監視設定を同期するには、Zabbix設定バックアップ同期ツールを使用しますが、Zabbixプロキシの接続設定が主系から従系にコピーされます。要は、ZabbixプロキシのIPアドレスが従系にそのままコピーされるということです。

この場合において、Zabbixプロキシの接続設定はIPアドレスではなく、名前解決ができる形で設定する必要がでてきます。例えば、Zabbixサーバー内のhostsファイルにZabbixプロキシの名前を書き、IPアドレスは主系と従系で異なるIPアドレスを設定しておく。などの対処が必要です。

Zabbixプロキシの冗長化は名前解決を意識する

Zabbix 7.0で登場したプロキシグループの採用

Zabbix 7.0からZabbixプロキシの冗長化と負荷分散を目的とした機能が追加されました。この機能を「プロキシグループ」と言います。冗長化という観点では、Zabbixプロキシの縮退運転が可能になった。とお考えください。

この機能を使えば、Zabbixプロキシを系統別に準備しなくても大丈夫では。と思われるかもしれませんが、そうではありません。主系、従系それぞれに専属のプロキシグループを作成する必要があるため、主系で2台・従系で2台、合計4台のZabbixプロキシが必要になります。

Zabbixのプロキシグループを構成する方法

この構成が、Active-Active冗長化環境におけるZabbix Japan LLCの推奨構成となっています。

プロキシグループの仕様や制約

せっかくプロキシグループに触れましたので、その仕様や制約について簡単に説明します。

  • プロキシグループ内における監視対象は、プロキシグループが自動で割り当てる。
    • プロキシグループ内のZabbixプロキシが1台停止した場合、正常動作しているZabbixプロキシに監視対象が割り当てられる。(ホストの再割り当て)
    • 複数台のZabbixプロキシ間で縮退運転のような動作をするため、ホストの再割り当て発生時における監視負荷を事前に検討しておく。
    • Zabbixプロキシに対して監視対象を個別に割り当てる機能はない。
  • プロキシグループ配下では、SNMPトラップの受信がサポートされない。
  • プロキシグループ配下で使用するZabbixエージェントは、バージョン 7.0以上が必要。
  • Zabbixプロキシ 7.0未満のプロキシも冗長化対象に表示されるが、プロキシ監視下に入る監視対象は、ホストの再割り当て対象から除外される。

ホストの再割り当て条件

小難しい話にはなりますが、ホストの再割り当て条件が気になる方もいらっしゃると思いますので、プロキシグループがどのようにホストをZabbixプロキシに割り当てるか。という観点でも説明します。冗長化というよりは、負荷分散の考え方です。

まず、プロキシグループ内において各Zabbixプロキシに割り当てられている監視対象のバランスについてつり合いが取れていないと判断された場合において、ホストの自動再割り当てが発生します。あくまでも監視対象ホストの数で判断していて、監視アイテム数の考慮はしていません。

例えば、新規に監視対象を追加した場合において、Zabbixプロキシに登録されている監視対象ホストの平均値をベースに差分を計算し、Zabbixプロキシ1台あたりの監視台数が超過している、または不足していると判断しています。(以下、Zabbix Japan LLC資料より抜粋)

プロキシ登録済ホストの数プロキシグループ内の平均割当数再割り当ての発生
> 10050発生する
6050発生しない
4050発生しない
< 2550発生する
> 155発生する
105発生しない

このように、以下の条件が満たされた場合においてホストの再割り当てを実行します。

  1. プロキシグループ内におけるZabbixプロキシに割り当てられていない監視対象が存在する場合。
  2. 既に稼働しているプロキシグループ内に、新たにZabbixプロキシを追加した場合。(新規追加のため、割り当てがない。)
  3. プロキシグループ内の平均割当数との差が10以上、かつ2倍以上の場合。
  4. プロキシグループ内の平均割当数との差が10以下、かつ1/2以下の場合。

本当にZabbixプロキシの冗長化が必要か考える

Zabbixプロキシの冗長化を考えた場合、結構複雑な構成になってくる。考慮するポイントが多い点に気付いていただけたと思います。監視対象となるシステムの特性に合わせて、耐障害性をどこまで高めていくかという観点を入れていくと良いと思われます。

冗長構成が組めることを前提として、Zabbixプロキシが監視データを保存しない点に着目し、

  • クラウド環境での構築であれば、インスタンスを自動復旧させる設定を活用する。
  • 物理的な構築が必要な場合はアプライアンス版Zabbixプロキシを採用し、構築コストを軽減する。
  • 無理にActive-Active構成にせず、Cold-Standby構成(予備機の準備)も検討する。
  • 無理にZabbixプロキシを採用せず、別系統のZabbixサーバー(アプライアンス)を準備する。

のように、QCDを意識して構成を決めていただければと考えています。

おわりに

Zabbixプロキシ版アプライアンスの説明というより、ほとんどZabbixプロキシの説明となってしまいました。Zabbixプロキシの機能をご理解いただいた上で、アプライアンス版を選択するか否かを決めていただければと思います。

パッケージ版でもコストパフォーマンスを発揮するZabbixですが、アプライアンス版の導入によって更にコストパフォーマンスを発揮します。以下のようなお悩みを持っている場合、アプライアンス版も検討してみてはいかがでしょうか。

  • システム監視を始めたいが何から手をつけたら良いかわからない。
  • 既にZabbixを使用しているが、環境の維持に苦労している。担当者が離任してよくわからなくなっている。
  • 現在使用しているZabbixのバージョンが古く、最新バージョンに乗り換えたい。
  • インフラ監視が主な用途となるため、商用ツールを用いた高度なシステム監視は不要。

Zabbixのアプライアンスに興味を持たれた場合は、ぜひ以下の青いボタン「Zabbixのプロフェッショナルに相談」からお問い合わせください。当社のメンバーが、Zabbixのアプライアンスについて詳しくご説明します。

また、Interop Tokyo や Zabbix Conference Japan などのイベント会場で実機の展示もしていますので、来場される場合はアークシステムのブースまでお越しください。実機に触れながら、詳しくご説明します。

Zabbixの導入・構築でお困りですか?

Zabbixの導入・構築でお困りですか?アークシステムは、Zabbix Japan LLCの公式認定パートナーとして、豊富な実績と高い技術力でお客様をサポートします。

アークシステムが選ばれる理由

  • 豊富な経験: 多くのZabbix導入・構築プロジェクトを成功に導いた実績
  • 確かな技術力: Zabbix認定資格を持つエンジニアが対応
  • 独自のソリューション: 「監視定義テンプレート」を活用した迅速かつ高品質な実装
  • 最新情報へのアクセス: Zabbix社との強力なパートナーシップを活かした最新技術対応

こんな方に最適です

  • Zabbixの新規導入を検討している
  • 現行システムの運用に課題を感じている
  • 大規模環境での監視体制を整えたい

アークシステムでは、Zabbixの導入・運用に関する課題を解決し、最適な環境を構築します。どんなご相談でもお気軽にお問い合わせください!

  • Zabbix Enterprise Appliance
  • 低コスト・短納期で提供するまるごとおまかせZabbix