支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Zabbixとは?詳しく解説させてい

Zabbixの概要

ここでは、Zabbixについて詳しく解説させていただきます。 Zabbixはオープンソースのネットワーク管理ソフトウェアであり、 Alexei Vladishev氏(現CEO)によって開発が行われました。 Zabbixは2004年にリリースされて以来、多くの企業に導入されている統合監視ツールであり、 オープンソースのネットワーク管理ソフトウェアとしては世界でトップクラスのシェアを誇ります。 Zabbixの役割はネットワークやサーバー機器の状態を把握し正常に機能しているか監視を実行し、 トラブルを検知した際に通知を行う事となります。 Zabbixの特徴としては、総合監視ツールとしてサーバ・ネットワーク・アプリケーションを 一元的に管理することが可能であることです。 また、Webブラウザ上で簡単に操作が可能であることや、データを柔軟に活用できる点も高い評価を獲得しております。 障害検知機能やデータをグラフィカルに表示する機能など他社製品と比較した際に多くの優れた機能を備えており、オープンソースのシステム監視ソフトウェアではデファクトスタンダートと言ってもいいでしょう。 また、近年ではZabbixはクラウドサービスとの比較がされるケースも多いですが、Zabbixは従来のオンプレミスだけでなくクラウドも監視対象である点や、 オープンソースなのでカスタマイズが自由である点や拡張性に優れている点を理解しておくといいでしょう。 Alexei Vladishev氏は毎年行われているZabbix社主催の「Zabbix Conference Japan」に登壇し講演を行っております。 「Zabbix Conference Japan2019」では、オープンソースソフトウェアの動向について の見解を述べ、クラウドベンダーに対応するためオープンソース提供元企業やコミュニティーが 様々な動きを見せていることに対してZabbixは従来通りのオープンソースで機能開発に取り組んでいく姿勢を見せました。 クラウド化が進む中でZabbixは様々な機能のバージョンアップを行っており、今後の動向について注目したいところです。 日本でも多くのシステムに導入されており、実績が豊富なZabbixについて詳しく解説させていただきますので、 是非参考にしていただけましたら幸いです。

Zabbixの構成

Zabbixの構成について説明させていただきます。 Zabbixを構成する「Zabbixサーバー」「Zabbixプロキシ」「Zabbixエージェント」に ついて説明させていただきますので、参考にしてみてください。

Zabbixサーバー

Zabbixの構成の一点目がZabbixサーバーとなります。 Zabbixサーバは、Zabbixsソフトウェアの中核を構成する部分となります。 すべてのデータが保存され、データ収集・保存・蓄積する監視マネージャの役割を果たします。 監視設定や収集データはZabbixサーバーに保存されることなり、管理者はWebインターフェースから一元管理することが可能です。 監視対象システムにおいて障害が発生した際に管理者に対して警告を実行する機能を持ちます。

Zabbixプロキシ

Zabbixの構成の二点目がZabbixプロキシとなります。 Zabbixプロキシは監視デバイスから監視データを収集し Zabbixサーバーに対して情報を送信する役割を持ちます。 プロキシの実行はオプションとなりますが、単体のZabbixサーバの負荷を分散させる役割があり、 プロキシのみでデータを収集しているケースにおいてはZabbix サーバ上の処理は、CPUの消費とディスクI/Oを減らすことができます。 プロキシは大規模環境などの監視に実行されるケースが一般的な導入方法となります。

Zabbixエージェント

Zabbixの構成の二点目がZabbixエージェントとなります。 Zabbixエージェントは監視対象上において動作させることで、 ハードウェアデバイス、メモリ、プロセッサの統計などの情報をZabbixサーバーに送信を行います。 Zabbixエージェントにおいては、パッシブチェックとアクティブチェックの二通り存在します。 パッシブチェックはデータの要求に対して応答し、Zabbixサーバがデータを要求(例えばCPU負荷のデータ)するとZabbixエージェントがそれに対して監視デバイスの結果を返信します。 アクティブチェックはより複雑な処理を実行します 。Zabbixエージェントは最初にZabbixサーバからアイテムのリストを取得し、更新された値をサーバに定期送信する形になります。

Zabbixの特徴について

Zabbixの特徴について3つにポイントを絞り説明させていただきますので、参考に してみてください。

オープンソース

Zabbixの特徴の一点目がオープンソースであることです。 特定のベンダーに依存することなく、ライセンス不要で無償で機能を利用することが 可能となります。オープンソースであることから拡張性の高さやカスタマイズ可能である点も 管理者にとっては大きなメリットと言えるでしょう。 また、コミュニティーを活用することでより有効な活用方法や情報を 無料で取得することができる点も魅力です。

