SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

EnterpriseZine Press

今注目のシステム監視ソフトウェア「Zabbix」、生みの親が自ら語るロードマップとは?

 2014年11月21日に開催されたZabbixのユーザーカンファレンス「Zabbix Conference Japan 2014」において、Zabbix SIAの創設者兼CEOのアレクセイ・ウラジシェフ氏がオープニングスピーチに登壇。Zabbixの実装技術や今後のエンハンス計画など、Zabbixの生みの親である同氏にしか知りえない貴重な技術情報が披露された。

 2014年11月21日、パレスサイドビル(東京・千代田区)にてZabbix Japan主催のイベント「Zabbix Conference Japan 2014」が開催された。近年、日本でもユーザー数を増やし続けているオープンソースのシステム監視ソフトウェア「Zabbix」。本イベントでは、このZabbixの専門家やユーザーが、Zabbixを使った監視ソリューションに関わる知識や経験、成功事例などを共有するために行われる年次イベントで、日本国内では昨年に続き2回目の開催となる。当日は多くの参加者が会場に詰めかけ、日本におけるZabbixの注目度の高さがうかがえた。

 Zabbixを実際に日々運用している企業の事例や、Zabbixを使ったシステム管理ソリューションの紹介など、全部で10以上のセッションが開催されたが、本稿ではその中から、Zabbixの生みの親であり、現在はZabbixの開発元であるZabbix SIA社のCEOを務めるアレクセイ・ウラジシェフ氏によるオープニングスピーチの内容をお届けする。  

Zabbixの高パフォーマンスを支える実装技術とは?

 ウラジシェフ氏はまず、Zabbixで使われている主要な実装技術についての紹介からスピーチを始めた。  「1998年に個人的な動機からシステム監視ソフトウェアの開発を思い立った当初はPerlを使って開発していたが、すぐにパフォーマンスやリソース効率の面で不満を感じ、他の言語へ乗り換えた」  

Zabbix SIAの創設者兼CEOのアレクセイ・ウラジシェフ氏

▲Zabbix SIAの創設者兼CEO アレクセイ・ウラジシェフ氏

 現在のZabbixは、サーバやプロキシ、エージェントといったバックエンドの主要なモジュールはすべてC言語で実装されている。C言語のような低水準の処理系を採用することで、Perlのような高水準言語より高速でリソース使用率が低いプログラムを開発することが可能になった。ただし、開発生産性については高水準言語の方が明らかに勝っているという。  

 またフロントエンド部分とAPIについては、PHPを使って開発している。PHPは短期間で習得が可能で、あらゆるプラットフォームで実行可能な点がメリットだが、その半面インタープリタ型言語であるが故に実行時エラーが付き物で、これを防ぐには「規律を保って高品質のコードを書く必要がある」とウラジシェフ氏は指摘する。  

 また、構成データや履歴データを保管するためのバックエンドのデータベースには、MySQLやPostgreSQL、Oracle Database、DB2といった「SQLでデータ操作が可能なリレーショナルデータベースエンジン」を利用する。SQLベースのデータベースエンジンを採用することで、データの一貫性を確実に保てる半面、書き込み処理のスケーラビリティに限界があったり、可用性を担保するために複雑な仕組みが必要になったりといったデメリットも存在するという。  

 これらの要素技術によって実装されたZabbixは、結果として非常にコンパクトなサイズに収まり(サーバモジュールのバイナリファイルのサイズはわずか1~2Mバイト)、またパフォーマンスに関しては「現在世にあるシステム監視ソフトウェアの中では、最も高いパフォーマンスを誇る」(ウラジシェフ氏)という。  

 ちなみにZabbixには、パフォーマンスを高めるための独自の内部処理が幾つか盛り込まれている。例えば、サーバやプロキシがデータベースにアクセスする際には、インメモリキャッシュを使ってディスクI/O周りのボトルネックを極小化している。また、大量の書き込みリクエストを少数のI/O命令にまとめて一括処理する「バルクオペレーション」によって、書き込みのディスクI/Oを最適化する仕組みも実装されている。  

 このような独自技術によって支えられたZabbixは、ウラジシェフ氏によれば「1998年に初めてZabbixを世に出した当時は、極めて優れたプラットフォームだった」という。しかしそれから15年以上が経った現在では、幾つかの点で課題も出てきたという。  

 「バックエンドではC言語、フロントエンドではPHPと、2つの異なる処理系を使って開発しているため、開発効率や品質管理の面で課題が出てきている。また、15年以上前に記述した古いPHPコードがそのまま残っていたり、PHPで記述したAPIのパフォーマンスに問題が生じたりと、主にこれまでPHPで開発してきたフロントエンド周りやAPIの部分で課題が多く生じている」

出所:Zabbix Conference Japan 2014
▲現在の課題 出所:Zabbix Conference Japan 2014

次のページ
今後優先的に取り組んでいく「5つの改善ポイント」

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
EnterpriseZine Press連載記事一覧

もっと読む

この記事の著者

吉村 哲樹(ヨシムラ テツキ)

早稲田大学政治経済学部卒業後、メーカー系システムインテグレーターにてソフトウェア開発に従事。その後、外資系ソフトウェアベンダーでコンサルタント、IT系Webメディアで編集者を務めた後、現在はフリーライターとして活動中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/6373 2014/12/02 00:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング