Tech Sketch Bucket of Technical Chips by TIS Inc.

【イベントレポート】Zabbix Conference Japan 2014

Pocket

先日(11/21)に東京で開催されたZabbix Conference Japan 2014のイベントの様子をお伝えします。統合監視ソフトウェアのZabbixの最新開発動向や今後のロードマップ、ユーザ事例、Zabbix活用ソリューション等様々な話題で盛り上がりました。

Zabbix Conference Japan 2014イベントページ

※各発表の資料については上記イベントページのアジェンダより参照いただくことができます。

Zabbix Conference

本家のZabbix ConferenceはZabbixの利用者やZabbixの開発者、Zabbixのコミュニティメンバー等が集い様々なテーマでの発表がある場です。ラトビアにあるZabbix開発元のZabbixSIA社が2011年から年次で行っています。

私たちも2012年の第2回の時に参加させていただきました。Tech-Sketch:Zabbix Conference2012 登壇&聴講レポート(1)

ラトビアは日本から少し遠く、日本人が参加するにはハードルが高いということもあり、2013年からは日本版のカンファレンスであるZabbix Conference Japanが開催されています。今回はその第2回目となるZabbix Conference Japan 2014の様子をレポートします。

ZabbixSIA CEO アレクセイ氏からのZabbixの今後についてのお話

まず、本カンファレンスの目玉の発表はZabbix開発元のZabbixSIAからのZabbixの今後の開発についての話です。Zabbixのこれまでの開発の歴史から始まり、今後の開発の方向性についてがZabbixSIAのCEOであるアレクセイ氏から発表されました。 1998年からスタートして現状のバージョン2.4まで様々な改良を重ねてもなお、現状に満足することなく今後も改良を重ねていく方向であるということでした。

特に改良したい点として5つ挙げられていました。

  • フロントエンドのUI
  • Zabbix API
  • レポート機能
  • スケーラビリティ
  • 暗号化通信機能

フロントエンドUI

現状のZabbixは監視の「設定」と監視結果の「確認」の画面が別画面として完全分離されており、通常の運用フローである「監視設定」→「監視結果の確認」の一連の動作の中で多くの画面遷移が発生します。こういった課題を解決するため、設定管理と監視結果の確認を融合させるUIを目指すとのことでした。メニューベースで画面を分離するのではなく、オブジェクトベースでの画面構成にしたいということでした。
さらには、ドロップダウンメニューベースの画面も大量の監視対象機器がある場合には限界があるので改善のポイントであるということで、UIについては今後力を入れて改良されるようです。

UI

公開資料(pdf)p.18より引用

Zabbix API

現行のZabbixAPIはSQLのクエリ発行が非効率的であり、APIを使って複雑な処理を頻繁に実行すると重くなるケースがあります。そこで、リクエストのバルクオペレーションが検討されています。また、現在のZabbixAPIはZabbixのフロントエンドであるPHPアプリケーション側で実装されていますが、それをZabbixServer側のCのプログラム側に機能を移行することでより高速化を図ることを検討されているとのことです。

API

公開資料(pdf)p.20より引用

レポート機能

Zabbixは監視結果を分析してより視覚的にわかりやすく表示させるという面においては少し機能的に乏しいところがあります。そこで、より運用者にとって有用な提示ができるようレポート機能の強化が検討されています。
例えば、日々の運用の中で繰り返し見るような表示の条件を保存して、同じ条件ですぐに運用に必要な情報を提示できるような機能を追加したり、JavaScriptのライブラリ等を使ってより視覚的に監視結果のデータを提示する機能を追加するなどが検討されています。この辺りの機能が強化されることでますますシステムの稼動状況の分析が行いやすくなることが期待されます。

Report

公開資料(pdf)p.22より引用

スケーラビリティ

Zabbixの仕組みとして、監視データを最終的にリレーショナル・データベースに格納します。監視頻度が高まったり、監視アイテムが増加することでこのデータベースへの負荷がボトルネックになるケースがあります。データベースのパーティショニングや設定パラメータの変更等のチューニングが重要なのが現状です。そこで、ストレージエンジンを水平方向にスケールできる仕組みへの改良が検討されています。

その際のキーポイントとして、現状、監視設定情報も監視結果情報も全て同じデータベースで管理されていますが、その構成を変更し、それぞれを分離して扱えるようにするとのことでした。こうすることで、より一貫性が重要視される「設定情報」はこれまで通りのリレーショナル・データベースに、より大量のデータを扱う必要のある「監視結果情報」はスケールして管理していけるよう分散データベースに格納するといったことが可能になるとのことです。分散データベースとしてZabbix社が公式にサポートする予定のものは現状5つほど候補があるらしく、その内1つか2つの分散データベースに対応した形で公開したいとのことでした。実際に分散データベースのCassandraについては既に検証済みとのことです。分散データベースへの書き込み部分についてはプラガブルな作りにすることが検討されているので、ユーザの使いたいツールに応じて柔軟に適用させることができるようになります。

Scalablity

公開資料(pdf)p.24より引用

暗号化通信機能

最後に、暗号化通信機能面での強化について発表がありました。ZabbixはServer-Agent間やServer-Proxy間の通信は標準では暗号化されずにデータがやりとりされます。そのため、よりセキュアな環境を構築する必要が有るケースなどではstunnelやOpenVPN等を使ってユーザ自身で暗号化通信の環境を準備しなければなりません。暗号化に対する要望は非常に多いため、Zabbix自体が暗号化をサポートしていくことが検討されています。まずはServer-Proxy間の暗号化が検討されているようです。

Encryption

