よくある質問・用語集

サーバー構築のデージーネットTOP > OSS情報 > よくある質問・用語集 > 用語集 > Zabbixとは

  • もっと調べる
  • どうやって使う?

Zabbixとは

Zabbixとは、サーバ、ネットワーク、アプリケーションを集中監視するための統合監視ソフトウェアである。

統合監視に必要な監視、障害検知、通知機能を備えており、多数のプラットフォームに対応したZabbixエージェントとSNMPに対応しているため、システム全体をZabbixひとつで監視することが可能である。また、スクリプトを作成してアプリケーションの監視を独自に拡張できたり、障害検知時にもスクリプトを実行する、Zabbixエージェントにスクリプトを実行させるなど自由に拡張を行えるという特徴がある。

Zabbixは、Zabbix SIA社が開発し、オープンソースソフトウェアとして公開されている。企業により継続的な開発が行われており、必要に応じて日本語の有償のサポートを受けることも可能である。サポートは、安価なサポートからオンサイト対応まで複数のプランが用意されている。

Zabbixの概要と特徴

Zabbixには次のような特徴がある。なお、詳細は「Zabbix~統合監視のOSS~」でも詳しく解説されている。

  • Zabbixは、オープンソースソフトウェアであり、製品のように監視対象数に対するライセンス費用などが必要ない
  • Zabiixコミュニティから様々なLinuxディストリビューション用のRPMが公開されていて、インストールも難しくない
  • Zabbix専用のエージェントによる監視とSNMP監視の両方をサポートする
  • 様々な監視方法に対応している
  • ログの監視を行うこともできる
  • 設定をZabbixインタフェースと呼ばれるWebインタフェースから行える
  • Zabbixが収集したデータは、MySQLに保存される
  • 通知や監視については、Zabbixの標準外の方法も自由に拡張が行える
  • 冗長化や大規模システムへの対応が可能である

Zabbix以外の監視システムとの違い

Zabbixは、非常に高機能な統合監視ソフトウェアである。同じ監視ソフトウェアであるNagiosと比べると、Nagiosはテキストファイルで設定を行い、収集データもテキストファイルに保存する。それに対して、ZabbixではWebインタフェースから設定を行い、収集データはMySQLに保存する。しかし、Zabbixの方が設定が簡単かというと、一概にそうとも言えない。というのは、Zabbixは設定できるパラメータが多く、設定が複雑になりがちだからである。つまり、Nagiosの方がずっとシンプルである。そのため、Zabbixは、監視の技術に慣れていない人には、使い難いと感じる場合がある。

また、グラフ表示は、ZabbixよりもCactiの方が優れいていて使いやすいという人もいる。Zabbixはログ監視をサポートしているが、Graylogなどのログ監視専用のソフトウェアに比べると、機能的、性能的に見劣りすることは否めない。

このようにZabbixは、様々な機能を持ってはいるものの究極のソリューションではない。例えば、「OSSのおすすめ監視サーバ・監視ツール比較17選」にはZabbix以外にも様々な監視サーバ・監視ツールが紹介されているので、こうした情報を元に用途にあったものを選択するべきである。

Zabbixのインストール

Zabbixは、以下のディストリビューションのRPMが公開されている。

  • Debian
  • RedHat Enterprise LinuxおよびCentOS
  • Raspbian
  • Ubuntu

こうしたパッケージを使うと、非常に容易にインストールを行うことができる。なお、インストール方法の詳細については、「Zabbixのインストールと設定」で解説されている。

Zabbixのシステム構成

Zabbixは、Zabbixサーバ、Zabbix Webインタフェース、Zabbixエージェントの3つのコンポーネントから構成されている。

Zabbixサーバ

Zabbixサーバは、Zabbixシステムの動作の要である。Zabbixサーバは、監視データの収集を行い、そのデータによって閾値に照らし合わせ、必要であればアラート通知などを行う。Zabbixサーバが監視を行うときに参照する設定情報は、MySQLに保存されている。また、Zabbixサーバが監視したデータもMySQLに保管する。

