Zabbix Conference Japan 2020レポート

文:フリーライター 高橋 睦美 様
  1. 過去約20年の方針をブレずに継続ーー「Zabbix Conference Japan 2020」ハイライト
  2. 技術の不思議からZabbixの真価が発揮された事例まで、全セッションダイジェストレポート
ブロンズスポンサーおよび認定パートナーの株式会社アークシステムによる開催レポート、認定パートナーの株式会社インターネットイニシアティブ 樣によるレポートならびに寺島へのインタビュー記事は、以下よりご覧いただけます。

1、過去約20年の方針をブレずに継続ーー「Zabbix Conference Japan 2020」ハイライト

最初のリリースから約20年近く経とうとしているオープンソースの監視ソフトウェア「Zabbix」は、ライセンス料が無料で手軽に利用できる一方で、豊富な監視機能を備えていることから、海外はもちろん国内でも多くの企業・組織で採用されてきました。ではこの先、Zabbixはどこへ向かうのでしょうか。

2020年11月13日、14日にかけて開催された「Zabbix Conference Japan 2020」では、Zabbix 創設者兼CEOのAlexei Vladishevによるセッションをはじめ、豊富なセッションを通じて、今後のZabbixの方向性が紹介されました。

国内では8回目の開催となるZabbix Conference Japanですが、新型コロナウイルス感染拡大の影響を受け、オフライン会場での講演がオンラインでも配信され、複数のユーザー事例やスポンサー・パートナー企業の取り組みが紹介されました。また新たな試みとして、認定試験やトレーニングなど新たな取り組みも盛り込まれ、コロナ禍の影響を感じさせない内容となりました。

オープンで優れた監視ソリューションを提供し続けることがミッション

システムやアプリケーションの安定稼働には監視が不可欠です。Zabbixはその監視に必要なデータ収集や障害検知、通知、グラフ化といった豊富な機能を、オープンソースソフトウェアとして提供し続けてきました。マルチプラットフォームに対応してさまざまな監視対象をサポートし、最近ではクラウドやIoTといった領域にもサポートを広げつつあります。またオープンソースソフトウェアゆえに、コミュニティベースの機能開発や修正、ナレッジが公開され、広く共有されていることも特徴の1つとなっています。

オープニングスピーチに登壇したZabbix Japan LLC代表の寺島 広大は、「Alexei(Vladishev)が最初にリリースしたときからずっと守ってきている3つのポリシーがあります。1つは、優れた監視ソリューションを開発すること。2つ目は、GPLv2ライセンスでオープンソースソフトウェアとしてリリースしていくこと。そして3つ目は、開発もオープンに行うし、そこに至るまでの議論もオープンに行うことです。最初にZabbixをリリースしてから20年近く経つが、これらのポリシーはずっと変わらず守り続けています」と述べました。

こうした特徴が評価され、Zabbixの利用者は着実に、それもオープン系システムだけでなくエンタープライズ領域でも増加を続けています。寺島は「日本国内では監視ソフトウェアとしてスタンダードな存在になり、安心して使っていただけるソフトウェアになってきたと思っています」と語りました。

体制やサポートサービス、トレーニングプログラムも継続的に強化

Zabbixの生みの親であるAlexei Vladishevは、「Zabbix 6.0 LTSへ向けたロードマップ」と題したセッションの中で、Zabbixの最近の取り組みとビジョンについて紹介しました。

「Zabbixはこの先もずっと無料のオープンソースソフトウェアであり続けます。Zabbixの目標は、あらゆる方向で監視を強化し、改良していくことです」(Vladishev)。すでにWebhookなどの機能を追加して柔軟性を高め、Zabbix Proxyをリリースして拡張性を高めたりといった取り組みを実施しているほか、ソースコードの品質やセキュリティの確立、使いやすさの追求など、あらゆる方面で強化を続けています。

現在Zabbixは半年に1回のペースでメジャーバージョンアップを行い、そのうちの3回に1回、つまり1年半に1回のペースで長期サポートバージョン(LTS)をリリースするというスケジュールを採用していることは、ご存じの方も多いでしょう。このスケジュール通りにリリースを行い、かつ品質も担保するため、ラトビアのZabbix本社ではデベロッパーをはじめとする技術者の増強を進めてきました。

並行してグローバルなリーチを広げるため、日本支社だけでなく、ニューヨークやモスクワ、ブラジルのポルトアレグレにも支社を設け、ユーザーやパートナーとの距離を縮める取り組みを進めています。また新たに、多国籍企業向けに24時間365日体制で対応する「グローバルサポート」の提供も開始しました。そしてVladishevは、こうしたサポートサービスと世界で200社を超えるパートナーの力を生かし、企業のシステム・環境の包括的な監視を実現していくと述べました。

今年はトレーニングプログラムの拡充も進めています。最新のメジャーバージョンであるZabbix 5.0に対応したトレーニングコースを設け、Zabbix APIやデータの保存前処理、JavaScriptなど、最近のリリースで追加された機能を効果的に活用する方法を学習できる環境を整えました。なお日本法人では、国内の顧客に向けて「Zabbix入門」「APIコース」という独自のトレーニングコースを用意しているほか、国内のパートナー向け勉強会も定期的に開催し、ナレッジの共有を進めています。興味のある方はぜひご連絡ください。

より柔軟に、より拡張性をーーリリースごとに盛りだくさんの機能追加

Vladishevは、Zabbixソフトウェアの機能拡張についても説明しました。

2019年9月にリリースされたZabbix 4.4では、新たな監視エージェントとしてさまざまなデータ収集方法に対応した「Zabbix Agent 2」が搭載されたほか、Webhookに対応し、ServiceNowやJIRAなど広範なITサービスマネジメントツールとの連携が可能となりました。