データ活用

Zabbixの特徴の二点目がデータ活用となります。 Zabbixでは取得したデータをリレーショナルデータベースに保存し 監視データをグラフやレポートといった形で活用することができます。 自由にカスタマイズすることも可能ですので、管理者がデータベースを活用しやすいように インターフェースをカスタマイズすることや改善することが可能です。

操作性

Zabbixの特徴の三点目が操作性となります。 Zabbixのダッシュボードではグラフィカルな画面と高い操作性を実現します。 ダッシュボードではシステム全体のサマリを監視することが可能であり、 折線グラフ、積算グラフ、円グラフでのデータ表示や 事前に監視対象に対して登録したコマンドを実行する機能など 高品質な監視環境を提供します。

Zabbix 5.0について

Zabbix 5.0について説明させていただきます。 Zabbix 5.0は2020年に行われたアップデートで、前回のアップデートから約一年半ぶりとなります。 バージョンアップにおいて追加された機能がある一方で、「Internet Exploorer 11のサポートを終了」「IBM DB2のサポートを終了」「暗号化通信の機能でmbedTLS(polerSSL)のサポートを終了 (OpenSSLとGnuTLSのみサポート)」「PHPのバージョン要件を7.2以降に変更」 といった点の変更がありますので注意が必要となります。 Zabbix 5.0 LTSにおいて追加された新機能はいくつかありますが、重要となるポイントに絞り説明させていただきますので参考にしてみてください。

次世代Zabbixエージェント

Zabbix 5.0における大きな機能追加として次世代Zabbixエージェントの説明をさせていただきます。 abbixは「Zabbixサーバー」「Zabbixプロキシ」「Zabbixエージェント」から 構成されている点についてはすでに本文で説明させていただきました。 ZabbixエージェントはZabbixサーバーに対して監視デバイスの様々な情報を 送るための重要な機能を持ちます。 Zabbixエージェントのバージョンアップと機能追加によって、従来よりさらに高いパフォーマンスを 実現することが可能となります。 Zabbix 5.0における新しいエージェントの特徴として、Go言語で開発されており はLinuxとWindowsできることがあげられます。 追加もしくは改善された機能としては「アプリケーション監視のためのプラグインのフレームワーク」 「監視データの取得状態 (永続的DB接続の維持など)の維持管理機能」「データの受信機能」 「柔軟な監視間隔設定」「一括データ送信によるトラフィックの低減」「収集した監視データをローカルに保持する機能」などがあります。 Vladishev氏は将来的な展望として「コードコントリビューター」を開始することも発表しており、 成果物が公式ソフトウェアとして採用されることを想定しておりZabbix の今後の進化にも注目しておく必要があります。

新しいプラットフォームとクラウド対応

Zabbix 5.0のバージョンアップで追加された点が 新しいプラットフォームとクラウド対応となります。 従来のプラットフォームに加え以下の環境を追加しました。 「SUSE Linux Enterprise Server 15」「Debian 10」「Ubuntu 20.04」「Raspbian 10」「Mac OS/X」 「RHEL 8」「CentOS 8」「MSI for Windows Agent」です。 また、パブリッククラウドサービスにおいてもZabbix 5.0を利用することが可能となりました。 大手のクラウドサービスを含め対応している環境は以下となります。 「AWS」「Azure」「Google Cloud Platform」「Digital Ocean」「Docker」「IBM/RedHat Cloud」 「Oracle Cloud」 以上がZabbix 5.0に追加された新しいプラットフォームについての説明となります。

信頼性の高い監視

Zabbix 5.0では従来のバージョンからさらに信頼性の高い 監視を実現するために様々な機能の追加を行いました。 アクションのWebhookでHTTPプロキシを利用可能となりました。これにより外部通知システムもしくはITSMシステムへの接続を容易に実行可能となります。 Zabbixエージェントにおいて、監視データ取得のリクエストに対する「ホワイトリスト」と「ブラックリスト」を使用することができるようになりました。 Zabbixサーバー、Zabbixプロキシ、Zabbixエージェント間の暗号化通信において、暗号化アルゴリズムを選択できるようになり、より強固なセキュリティを確保できます。 MySQL・PostgreSQLデータベースへの接続に暗号化通信が利用となりました。 ユーザーのパスワードハッシュ値により強固なSHA256が利用となりました。 以上が信頼性を高めるための機能追加の説明となります。