Zabbix Webインタフェース

Zabbix Webインタフェースは、Zabbixサーバの動作に必要な設定を行ったり、収集したデータを表示する役割を担う。データの表示は、グラフィカルに行うことができる。

なお、Zabbix WebインタフェースはPHPで作られていて、Apache上で動作する。

Zabbixエージェント

Zabbixエージェントは、監視対象のサーバ上にインストールして動作するソフトウェアで、LinuxとWindowsに対応している。Zabbixエージェントは、サーバの情報を収集し、Zabbixサーバへ情報を引き渡す役割を持っている。

なお、Zabbixは、SNMPに対応していて、エージェントなしでも情報収集を行うことができる。WindowsやLinuxに付属しているSNMPエージェントと連携すれば、エージェントレスでの監視も十分に可能であり、余分なソフトウェアのインストールも必要がない。一方で、Zabbixエージェントを使うと、より詳細な情報を取得することができる。

Zabbixによる状態表示

Zabbix Webインタフェースから、監視対象サーバの状況をグラフカルに確認することができる。次のような表示をサポートしている。

  • 稼働状況の一覧

    Zabbixで監視しているシステム全体の状況を一覧で表示することができる。監視対象の状態は色で表現されており、異常を視覚的にとらえることが容易である。

  • マップ表示

    Zabbixで監視しているシステムをマップ形式で表示することができる。一覧表示に比べて、機器の配置なども考慮して可視化されているため、ネットワーク障害の状況を把握することが容易である。

  • 障害一覧

    発生した障害の状況を一覧することができる。コメントやステータスなども入力でき、Zabbixで障害を管理することができる。

  • レポート

    必要に応じて定義した形式でレポート表示をすることができる。

Zabbixの監視機能

Zabbixは、以下のような様々な監視方法に対応している。

ベーシックな監視

  • 死活監視
  • システムの稼働状況(再起動)
  • ログインユーザ数
  • 総プロセス数

サーバの状態

  • CPU利用率
  • ロードアベレージ
  • メモリ利用量
  • スワップ利用量

ディスク・ファイル監視

  • ファイルシステム容量
  • 書き込み、読み込み回数
  • ファイルの存在
  • ファイルのサイズ
  • ファイルのチェックサム(改竄の監視)

サービス監視

  • サービスの起動
  • TCPサービスの状況
  • 起動プロセス数
  • プロセスの利用メモリ

Webサービスの監視

  • 応答ステータス
  • 応答速度
  • 応答内容(文字列)
  • ダウンロードスピード

ログ監視

  • ログファイルの内容
  • Windowsイベントログ

その他の監視

  • SNMP監視

Zabbixの障害検知時のアクション

Zabbixは、障害を検知したときに次のようなアクションをサポートしている。

  • メールによる通知
  • Zabbixサーバ上でのスクリプトの実行
  • Zabbixエージェントによるスクリプトの実行

Zabbixサーバ上で、スクリプトの実行をすることができるため、障害時に電話をかける、パトランプを回すなどのアクションも可能である。

Zabbixの冗長化

監視サーバであるZabbixが停止してしまうと、障害に気づくことができない。また、停止中にはサーバの状態が保存されない等の問題も発生する。そのため、重要なシステムでは監視サーバ自体も二重化することが多い。

Zabbixの二重化は、HAクラスタのソフトウェアを使って実施するのが一般的である。

Zabbixでの大規模システムの監視

1台のZabbixで監視できる対象には限りがある。Zabbixで大規模なシステムを監視する方法としては、次の2つの方法がある。

複数のZabbixを導入する

単純に必要な数だけのZabbixを導入する方法である。ただし、この方法では管理者はすべてのZabbixの情報を得る必要が出てしまう。そのため、Grafanaなどの監視コンソールソフトを導入し、すべての情報を一元的に表示するようにする。