また2020年4月に最新のLTSとしてリリースされたZabbix 5.0では、「いくつか重要な改良が加えられました」(Vladishev)。Zabbixユーザーインターフェイスで新たなレイアウトを導入し、画面表示を改良したほか、データの収集・保存を効率化するためTimescaleDBの圧縮機能をサポートするなど、拡張性や操作性の向上に努めています。

そして10月にリリースされたばかりのZabbix 5.2では、スクリプトを活用した柔軟な監視が可能になったほか、HashiCorp Vaultとの統合による安全性の向上、きめ細かなアクセス権限の設定、Zabbix UIおよびAPIの負荷分散など、35以上の機能追加と改良が行われました。

さらに「Zabbix Insights」では、システムの今現在の状況を把握するだけでなく、長期にわたってのトレンドデータ分析が可能になっています。「たとえば、今年のシステムの動作状況を昨年のそれと比較したり、先週と今週の状況を比較したりすることが可能になり、システムで何が起きているかについての洞察を得られるようになりました」(Vladishev)

modbusやMQTTといったIoT/OT分野で使われているプロトコルを新たにサポートし、IoT監視機能を強化したこともポイントです。「これにより、センサーからだけでなく、IoTゲートウェイや工場設備、ビル管理システムからもデータの収集、監視が可能になります。Zabbixの監視範囲がIT基盤だけでなく、センサー機器や工場設備にも広がることになります」(Vladishev)

今後も機能強化のペースはますます加速していきます。2021年3月にリリースを予定しているZabbix 5.4、そして10月にリリースを予定している6.0では、テンプレートやプラグイン、Webhookを介して、より多くのITサービスマネジメントツールやアラートシステム、通知システムなどとの連携を図る予定です。また、タグ機能をホストやトリガーだけでなくアイテムにも適用させ、いわゆるイベントの相関分析も実現していく計画となっています。

「ITシステムは複雑化の一途をたどっており、生成されるイベントも増えています。こうなるとイベントにただ対応するだけでなく、根本的な原因を知り、重要なイベントとそうでないものを見分ける必要がありますが、それには相関分析エンジンが必要です」(Vladishev)

Vladishevはまた、「我々はZabbixの拡張性を高め、可用性や冗長性、負荷分散機能をすぐに使える形で提供することで、真のクラウドネイティブアプリケーションにしたいと考えています」と述べ、クラウド認証への対応やZabbix Proxyの負荷分散などを図っていくと説明しました。

それでも今回Vladishevが紹介したのは、ロードマップの一部に過ぎません。興味のある方はぜひWebサイト上のロードマップをチェックしていただければと思います。

2、技術の不思議からZabbixの真価が発揮された事例まで、全セッションダイジェストレポート

2020年11月13日、14日にかけて開催された「Zabbix Conference Japan 2020」では、Zabbix LLCやZabbix Japan LLCで開発やテクニカルサポートに携わる複数のエンジニアによるセッションが行われたほか、多くの顧客におけるZabbix導入を支援してきたZabbix認定パートナー、そしてユーザー自身がセッションに登壇し、自らの体験を踏まえたさまざまな「生の声」を紹介しました。ここでは、各講演のポイントを紹介していきます。登壇者の皆さんの熱量の一部でも伝われば幸いです。

2-1、パートナー編

5.0や5.2で追加された盛りだくさんの新機能を「独断と偏見で」紹介

Zabbixをはじめとするオープンソースソフトウェアを中心にサービスを展開しているSRA OSS日本支社のチーフエンジニア、赤松俊弘氏は、「Zabbix 最新バージョン解説」と題し、直近でリリースされたZabbix 5.0と5.2に盛り込まれた新機能の中から「独断と偏見に基づいて」いくつかをピックアップし、紹介しました。

2020年5月にリリースされたZabbix 5.0はLTSであり、2023年5月までフルサポートが提供されます。一方5.2は通常のポイントリリースであり、サポート期間は6ヶ月間という点に注意が必要です。また5.0以降はソフトウェア要件が少し変わり、特にフロントエンドのPHPは5.0では7.2.0以降、5.2では7.2.5以降が必要になるため、RetHatやCentOSの7.0で稼働させる際には別途インストールが必要になるとしました。

さて、気になるのは新機能です。Zabbix 5.0では、アイテム、トリガー条件式や保存前処理などに新たな機能がいくつか追加されたほか、4.4でメディアタイプに追加された「Webhook」が強化され、Microsoft TeamsやRedmine、SlackといったさまざまなサービスにWebhook経由で通知を行える設定がデフォルトで数多く用意されました。またセキュリティ関連では、ZabbixデータベースへのTLS接続が可能になり、Zabbixを構成する主要なコンポーネント間の通信はほぼ暗号化されます。また、フロントエンドでもレイアウトが変更され、画面をより広く使えるようになりました。

そしてZabbix 5.2では、新たにスクリプトタイプのアイテムが追加され、JavaScriptを利用して、HTTP/HTTPSを介したデータ収集が可能になりました。「複数の対象に1つのアイテムでリクエストを投げたり、多段ステップのリクエストを投げ、さらに取得したデータに加工処理を行って保存するといった処理が簡単に実現できると思います」(赤松氏)

またトリガーには、長期にわたるトレンド分析を行うための関数が複数追加され、「最新の1時間のメモリ使用量の最大値と最小値の差分が1MBよりも大きければ障害だと判断したり、1分当たりのCPUロードの平均値が先月よりも10%以上増加していたら障害と見なすといった用途に使うことができます」(赤松氏)

もう1つ、このバージョンで忘れてはならないのは、IoTや産業機器で広く利用されている「Modbus」や「MQTT」といったプロトコルのアイテムをサポートしたことでしょう。またセキュリティ関連では、「HashiCorp Valut」を利用して機密性の高い情報やアカウント情報を安全に集中管理できるようになったほか、フロントエンドの各ページへのアクセス制御やZabbix APIの実行可否、変更などのユーザーロールをきめ細かく設定し、付与できるようになっています。