公開資料(pdf)p.26より引用

このように、今後も様々な改善が期待されるZabbixです。次の安定版は3.0で、来年の5月頃の公開が予定されています。どういった機能が入るかは年内には決まるとのこと。今後の開発が非常に楽しみに感じられる発表でした。

事例の紹介

Zabbixの利用事例についても様々発表がありました。

超大規模VMware環境の監視

ニフティ 日下部氏からは、ニフティさんが提供しているクラウドサービスの基盤のVMware環境の監視にZabbixを利用している事例の発表がありました(発表資料(pdf))。Zabbixは、2.2のバージョンからVMware環境の監視をvSphere APIを利用して自動化する機能が搭載されました。

ニフティさんではこの機能を活用し、1vCenterサーバ配下に5000台のVMがあるような大規模な環境の監視に取り組まれています。この環境に対してZabbixのVMware監視の機能を利用したところ、約5000台-6000台ぐらいの監視対象がある環境で監視処理に限界が生じてくることが判明したとのことです。性能限界の改善のため、バックエンドの監視処理の並行化等さまざまな提案をZabbix社に行い、Zabbix開発元と協力しながら改善を続けているとのことでした。
オープンソースであるが故にこういった利用者と開発元が一緒になってよりよいものを作り上げていけるという良い事例かと思います。

Zabbix Proxyの効果的な活用事例

また、スマートバリュー 佐々木氏からは、地方公共団体の情報システムの監視にZabbixを導入している事例の紹介がありました(発表資料(pdf))。LGWAN-ASPという非常にセキュアなネットワーク網の監視のためにZabbixProxyを導入しより詳細な監視が実現できた事例です。セキュアなネットワーク網であるため多段の構成を組んでいるが、そういった多段構成であってもZabbixProxyを活用することでより深い監視が実現でき、安定した運用が可能になっているとのことでした。

いろんなところにZabbix

その他にもKIOSK端末の監視や高速道路サービスエリアに設置されているデジタルサイネージ端末の監視にZabbixを導入した事例(発表資料(pdf))等、様々な箇所で実際にZabbixが活躍していることを改めて実感しました。

新たなツール・ソリューションの発表

サイバーエージェント 長谷川氏からは、自社のZabbixの監視環境に対してより効率よく行うためのツールの発表がありました(発表資料(pdf))。ZabbixのUserParameter監視では、1つの監視実行処理に対して1つの値の監視しかできません。この仕組みを使ってDBの監視等を行おうとした時、DBの様々なパラメータの監視毎に毎回コネクションを貼って値を取得するという現象に陥ります。サービスで利用しているDBに対して監視用のコネクションが頻繁に発生すると肝心のアプリケーションの性能劣化にもつながってしまいます。そこで、監視のためのコネクションを極力減らしつつさまざまなパラメータを一括で監視する仕組みを実現するツール「BlackBird」を開発されたとのことです。

BlackBirdは、ZabbixSenderの仕組みを使ってデータを一括でZabbixに連携する仕組みが採用されています。ZabbixSenderで値をZabbixに連携する処理についても、Zabbixが提供しているツールzabbix_senderコマンドを利用するのではなく、ZabbixSenderとZabbixServerとの通信プロトコルに従って直接Pythonプログラムからパケットを送付しているということでより処理を効率良くできる仕組みを採用されているようです。OSSと公開されているので幅広く活用が可能なツールとなっています。

BlackBird(GitHubリポジトリ)

また、フューチャーアーキテクト 浅倉氏からは、マルチクラウド環境の統合管理ソリューションである「Future Cloud Orchestrator Service」が発表されました(発表資料(pdf))。SCSKさんからOSSとして公開されているPrime Cloud Controllerと呼ばれるオーケストレーションツールを軸として、統合運用管理(Zabbix,JobArranger for Zabbix,Redmine)・「自動化・プロビジョニング(Puppet)」・「分析(Fluentd,Elasticsearch,Kibana)」をトータルに実現するソリューションとなっているとのことです。

Zabbix以外のツールも知った上で適切な選択を

TISの森元からは、Zabbixも含めて様々公開されているOSSの比較検証結果の報告を行いました(発表資料(pdf))。ひとくくりに監視系ツールと言っても、それぞれに特色があり、その仕組みも様々です。それぞれの特長を掴んだ上で自身の環境にマッチするツールの選択が必要です。詳細な比較結果情報はカンファレンスでの発表資料に加えてこちらの記事も参照ください。

徹底比較! 運用監視を自動化するオープンソースソフトウェア10製品の特徴、メリット・デメリットをひとまとめ (1/12)

Zabbixパートナー会での取り組み

最後に、NTTコムテクノロジー 福島氏より、Zabbixパートナー会の取り組みの1つであるZabbix2.4の検証報告会の紹介がありました(発表資料(pdf))。私たちも検証活動には参画しており、サポート契約していただいた方に、より安心してZabbixをご利用いただけるよう取り組んでいます。検証結果の内容については発表資料を参照ください。

まとめ

日本での開催2回目となるZabbix Conference Japan 2014ですが、今回も200人規模の盛大なイベントとなりました。Zabbixの利用事例も益々充実し、OSSで監視といえばZabbixというぐらい非常に知名度もあがってきているのではないでしょうか。その背景には、監視フレームワークとしてのZabbixの高機能さやユーザからの意見を積極的に取り込み、よりユーザに対して最適なツールにしようというZabbix開発者の方々の熱い思いが非常に大きいのではないかと感じました。
今後のさらなる展開にも益々期待が持てるイベントでした。

エンジニア採用中!私たちと一緒に働いてみませんか?