Zabbix公式トレーニングプログラムについて

Zabbix公式トレーニングプログラムについて説明させていただきます。 Zabbix公式トレーニングプログラムはlevel1~4まで設定されておりますので、 それぞれについて説明させていただきますので、参考にしてみてください。

Zabbix認定ユーザー

Zabbix公式トレーニングプログラムの一点目がZabbix認定ユーザーとなります。 level1は「Zabbix認定ユーザー」となり、Zabbixの基本的な監視機能の解説、監視データと障害の表示、 Webインターフェースの使い方を解説するトレーニングコースとなります。 コースプログラムとしては「Zabbixの概要」「バージョンとリリースポリシー」「Zabbixの機能」「Zabbixの用語」「Webインターフェースの基本操作」「ユーザーアカウントの設定」「ホストの表示」「監視データの表示とシンプルグラフ」「カスタムグラフ」「概要画面の表示」「Web監視の表示」「障害の表示と障害確認」 「マクロ」「マップの表示と作成」「ダッシュボードの表示と作成」「インベントリの表示」「サービスの表示と設定」「レポートの表示」「障害通知とリモートコマンドの概要」「エスカレーションの動作」「監視対象のメンテナンス」「Zabbix全体の表示設定」「認定試験」などを学習することが可能ですあり、Zabbix認定ユーザーとしてはエントリーコースとなります。 トレーニングの期間は一日で対象製品はZabbix 5.0となります。

Zabbix認定スペシャリスト

Zabbix公式トレーニングプログラムの二点目がZabbix認定スペシャリストとなります。 Zabbixの主要機能、インストール、設定、メンテナンス方法やZabbixの構築や運用に必要となるスキルを 理解することができます。 コースプログラムは三日に渡りトレーニングが行われます。 一日目は 「Zabbixの動作環境」「インストール環境の準備」「Zabbixサーバーの動作要件とインストール」 「Webインターフェースの動作要件とインストール」「Zabbixエージェント2の動作要件とインストール」 「ホストとホストグループの設定」「アイテムの基本設定」「ヒストリとトレンド 」「アプリケーション」 「基本的な保存前処理設定」「監視間隔のカスタマイズ」「Zabbixエージェントのアクティブチェック」 「ホストインベントリの自動登録」「トリガーの設定と障害検知、タグの利用」 「障害の手動クローズ」「トリガーの依存関係」について学習を行います。
二日目は「テンプレートの利用」「ユーザー定義マクロ」「XMLインポート/エクスポート」「ローレベルディスカバリの概要」「シンプルチェック」「Zabbixアグリゲート」「計算アイテム」 「SNMP監視」「SNMPトラップ監視」「ログファイルの監視」「Web監視」「HTTPエージェント」 「依存アイテムと保存前処理」「Ping/ポート監視(シンプルチェック)」について学習を行います。
三日目は「SSH/Telnetを利用したエージェントレス監視」「監視機能の拡張(ユーザーパラメーター)」「コマンドラインユーティリティ」「障害通知とエスカレーション」「リモートコマンド」「障害通知のスクリプト実行」 「内部イベント」「ユーザーとユーザーグループ」「監視対象のメンテナンス」「Zabbixサーバーの運用とパフォーマンス」「Zabbixのバックアップ」「認定試験」を行います。 要件はオペレーティングシステムの知識と上級コンピュータリテラシーZabbix認定ユーザーコース修了相当の知識となり、費用は150,000円(税抜)となります。

Zabbix認定プロフェッショナル

Zabbix公式トレーニングプログラムの三点目が Zabbix認定プロフェッショナルとなります。 Zabbix 4.0以降の認定スペシャリストコース修了証明書が受講条件となりますので注意が必要となります。 コースプログラムは二日となり、 一日目は「Webインターフェースのインストール (Nginx、HTTPS設定)」「高度な保存前処理の設定」「データベース監視」「Javaアプリケーションの監視」「ローレベルディスカバリ(ディスカバリルール、プロトタイプ)」 「高度なローレベルディスカバリ(オーバーライド、依存アイテム)」「ローレベルディスカバリの拡張」 「VMware仮想環境の監視」「ネットワークディスカバリ」「エージェントの自動登録」 を学習することになります。
二日目は「Zabbixプロキシによる監視」「高度なタグの利用(自動設定、イベントの自動クローズ、相関関係)」 「通信の暗号化と認証」「リアルタイムエクスポート」「Zabbixのパフォーマンスの考え方」 「ボトルネックの調査とパフォーマンスチューニング」「Zabbixのプロセスとキャッシュの概要」 「認定試験」が行われます。 Zabbix認定プロフェッショナルの費用は 100,000円(税抜)となります。