5.0も5.2も、とても書き切れないほどの新機能が盛り込まれていますが、2021年第一四半期には次のバージョンであるZabbix 5.4のリリースが控えています。赤松氏は「ぜひ楽しみにしてほしい」と述べ、講演を終えました。

Zabbixの七不思議……のはずが、不思議な不思議な六不思議?

ZabbixはWebサイトで公開されているロードマップに沿って、ほぼ予定通りにバージョンアップを重ねています。

Zabbix認定トレーナーであるNTTコムソリューションズの福島崇氏は「なぜなにZabbix」と題するセッションにおいて、「半年ごとにメジャーバージョンアップを行い、昔に比べると非常に早い進化が続いています。進化の内容はすべてマニュアルのWhat’s Newに書いてあるのですが、皆さん、実はあまり読まないのではないでしょうか」と述べ、独自のリサーチ結果も含めて「なぜこのバージョンでこんな改善が加えられたのか」という「Zabbixのいろんな不思議」を技術的に掘り下げました。

福島氏が挙げた「不思議」は、いずれも興味深いものばかりです。たとえば、Zabbix 1.8までは、時刻をclock、つまり秒単位でしか管理していませんでした。このため、ある1秒間に複数のヒストリーデータが収集すると値が入れ替わってしまう問題が発生していました。Zabbix 2.0でナノ秒単位の時刻管理がサポートされてこの問題は改善されましたが、「こんなに大事な機能なのに、What’s Newにはちょこっと『ナノセカンドサポート』としか書かれていない状態でした」と福島氏は振り返りました。

この結果、1ナノ秒以内に同じデータが来ない限り入れ替わりは発生しなくなりました。ただこれも「表面だけ見てしまうと、『入れ替わらなくなったな』と感じるだけかもしれません。しかし実態としては、ナノ秒という極めて狭い範囲内で複数の同じデータを収集した場合には、やはり重複が発生してしまうと言うことです。よくよく調べてみると、どういう場合にうまくいき、どういう場合にうまくいかないのかが分かると思います」(福島氏)

この問題をさらに深く考えてみると、そもそもナノ秒のテーブルには何桁までの値が入るのかも気になってくるのではないでしょうか。「データベースの定義を見るとint(11)となっているから、11桁入るはず。簡単じゃないか」と思いがちですが、よくよくMySQLの仕様を考え、さらにはそもそもナノ秒とはどういうものなのかを突き詰めて考えてみると、「10のマイナス9乗」であり9桁であると分かるそうです。「こういったところでも、広い知識を持っていると応用が利きます」(福島氏)

そして福島氏は「7不思議と言っていたのに6つしか不思議を挙げませんでしたが、世の中、例外事項はいっぱいあります」と笑いを誘いながら、深く技術を追求することの面白さと不思議さをあらためて教えてくれました。

Zabbixエキスパートが語る、監視設計のポイントとは

どんな企業でも、なるべく負荷が少なく、また管理しやすい形でZabbixを設定したいと考えるのが当然です。インフォコムの南一明氏は「監視設定の手法と方法」と題するセッションを通して、その指針となる考え方を披露してくれました。

監視設定の設計は、大きく「監視設定を直接ホストに作成する方法」と「監視設定をテンプレート化し、ホストにリンクする方法」の2つに大別できます。そして後者はさらに、テンプレートをホストに直接リンクする方法と、複数のテンプレートと間接的にリンクする方法に分けられます。

「ホストに直接監視対象を設定するやり方は、監視対象が少ないうちは管理が簡単です。しかし数が増えてくると大変になりそうなのは目に見えており、人手でやるならばある一定の数までと決めておいた方がいいでしょう」(南氏)。一方テンプレートを利用すれば、複数のホストに一括して同じ設定を登録でき、設定を一元管理できます。ただこれも、ホスト数、さらにはテンプレートの数が増えてくると複雑になっていくことは、予想に難くありません。

インフォコムでは、設計監視を行う際には顧客と話し合い、まず「管理したい単位はシステム単位なのか、機器単位なのか、どちらで管理していきたいのか」を決めた上で、Zabbixに用意されている100種類以上のテンプレートを積極的に活用し、カスタマイズしていくことが多いそうです。

ただ、過去にはこんな残念な案件もあったそうです。テンプレートを用いた監視設定を採用し、よかれと思って、図解やフロー図も交えた大作のマニュアルを作成して、これならばスムーズに運用できると思っていたところ、運用担当者から「わかりにくいなあ」と言われてしまったといいます。

この経験を踏まえて南氏は、「まず、マニュアルだけでスマートな運用は無理です。また、Zabbixの基本的なことに関する情報を事前に共有し、理解を深めておくことが重要です。そして、どんなに準備をしてもトラブルは起こるものです。ですから最初からシステム化されたマニュアルを作るのではなく、運用の中で中身を整理し、使いやすくしていきましょう」と述べ、後生大事に更新を止めるのではなく、生き物のように変化していくマニュアルであることが大切だと説きました。

南氏はさらに、多くの設定を簡単に行うコツも紹介しました。もしまったくお金をかけられないならば、まずはたくさん設定を経験し、ZabbixのWebインターフェイスに慣れることが一番だそうです。そうすれば、「たとえば共有の設定シートを作る、今の作業に必要なものだけを周囲においてミスを防ぐ、ファイルの表示方法や位置を統一し、取り違えのないようにする」(南氏)といった、より効率の良い作業方法も見えてきます。

そして、多少コストをかけてもいいので効率化したい場合には、Zabbix APIを利用してcurlコマンドを作成する方法を推奨しています。「一度curlコマンドを用意しておけば、大量の監視設定もコマンド一つで簡単に操作できます。Zabbix APIでは、ほぼ画面操作と同じ操作ができますので、ぜひこの機会に使ってみてください」とし、もし分からないことがあればZabbix認定パートナーに相談してほしいと呼びかけました。