この方法では、Zabbixの設定は各監視サーバに個別に行う必要がある。

Zabbix Proxy

Zabbix Proxyの機能を導入する方法もある。Zabbix Proxyは、Zabbixサーバのかわりに監視対象から監視データを収集する。そして、収集したデータをZabbixサーバに送信する。Zabbix Proxyが収集したデータは一旦、ローカルのデータベースにバッファリングされ、その後Zabbixサーバに転送される。そのため、Zabbixサーバから監視対象の機器へネットワーク的に到達できないような場面でも利用できる。

ただし、監視データが1台のZabbixサーバに集約されるため、Zabbixサーバには高い性能が求められる。また、当然のことながら限界がある。なお、詳しい情報は、「Zabbix Proxy調査報告書」から入手できる。

Zabbixのサポート

Zabbixは、日本国内でも商用サポートが提供されていて、利用することができる。ただし、Zabbixは高品質なOSSで、あまり使われていない機能を利用する場合を除いて、Zabbixの利用にあたって、大きな問題に当たることはほとんどない。

デージーネットの取り組み

デージーネットでは、OSSの監視ソフトウェアとしてZabbix、Cacti、Nagiosなど、様々なソフトウェアを扱っている。その中でも、マップの作成、閾値監視、障害通知などの機能が重要視されるケースでは、Zabbixを推奨している。

Zabbixによる監視サーバの構築

デージーネットでは、Zabbixを使った監視サーバの構築サービスを提供している。Zabbixサーバをインストールするだけでなく、監視対象機器の登録など、監視機能の導入に必要な作業をすることができる。また、監視についてのコンサルティングサービスを受けることもできる。

Zabbixサーバの冗長化

非常に重要なシステムを監視する場合には、Zabbixサーバを冗長化し、ハードウェア障害があったときにも監視が継続できるような構成をとる必要がある。デージーネットでは、このような冗長構成のシステムの構築も行っている。

Zabbixサーバのスケーラビリティ

残念ながら、1台のZabbixサーバで監視できる監視対象の数には限界がある。そのため、数千もの対象を監視する大規模なシステムが必要な場合や、監視するサーバのロケーションが複数に分かれている場合には、Zabbixプロキシを使って分散型の監視システムを構築することで、スケーラビリティを確保する提案を行っている。

独自監視のサポート

対象機器に合わせた特殊な監視を行いたい場合や、障害時に特殊な通知方法を取りたい場合には独自の監視ソフトウェアを作成し、Zabbixと組み合わせて使用する方法を提案している。実際に、CATV局などが利用している特殊な機器に対する監視機能を組み込んだり、障害時に自動的に電話をコールする機能などを開発した実績もある。

サポート

Zabbixは、Miracle Linux社などが商用のサポートを提供している。そのため、このようなサポートを利用することもできる。ただし、Zabbixは高品質なOSSで、あまり使われていない機能を利用する場合を除いて、Zabbixの利用にあたって、大きな問題に当たることはほとんどない。

そのため、デージーネットでは、サポート契約なしでの構築も行う。そして、導入後の支援としてOpen Smart Assistanceを提供している。このサービスでは、Zabbixにバグがあった場合には、それを回避する方法をリモートからから調査したり、コミュニティにエスカレーションするなどのサポートを受けることができる。また、新たな監視対象を追加する方法の問い合わせなどにも対応している。この場合には、Open Smart Assitanceのクーポンサービスを利用することでサービスを受けることができる。

【カテゴリ】:システム監視  オープンソースソフトウェア  IoT  

  • もっと調べる
  • どうやって使う?

関連用語

Zabbixに関連するページ(事例など)


デージーネット用語集のページです。「Zabbix」という用語と関連情報について説明します。「Zabbix」について情報を収集する際、サービスをご検討いただく際などに用語集ページをお役立てください。

Zabbixとは先頭へ