編集部注:ミラクル・リナックス社は現在Zabbix社との関係はなく、ZabbixをカスタマイズしたMiracle ZBXという独自の製品、ソリューションを販売しています。
というわけで、今回は久々に本コラム用にデータベースなネタを探して取材したので、その詳細をお届けします。DB Onlineな皆さまなら統合監視ソフトウェア「Zabbix」の名前を聞いたことがない方のほうが少ないかもしれません。このZabbixがいま、運用の現場で地味にアツい感じになっているとのウワサを耳にし、Zabbix社やZabbix Japanとともに国内でのZabbixブームの火付け役となっているミラクル・リナックスを訪問、同社ビジネス推進本部 プリンシパルエンジニア 青山雄一さんにお話を伺いました。
そもそもZabbixとは? なぜ話題になっているの?
Zabbixはラトビア人のアレクセイ・ウラジシェフという若者が1998年に開発したプロジェクトがその原型となっています。2001年にGPLとしてリリースされ、2004年には晴れてバージョン1.0が登場し、現在ではオープンソースの統合監視ツールとして、世界中で採用が広がっています。2012年5月にはメジャーバージョンアップとして2.0がリリースされており、現時点での最新バージョンは12月8日にアナウンスされたZabbix 2.0.4です。
統合監視ツールという触れ込みのZabbixですが、いったい何を監視するのかというと、ネットワークやサーバ、アプリケーションといったインフラの稼働状況です。ネットワークやサーバの障害を検知したり、「そろそろこのサーバのCPU利用率ヤバイかも」と障害の予兆を捉えて通知することで、システム全体の信頼性と可用性を高める役割を果たします。
Zabbixは「Zabbixサーバ」「Zabbixエージェント」「Webインタフェース」で構成されており、バックエンドはC言語で、フロントエンドはPHPで実装されています。監視対象の機器にエージェントを仕込み、そのエージェントがZabbixサーバに対してデータを送信するわけですが、Zabbixの特徴はエージェントを導入していない機器でもSNMPやTCP、SSHといったプロトコルを通じて監視することが可能なところです。Zabbixサーバが受け取った各機器からの統計データはMySQLやPostgreSQL、Oracle DatabaseなどのRDBMSに格納されます。エージェントレスでも使えて、データベースのプラットフォームもOSS/プロプライエタリ問わずに利用できる柔軟性の高さも、Zabbixが高く評価されている理由のひとつです。フロントエンドのWebインタフェースも使いやすく、監視ステータスをグラフやマップでグラフィカルに表示でき、専用のクライアントソフトも必要としないので、いつでもどこからでもチェックを行うことが可能になっています。
「ここ3年くらいで、急にZabbixへの注目度が上がりましたね。それも以前は小さな規模の導入が多かったんですが、最近ではサーバ数千台といった大規模な環境での採用も少なくありません」と青山さん。その理由として
・仮想化の急激な普及
・オープンソースであることによるコストメリット
・プラットフォームを問わない柔軟性と商用製品との親和性の高さ
・インタフェースの見た目の良さ
などが挙げられますが、とくに青山さんが強調されていたのが「Zabbixのわかりやすさ」です。「ほかの統合監視ツールと違い、ZabbixはZabbixだけで障害検知から障害判定、アラートを受け取るまでの流れを可視化できる。チェックだけを行う人、たとえばオペレータなどの職種の人にとっては非常にラクでわかりやすいツールです。ただし、設定を行う側から見るとかなりクセがあるのも事実なので、その辺は好みが分かれるかもしれません。ただ、ひとつでシステム全体を見渡すことができるというのは、日本人には非常になじみやすい構成。とくにエージェントレスでも使える点は非常にありがたがられています」と青山さん。たとえば同じオープンソースで監視系ツールのPandraFMSなどに比べると「スケーラビリティに関してはPandraFMSのほうが上だと思います。PandraFMSはエージェントのしくみがすこし変わっていて、スクリプトのようにファイルを作成して送信してくるのですが、こちらは欧州などで人気が高いようです」と教えてくれました。Zabbixはエージェントレスでも稼働しますが、エージェント自身も非常に軽量である点が特徴です。このシステムをさくさくと動き回れるフットワークの軽さも、日本人ユーザには受けているようです。