「うまくいくところ、思うような効果が出ないところをきちんと分析して次の設計に反映し、微調整したり、新たなものを試してみたりしましょう。そうやってトライアンドエラーを繰り返すことが経験の蓄積になり、自社に合った独自の設計ノウハウができていくと思います」(南氏)

Zabbixアプライアンスのふるさとはどんなところ?

Zabbixアプライアンスの生産を担っているネクスコムは、台湾に本社を置き、ネットワーク機器やアプライアンスのほか、自動車用PCや医療用機器、ロボット、IPカメラ、IoTゲートウェイなど幅広いカテゴリの製品を提供しています。ネクスコム・ジャパンのバイスプレジデント、浅海友介氏は、「ネクスコムのZabbixアプライアンス生産拠点 IoTスマートファクトリーの紹介」と題するセッションで、どんな風に機器が作られているか、あまり知られてこなかった側面を紹介しました。

2年前に完成したネクスコムの台湾第二工場は、自らスマートファクトリーを実践している最新鋭の工場です。「第一工場に比べて生産能力が20%アップし、人は30%ダウンしている、非常に効率のいいスマートファクトリーとうたっています。工場内の『作戦司令室』には工場の状態や生産予測などが表示され、それを見ながら月々の経営意思決定をリアルタイムに行っています」(浅海氏)

この工場で行われるのは基盤の組み上げから半田付け、アセンブリといった工程だ。日本にはベアボーンが送られてきて、最終的な組み立てが行われる。「メイドイン台湾、アセンブリ港区というプロセスで製造されています」(浅海氏)

浅海氏はまたZabbix 5.2がMQTTとmodbusに対応したことを受け、「私はこの十年くらい、工場にZabbixを適用できないかとずっと思っていました。工場の現場にはネットワークの知識がほとんどないため日本ではまだ普及していませんが、将来できることがあればぜひ協力していきたい」と述べ、今後の展開に期待を寄せました。

アークシステム:技術ブログのご紹介

アークシステムではZabixを難しいと感じる顧客に向け、技術ブログを発信してきました。同社プラットフォーム技術部の新井健志氏は、「Zabbixに関する疑問・お困りごと解決の手助けに…~アークシステム技術ブログのご紹介~」の中で、どんなZabbix関連記事がよく読まれているかをランキング形式で紹介しました。

第四位は「Active-Active構成を用いた冗長化のポイント」です。Zabbix Japanが提供する「設定同期ツール」を用いてZabbixのActive-Active構成を実現する際のポイント、運用上の注意点を紹介しています。

第三位は「初心者でも分かる!Zabbixテンプレートの使用方法」。Zabbixを触り始めたばかりで、とっつきにくいと感じている担当者に対し、テンプレートの概念にはじまり、テンプレートとアイテム、トリガー、各種監視設定との関連や作成方法といったオーソドックスな内容を説明する記事です。

第二位は「Zabbix APIで楽にミスなく大量のホストを登録しよう!」で、具体的なスクリプトの作成方法まで含め、シェルスクリプトを用いて大量にホストを登録するためのステップを解説しています。同じ内容をPyhtonで実現する方法を説明した別の記事も用意されているそうです。

そして、人気記事の第一位は「Windowsイベントログを、Zabbixで簡単に監視する」。nxlogというOSSを活用してイベントログをテキストログに変換し、Zabbixのテキストログ監視によってWindowsのイベントログも監視していくという内容で、「ログの日常利用やsyslogサーバの集約というところに非常に有効な手段だと思います」(新井氏)。ほかにも同社のブログではさまざまな記事を掲載し、今後も更新していくそうです。

そるでぶろぐ | 株式会社アークシステムの技術者ブログ

Zabbix導入・運用でよく寄せられる悩みの声に応える2つのツール

Zabbixはオープンソースソフトウェア(OSS)なので安価に導入できるにもかかわらず、高機能であり、「Zabbixなら何でも監視できる」というイメージがあります。一方で、「設定に必要な画面や項目が多い」「表示がわかりにくい」といった声も存在するようです。ヴィンクス 次世代プロダクト部の赤松正浩氏は、そんな声に応える解決策を「複数のZabbixの集中監視の課題/監視設定を簡単にするには」で紹介しました。

「たとえばZabbixで監視を行う場合、ホスト設定、アイテム設定、トリガー設定、アクション設定と、4つの主な画面で設定をする必要があります」(赤松氏)。流通業界を中心にシステムインテグレーションや運用サービスを提供しているヴィンクスでは、こうした課題を解決するために、入力が必要な画面や項目をまとめ、トリガー設定についても条件式を自分で組み立てることなく選択式で入力できるようにしたツール「VI-EZOperation」を開発し、提供しています。メンテナンス設定をカレンダー形式で表示したり、通知設定で個別にマクロを記述しなくても済む機能も備えています。

「こんな風にまとめていくことで、必要な設定作業のうち約8割に対応可能です。人員不足が叫ばれていますが、通常の業務の一環として簡易な設定を行えるオペレーターが監視設定の8割を行い、残る高度な設定はエキスパートが対応することで、業務の効率化を図ることができます」(赤松氏)

さらに、複数のZabbixサーバを運用している場合、イベントを一箇所で集中的に監視・運用したいというニーズが多く寄せられるそうです。

そこで、Zabbix APIとSenderコマンドを利用し、複数のZabbix Serverからイベント情報を集約できる「VI-Manager」もリリースしています。イベント情報の検索・絞り込みが可能なほか、複数の同じイベント情報をまとめる集約表示や通知・アクション機能、階層表示とツリービュー、マップ表示とドリルダウンといった機能を備えているツールです。赤松氏は、こうして一箇所にイベントを集約することで、「監視業務を効率化でき、大変便利になります」としました。