Zabbix認定エキスパート

Zabbix公式トレーニングプログラムの四点目が Zabbix認定エキスパートとなり、最上位クラスの認定資格となります。 プロフェッショナルとしてAPI、HA/DR、DBパーテショニングの専門的な技術を使ってデザイン性、高効率の維持、セットアップ搭載の知識やスキル を習得することが可能です。 一日目は「導入:Zabbixのソースコード」「管理:ZabbixにSELinuxを作成する」 「管理:SSLを使ってZabbixフロント-エンドを確保する」「データ収集:SNMPトラップをセットアップする」 「データ収集:IPMI」「データ収集: 外部チェックとLoadableモジュールを使用してのZabbixの拡張」 「設定: トリガーベースのイベントの相互関係」「設定: グローバルイベントの相互関係」 「管理: ADとHTTP認証係」「質疑応答」 について学習を行います。
二日目は 「ZABBIX API:概要」「ZABBIX API:データ取得」「管理:Zabbixデータベースのスキーマ概要」 「管理:MySQLパーティショニング」「管理:ハイパフォーマンスストレージエンジン(Elasticsearch)」 「管理:リアルタイムデータエクスポート」「データ収集:HTTPチェック」 「管理:ハイパフォーマンスHTTPサーバー(NGINX)」「質疑応答」について学習を行います。
三日目は 「データ収集:SNMPオブジェクトのLLD」「データ収集:JMXオブジェクトのLLD」 「データ収集:LLDルールのカスタム」「管理:Zabbixサーバのプロセス」「導入:高可用性と冗長性」 「認定試験」を行います。 要件はZabbix 4.0以降のZabbix認定プロフェッショナル証明書を取得していることで費用は180,000円(税抜)となります。

Zabbixの導入例について

Zabbixの導入例について説明させていただきます。 ここでは、「Abema」などを運営する株式会社サイバーエージェントにおける Zabbixの導入例を紹介させていただきます。 インターネット広告やスマートフォンゲーム、メディアなどの事業を展開する 株式会社サイバーエージェントでは事業の展開スピードが非常に重要視されております。 特にインターネット市場においてはサービスを市場に投入するまでのスピードが ユーザーの獲得やマーケットにおける位置を大きく左右するため非常に重要になってきます。 その中でも課題としていたのが新規サービスを開始する際のリソースであり、 特に開発サーバーを構築や監視を出来る方法が必要で、特に要件として新規サーバーを 追加した際に、自動的に監視対象を見つけ、柔軟かつ詳細に自動で設定ができる監視システムでした。 そういった中で要件を満たしていたのが Zabbixのサービスとなり、API、テンプレート機能やオートディスカバリー機能や自動化と相性がよいZabbixの長所を活かし、 サーバー構築や監視設定を簡単に自動化することに成功しました。 また、30台以上のZabbixサーバー、20,000以上のトリガー、60,000以上のアイテムの効率的な監視を実現することで重要なミッションであった自動化を達成することが実現できました。 以上が簡単ではありますが株式会社サイバーエージェントにおける Zabbixの導入例の説明とさせていただきます。 Zabbixの導入例として楽天証券株式会社も紹介させていただきます。 楽天証券株式会社はオンライン証券サービスを提供しており、 サービスレベルの担保は必須であり、ログインに支障が生じたり、売り買いの注文ができなかったりといった事態が生じれば、顧客は多大な損失を被ることになってしまいます。 そのため、停止時間を極限までなくしていくことでサービスレベルを向上させることや障害が起こっているのかいないのか、 起こっているとしたらどこに起こっているのか、それを回避する代替手段が何なのかを把握することが課題となっておりました。 このような課題に対して取り組みを行う際に採用されたのがZabbixとなります。 Zabbixを利用することでサーバー間のネットワークを多重化し、データベースに負荷が高まった際に即座に拡張するなど異なるプラットフォームの1,000台以上の機器を統合的に監視することを実現しました。 また、毎週行われている経営会議においてはZabbixで収集したデータを積極的に活用するなど 安定したシステム稼働を強みにしている点もZabbixを導入したメリットの一つと言えるのではないでしょうか。 以上が楽天証券株式会社のZabbixの導入例の説明とさせていただきます。

まとめ

いかがでしたでしょうか? Zabbixについて説明させていただきましたので、参考にしていただけましたら幸いです。