2-2、Zabbix「中の人」編

パートナーとともに、市場のさらなる盛り上げを

Zabbix Japanでは「パートナーシッププログラム」を展開し、基本的にパートナーを経由してサポートやアプライアンス、公式トレーニングを提供しています。Zabbix Japan LLCのパートナーセールスマネージャー、丸山恵一は、「Zabbixビジネスの成長を共に歩むパートナーとの活動」というセッションを通してその活動について説明しました。

Zabbix Enterpriseサポートでは、シルバー、ゴールド、プラチナという3つのメニューを提供し、障害問い合わせや設定方法、仕様に関する内容まで、さまざまな問い合わせに対応しています。丸山はさらに、「各パートナーでは、Zabbixだけではなく包括的にOSSをトータルにサポートするメニューや24時間365日体制での日本語対応を提供するといった、独自の付加価値を付けて対応していただいています」と説明しました。おかげでテクノ・システム・リサーチの調査によると、運用管理ソフトウェアの分野で「保守サポートの対応の良さ」が高く評価されています。

トレーニングについては、NTTコムソリューションズとともに年間約30回の認定トレーニングを開催してきました。最新LTSバージョンである5.0に関しても、11月から順次トレーニングを開始しているほか、人気の高い入門コースやZabbix APIに関するコースを日本独自で開催。年間300名以上が受講しており、これから本格的に使う人はもちろん、「既に使われていた方があらためて受けてみて、こんな使い方があるのかと認識する場としても役に立ったという声をいただいています」(丸山)。

そしてZabbixアプライアンスについては、ハードウェアと仮想アプライアンスを提供し、累計950台以上を販売してきました。やはり手離れの良さがポイントで、官公庁や病院などへの導入例があります。

ほかにもパートナー会・分科会を開催したり、共同でInterop Tokyoにブースを出展したりと、パートナー各社の協力を得ながらさまざまな活動を展開しています。「Zabbixだけで監視を一気通貫でできるわけではありません。いろいろと足りない部分、たとえば画面周りのビジュアライズや簡単に活用するためのソリューション、ジョブの監視機能などをパートナーのソリューションと組み合わせ、お客さんのニーズに対応できる形で提供していきます」と丸山は述べ、これからもパートナーとともに市場を盛り上げていきたいと表明しました。

より柔軟な通知を実現するWebhook、安心して活用を

障害を検知したら、それを速やかに運用担当者に伝えることも重要です。Zabbix 4.0までは主にメールとスクリプトという2つの方法を利用し、障害を通知してきました。Zabbix Japan LLCのサポートエンジニア兼トレーナー、渡邉隼人は、Zabbix 5.0以降で活用可能な新たな通知方法を「Zabbix 5.0の障害通知の活用とWebhook」で紹介しました。

これまでの通知方法では、状況に応じて件名やメッセージを変えたい場合、あるいは異なる役割のユーザーに別々に配信する場合などは、スクリプトの登録や配置に工夫が必要でした。また、すべての障害の通知をメールで受け取る設定にしていた場合、システムによっては1日に100通ものメールを受け取ることになり、運用に限界を感じるケースもありました。

そんなときに活用できるのがZabbix 4.4でメディアタイプに追加されたWebhookで、REST APIを提供するツールとの連携が可能になっています。さらにバージョン5.0では、Webhookのメディアタイプが21種類も追加されています。

これにより「1つのアクションで異なるメディアタイプに、たとえばメールには今まで通りの件名で本文には深い情報などを送信する一方、チャットツールにはもっと簡易な情報を送信するといった具合に、それぞれ件名、本文を振り分けるような形で登録できるようになりました」(渡邉)

ただ、監視ソリューションには安定・確実な運用が求められます。このため「新バージョンに移行した際、今までの設定はどうなってしまうのだろう」と懸念を抱くのも無理はありません。渡邉は、バージョンアップ時も従来通りのアクション設定を利用し、テンプレートも旧環境のものを引き継げることを説明し、「あまり運用を変えたくないという方でも安心して5.0にアップグレードできます」と述べました。それでも新たな機能の組み込みに不安を抱く場合には、Zabbix Japanやパートナー企業にぜひ相談してください。

頼みの綱のサポート窓口、よく寄せられる質問とは?

Zabbix Japan LLC サポートエンジニアの水谷和弘によると、サポートセンターへの問い合わせで最も多いバージョンはZabbix 4.0ですが、リリースされた5月以降、Zabbix 5.0に関する問い合わせも徐々に増えているそうです。では、皆さんはどんなところに悩み、問い合わせをお寄せいただくのでしょうか。「サポート最新動向」では、窓口によく寄せられるいくつかの問題を取り上げ、解決のヒントを紹介しました。

1つは、Zabbix 3.2以降で発生するproblemテーブルの肥大化問題です。肥大化の結果、problemテーブルを参照している「監視データ」の「障害」画面や「マップ画面」、ダッシュボードの一部のウィジェットの表示に非常に時間がかかったり、表示できなくなるといった事象が発生していました。

原因は、復旧しない障害イベントが蓄積されて数万件、十万件と溜まってしまうことです。水谷は、肥大化を防ぐために「復旧イベントが生成される条件式、復旧条件式をしっかり設定する、または定期的な手動クローズを行う運用が大事になります」と述べ、さらに肥大化が発生していないかどうかを確認する方法、肥大化してしまった場合の対処方法を紹介しました。また、Zabbix Enterpriseサポートの一部として提供している「Zabbix-enterprise-utils」パッケージに、problemテーブルのレコードを調整する機能を追加する予定もあるそうです。

また、Zabbix自体は冗長化の機能を備えていませんが、やはり冗長化したいという要望は根強く寄せられます。冗長化を実現する方法としては、クラスタリングソフトウェアを導入する方法に加え、Zabbix Enterpriseサポート契約の一部として提供されている「Zabbix設定バックアップ同期ツール」を利用したActive-Active構成があり、マスターのZabbixサーバからスレーブのZabbixサーバに対してすべての監視設定を同期することで、冗長構成が実現できると紹介しました。ただしこのとき、スレーブ側監視設定の変更を行ったり、相互同期処理を行ったりすると、データの整合性が崩れ、挙動に影響が生じる恐れがあります。十分ご注意ください。

追加されたトリガー関数が開く、Zabbixの新たな活用領域

「Supercharge Zabbix with powerful insights」と題するセッションでは、Zabbix LLCのディベロッパー、Aleksandrs Kalimulinsが、Zabbix 5.2で追加されたいくつかのトリガー関数について紹介しました。

Zabbixではトリガーの設定によって、監視しているリソースに何か望ましくない状態、閾値を超える状態が発生したことを知ることができます。ですが、「時には、状況が正常かそれとも異常かが分からず、周囲の状況を考慮して判断を下さなければいけないことがあります」(Kalimulins)

たとえCPUの使用率、メモリやディスクの使用率が同じでも、前日、前の週、あるいは前の月と比べて大幅に増加しているようならば異常と捉え、何らかの手を打たなければいけないでしょう。また、あるWebサイトにとっては正常な状態が、ほかのWebサイトにも当てはまるとも限りません。「従って、監視するパラメータの適切なベースラインを探し、現在のデータと比較することが必要になります」(Kalimulins)

比較の元となるベースラインは、過去のデータやナレッジを元に定義することになりますが、その作業はこれまで手作業に依ることがほとんどでした。しかしZabbix 5.2に追加された新たなトリガー機能を活用することで、ベースラインを作成して比較する作業が容易になるとKalimulinsは述べました。

たとえば、Webサイトへのアクセス動向を前の一ヶ月、あるいは前年同月と比較するといったことが簡単に行えます。さらに、「クラウドの利用料金の動向を把握し、前月と比較しながら予算を超過していないかどうかをチェックするといった使い方も可能になります」(Kalimulins)

さらには、IT関連の数値だけでなく、売り上げや利益率、顧客コストの平均や出荷数といったさまざまなビジネス上のパフォーマンス、現実の仕事におけるKPIにも適用できるとし、「Zabbixは、これまでCRMやビジネスアナリティクスといったほかのシステムが独占していた新たな領域に進んでいきます」と宣言しました。

HTTPエージェントを利用したクラウドAPI利用

Zabbix Japan LLCのサポートエンジニア、比嘉啓太は、「HTTPエージェントを利用したクラウドAPI利用」という野心的なタイトルでセッションを行いました。

Zabbixが監視対象から値を取得する方法はいくつかあります。その1つであるHTTPエージェントでは、Zabbix Serverからlibcurlを利用してHTTP/HTTPSで接続し、返ってきた値を取り込むことができるようになっています。

「利点として、対象にZabbixエージェントを導入しなくてもいいため、既にリリース済みのWebアプリケーションなどでも簡単に使えるようになっています」(比嘉)。たとえばApache Serverからserver-statusを取り込んでアクセス数などを把握するといった使い方が可能で、そのためのテンプレートも用意されています。

さらに、保存前処理を活用すれば、取得したデータを必要に応じて加工することもできます。「正規表現であれば、特定のワードを取得したときにのみデータベースに格納したり、構造データであれば、REST APIを投げて返ってきたデータをJSON形式に直して保存することもできます」(比嘉)

比嘉はこのHTTPエージェントを、Webアプリケーションだけでなく、Amazon Web Services(AWS)の監視に使えないかも試してみました。これまでのバージョンではスクリプトを利用する必要がありましたが、Zabbix 5.0.2を用いて、AWS CloudWatchにアクセスして値を取るというシナリオに挑戦したそうです。

結果はというと、SDKを使わない前提では認証トークンの取得などに手間がかかり、残念ながら何らかの仕組みを一段かませないと難しいことが判明しました。ただ「あくまでAWSやAzureに対してHTTPエージェントだけを使う場合は難しいというだけであり、すでに何らかのWebアプリケーションやソーシャルゲームを運営し、バックエンドでアクセスできる何らかのREST APIを準備しているならば、HTTPエージェントを使って簡単に値が取れます」(比嘉)。HTTPエージェントとクラウドの組み合わせについては、今後のバージョンに期待といったところでしょう。次回のカンファレンスでは、成功例が聞けるかもしれません 。

2-3、ユーザー事例編

標準化やワークフローの整備も同時並行で進め、運用保守コストの削減を実現したSOMPOシステムズ

SOMPOホールディングスグループの一員として、デジタル技術を用いて国内外の生命保険・損害保険業務や介護・ヘルスケアを支援する役割を担っているSOMPOシステムズでは、2014年度から監視基盤リプレースプロジェクトを進め、Zabbixを採用しました。SOMPOシステムズの金子優介氏は、「SOMPOシステムズにおけるZabbix監視基盤とは」において、選定の経緯から活用状況までを紹介しました。

監視基盤はSOMPOグループのビジネスを支える重要な基盤となっています。しかし、監視基盤が複数あり、また監視サーバが18台も存在するなど、運用保守コストの削減や登録工数の削減などが課題となっていました。そこで、それまで利用してきた有償製品は踏襲せず、オープンソースソフトウェア(OSS)を採用する方針を掲げて製品比較を実施し、ライセンス維持コストが低いこと、監視登録の自動化・簡易化が可能なことなどを軸に検討し、Zabbixの採用を決定したそうです。

「社内ではまだあまり実績のないOSSを利用することに多少の不安はある一方、OSSに挑戦して自身のスキルも向上させたいという強い思い、社内の関係者の後押しと、これ以上課題を放置できないという強い危機感がありました。信頼できるZabbixのパートナー、インフォコムとの出会いもあり、Zabbixを選定しました」(金子氏)

2017年度にはじっくり時間をかけてマネージャーや運用スキームを構築し、2018年度から2019年度にかけて各エージェントの受け入れを実施していきました。監視対象数5000台、監視項目数は約10万に上る規模ですが、監視サーバは2台に集約し、複数のデータセンターで冗長化を図るとともに、監視項目を標準化することで負荷の軽減も図っているそうです。

また、監視申請から登録までの流れを標準化する申請ワークフローの整備、「Zabbix監視テンプレート生成ツール」「監視抑止/抑止解除ツール」をはじめ、Zabbix APIを利用して監視登録作業を効率化する20個以上のツールの開発も、コストや工数の削減に大きく寄与しています。「標準化された手順による作業、監視登録効率化のために開発したツールを用いた監視登録作業を実施することで、監視対象数5000台という規模でありながら円滑に進めることができました」(金子氏)

「導入の結果、サーバ構成および運用設計の見直しによるシンプル化が図れたほか、Zabbix Enterpriseサポートの活用による運用保守コストの削減ができました。また内製化によって、社員でも監視登録作業の対応が可能になり、作業内容を社員が分かってきたことで、ベンダーロックインも解消できました」(金子氏)。今後は、引き続き認定パートナーの力を借りながら、Zabbix 5.0を利用してのパブリッククラウド環境向けの監視基盤構築を進めていく方針だ。

Zabbixを導入してみて

Jストリームのネットワークエンジニア、小山拓海氏は、「Zabbixを導入してみて」において、乱立していた監視ツールをZabbixに一本化した経緯を説明しました。

ライブ配信サービスやCDNを提供するJストリームでは、関東はもちろん、国内各地でデータセンターを運用してきました。しかし「データセンターごとにNagiosやCactiを使って監視をしており、多いときで5〜6種類のツールがありました。別々に見ていく必要があり、障害が起きたときにどこで何の情報を管理しているかが分からなくなることがありました」(小山氏)

ばらばらだったリソースの監視とアラートの発報を1つのツールに集約しようと考えて採用したのがZabbixでした。「1つに統合し、何かあればZabbixサーバからアラートを発報させて弊社が提携している運用監視センターに送信し、各サービス担当者が対応できることを目指しました」(小山氏)

Zabbix 4.2を採用することに決めて2020年3月ごろから急ピッチで移行を進め、今もテンプレート整備などの作業が進行中です。Zabbix自体はDRBDを利用して冗長化し、またZabbixプロキシを活用して地方データセンター・拠点の集約や外部からのネットワーク監視も実現しています。

このように、構築自体は比較的スムーズに進めることができましたが、どちらかというと難しいのは、テンプレートの作成とホストへの登録、その方法の社内告知といった運用プロセスの方だったそうです。「当初はテンプレートのタグの仕組みが今ひとつ理解できておらず、仕様書を調べながら運用していく感じでした」(小山氏)

しかし、「NagiosやCactiに比べると、やはり圧倒的に見やすいです。また、アラートをメールで飛ばす際も、どんなアラートをどのようなグループに通知するかを明確化し、発報テストを何回も行うことで、24時間、いつでも対応できる運用までこぎ着けることができました」(小山氏)。最初はなじみがなかったマップ機能も、「グループ全体でどういった障害が起こっているかを管理することができ、アラートの根源を探すのがとても楽になりました」といいます。

「導入してまだ数ヶ月ですが、Zabbixでしか把握できない値がけっこうあります。Zabbixサーバのおかげで解決した問題も多く、安定した業務に欠かせない存在になっています」(小山氏)。そして今後はAnsibleを組み合わせた自動インストール・バージョンアップや予測監視にも取り組んでいくほか、認定スペシャリストの資格取得にもチャレンジするそうです。

オンプレミスで実現してきた監視要件をクラウドに移行させたセゾン情報システムズ

セゾン情報システムズ カスタマーサービスセンターの伊原翔馬氏は、「オンプレ監視のクラウド移行におけるZabbixでの体験談」と題し、これまでオンプレミスの環境で運用してきた監視を、Zabbixを利用してどのようにクラウドに対応させたかを紹介しました。

セゾン情報システムでは、システムやネットワークの障害検知や対応を場所を問わずに行えるクラウド型の監視サービス「SAIMON」を提供しています。サーバやWebサイト、クラウドサービスを24時間365日体制で監視し、Webダッシュボードを用いて状況を確認できるようにするほか、異常があればメールやSlack、電話で通知を行うサービスです。このSAIMONで活用されているのがZabbix 4.0となります。

クラウドに対するニーズの高まりを踏まえてリリースされたサービスですが、「当初は、クラウドネイティブなSaaS型監視製品の利用を検討していました。しかし、オンプレミス時代からの監視要件を維持しつつクラウドに対応可能ということで、OSSのZabbixを利用したクラウド対応監視サービスを開始することになりました」(伊原氏)。監視機能を提供するOSSの中で最も開発が活発でユーザーコミュニティの活動も盛んであることから、疑問点も自己解決できること、Zabbix Japanのサポートサービスがあり、日本語、日本時間でのサポートが受けられることも選定理由となったそうです。

導入に当たっては、「ログ監視において検知したエラーログはもれなく通知する」「ログのフィルタリングが可能であり、監視から除外する文字列の指定が可能である」「大量アラートが発生した場合にはアラート通知を抑止する」という、オンプレミス環境でも実現してきた3つの監視要件をすべて満たす必要がありました。そこで伊原氏らは、ログ監視のトリガーや条件式を工夫し、カウント関数、依存関係を活用することでこうした要件を実現したといいます。

SAIMONでは今後、Zabbix 5.0への対応を予定しているそうです。さらに監視設定手順を効率化するため、正規表現をZabbix APIで設定する機能をぜひ実装してほしいとのリクエストもありました。

北海道医療団で北海道胆振東部地震のブラックアウト対応にも大活躍したZabbix

公益財団法人北海道医療団 帯広第一病院 情報システム室 医療情報技師の清水圭介氏は、「医療の現場を陰で支えるZabbix」と題し、豊富な実体験を交えながらZabbix活用のポイントを紹介してくれました。

北海道医療団では帯広第一病院を中心に、クリニック、老人保健施設、ヘルパー施設、訪問看護ステーション、地域包括支援センターを運営しています。同氏が在籍する情報システム室では、同氏も含めた3名で、法人全体のネットワークやシステムの運用を支援してきました。

医療業界を見渡すと、医師や技師、薬局など現場の意見が優先されがちでシステム部門にあまり権限が与えられないことから、部局ごとにさまざまなシステムが散在し、ICT化が遅れていると言われます。そんな中で清水氏は、「医療機器でも、Windowsサーバなど少しでもIT機器が関わるシステムの導入には出しゃばり、時間をかけて関わってきました」そうです。

というのも、すべて現場に任せてしまうと、知らないうちに野良アクセスポイントが設置されて電波干渉が発生したり、スイッチが勝手に設置されてループが発生したり……といったトラブルが発生するリスクがあるからです。そこで「少しでもITが関わるシステムの導入に関わり、導入時からZabbix監視を想定し、SNMPを設定してもらうなど、医療機器メーカーとの交渉に積極的に参加しています」(清水氏)という形で、トラブルを未然に防いでいる。

Zabbixを導入することになった直接のきっかけは、シスコシステムズ製スイッチの発熱が原因と思われる障害が複数箇所で立て続けに発生し、医事システムで請求業務ができなくなるなど、業務に影響が及んでしまったことでした。「この障害を機に、現場を止めることなく障害を予防できないか、もっと早く発見できないか、故障の原因は何かを追求できないかと考え、Zabbixの構築を始めました」(清水氏)

監視基盤実現の方法は、とてもリーズナブルで現実的です。以前、医療用画像システム(PACS)を運用していて引退したサーバにメモリを増設してZabbix 5.0.5を導入して主系とし、同時に仮想マシン上に予備系としてZabbix 5.2.1を導入。Active-Active構成で404のホストに対し、アイテム数3万7967、トリガー数8373もの設定で監視を行っています。

システムを運用していると、現場からは「何だか重いんですけれど」といった具合に、原因ははっきり分からないが何かがおかしい……といった問い合わせがしばしば寄せられるそうです。そんなときにはZabbixのダッシュボードを見ながら、「ネットワークは正常でサーバの障害もなし、負荷はどうなっているだろうか……」と調査を進めることで原因が見えてきます。

過去には、Zabbix上でPingが時々切れるといった現象をたどっていき、気付かないところに設置されていたWi-Fi中継器が原因だったと判明したケースもありました。また、医療機器はもちろん、電子カルテや再診受付機、自動精算機などIPアドレスが付いている機器はすべて監視対象となっており、「休診日に再来受付機が動いていたなど、見えていなかったバグを発見できることもあります」(清水氏)

さらに、ネットワーク機器の更新・移行をスムーズに進める際の疎通確認の手がかりとしてもZabbixを活用しています。導入作業を支援するメーカーや通信会社のエンジニアと、作業の節目ごとにZabbix上の情報を共有、確認することで、その場でつぶせるトラブルを解決し、確実に、安心して導入を進めることができたそうです。

2018年9月に発生した北海道胆振東部地震では、北海道の広範な地域でブラックアウトが発生しましたが、このときにもZabbixは大活躍しました。地震発生直後、清水氏はまずスマートフォンからVPN経由で病院に接続し、Zabbixで機器の状態を確認。重要なサーバやネットワークは稼働していることを把握した上で病院に急行し、あらためてZabbixの画面で状況を詳しく調査したそうです。そして、サーバが停止・再起動した形跡がなく、アクセスポイントも稼働していることを確認した上で、臨時に立ち上げた対策本部に状況報告と今後の対策方針を連絡しました。

「真っ暗な中、現場を見て歩き、機器のランプを見て動作を確認するというのは困難でした。Zabbixがなかったら、おそらくこんなに自信を持って『アクセスポイントは稼働しています、電子カルテのサーバはOKです』と言えなかったでしょう」(清水氏)

自身の経験を踏まえ、「Zabbixは自分で構築できますし、始めるのに大きな予算獲得もいりません。古くなったパソコンやそろそろ廃棄扱いになるサーバにLinuxを入れ、Zabbixのセットアップをやってみましょう」と清水氏は言います。分からないことが出てきたときには、インターネット上のさまざまな知見が活用できるため心配はいらない、という経験者ならではのコメントです。

「ネットワークトラブルなどの管理はZabbixに任せて、Zabbixで働き方改革を実現しましょう。緊急時はもちろん対応が必要ですが、おおよそは軽度なことで済みます。Zabbixで日々の障害予防から始めましょう」と清水氏は述べ、新型コロナウイルスと戦う最前線でもある医療業界で、Zabbixがよりスタンダードになってほしいと期待を寄せました。

文:フリーライター 高橋 睦美 様
  1. 過去約20年の方針をブレずに継続ーー「Zabbix Conference Japan 2020」ハイライト
  2. 技術の不思議からZabbixの真価が発揮された事例まで、全セッションダイジェストレポート
ブロンズスポンサーおよび認定パートナーの株式会社アークシステムによる開催レポート、認定パートナーの株式会社インターネットイニシアティブ 樣によるレポートならびに寺島へのインタビュー記事は、以下よりご覧いただけます。
カンファレンスへ戻る