サーバー、ネットワークならびにアプリケーションを監視するオープンソース・ソフトウェアであるZabbix。

統合監視に必要な監視、障害検知、通知機能を備え、世界中で多数の導入実績を誇っています。システム全体をZabbixひとつで監視することが可能であり、他の監視ソフトウェアと比較しても絶大な人気を博しています。

Zabbixとは?

Zabbix」とは、オープンソース・ソフトウェア(OSS)の統合監視ツールです。

  • オープンソース・ソフトウェアで開発されており、無料でダウンロード、ご利用いただけます。
  • 開発主体はコミュニティではなく「Zabbix」という企業です。エンタープライズ利用や商用サポートの姿勢を明言しています。Zabbixは、Zabbix LLCの登録商標です。
  • 世界的にも認知度が高く、日本国内ではOSSの監視ツールのデファクトスタンダードとなっています。
  • 監視対象プラットフォームは、Linux / Windows / 各種商用UNIX / SNMP 対応ネットワーク機器と幅広く対応しています。

Zabbixデモ動画

デモ動画にて、Zabbixの機能概要をご覧いただけます。
音声は英語ですが、下部メニューのCC(キャプションを選択)ボタンから日本語字幕をお選びいたけます。また、表示されているZabbixの画面は英語表示になっていますが、実際にZabbixをご利用いただく際には日本語で表示できます。

Zabbix 利用におけるメリットとデメリット

Zabbix利用におけるメリット・デメリットについては以下のとおりです。

Zabbix利用におけるメリットと優位性

  • オープンソース(OSS)であるがゆえに自由に構築・利用が可能である。
  • 規模感として、万単位のノード監視に耐えうるスケーラビリティを有する。
  • 主要な商用監視製品とほぼ同等の監視機能を持ち、関数や正規表現を用い、複雑な監視条件を設定できる。
  • 収集したすべてのデータ(イベント情報、性能情報)は、Zabbixサーバー上のデータベースに保管する仕組みであり、中長期的な分析に活用することも可能になる。
  • 企業での本格的な利用の際、必要に応じてZabbix LLC、Zabbix Japan LLCおよびZabbix認定パートナー各社から公式サポートを受けられる。
  • サポート費用はZabbixサーバー(+Zabbixプロキシ)毎であり、監視エージェント(監視ノード)の数に依存した費用が発生しないため、大規模環境においてもサポート費用が安価となる。
  • Zabbixに機能の不足・不備がある場合、Zabbix LLCおよびZabbix Japan LLCに改修・追加機能要望を上げることが可能。
  • 上位有償サポートの契約が前提となるが、特殊要望でないこと、かつZabbixの開発ロードマップに沿った内容の場合は要望を上げることで改修の優先度や速度を上げての対応が可能(※)である。
    ※ 特殊要件の場合、Zabbix LLCおよびZabbix Japan LLCによる個別開発が不可能な場合もある。

Zabbix利用におけるデメリット

  • ダッシュボードと呼ばれるページが監視画面の基本となるが、オペレータが慣れ親しんでいる商用製品の監視画面と比較すると分かりにくい。
  • 何でもできる自由度がある反面、要望に特化した製品(例えば性能管理製品など)と比べるとビジュアル面・機能面で不足がある場合もある。

一般的な監視目標に対するZabbixでの実現度評価

一般的な監視目標に対して、Zabbixでの実現度は以下のような評価です。

運用メニューをシステム化し、労力削減、高度運用が可能となる環境を構築する

  • ① 死活監視(ICMP Ping)
  • ② リソース監視(CPU、メモリ等)
  • ③ プロセス監視
  • ④ ログ監視

Zabbixの標準機能で監視ができます。

Zabbixの標準機能で実装できます。
サーバーの場合はZabbixエージェントを用いた監視、ネットワーク機器の場合はSNMPポーリングを用いた監視ができます。

Zabbixの標準機能にて、プロセス起動数、ポート生死確認によるプロセス監視ができます。

Zabbixの標準機能で実装できます。
Linux / Windowsなどのサーバーの場合はZabbixエージェント(アクティブチェック)を用いた監視、ネットワーク機器の場合は、rsyslogなどでログを転送してZabbix側で読むことにより監視ができます。

運用の人的依存度を下げ、標準的かつ安定的な運用環境を構築する

  • ① 異常時のメール発報
  • ② インベントリ管理
  • ③ インシデント管理

Zabbixの標準機能で実装できます。

SNMPポーリングにて収集できる情報(ネットワーク種類など)をインベントリ情報として登録できます。
OSの場合は、上記に加えZabbixエージェントを利用し情報収集用にアイテムを作成することで、アイテムが収集した情報をインベントリ情報として登録できます。現在は収集した情報をCSV出力する情報がないため、一覧表などを作成したい場合は別途、機能を開発する必要があります。

Zabbixにはインシデント管理の仕組みがないため、OSSのチケット管理の仕組みを組み合わせての対応が現実的と想定しています。

「効率的な運用」に関するポイント

Zabbixの活用によって実現できる「効率的な運用」に関するポイントを簡単にまとめました。

  • ① 監視テンプレートの活用
  • ② ローレベルディスカバリ(LLD)の活用

Linux サーバー、Windows サーバー、ネットワーク機器の標準・共通となる監視項目をテンプレートにすることで、監視対象が増えた際に基本的な監視項目であればすぐに設定できます。

サーバー内のファイルシステムやネットワークインターフェースの増加に対応し、自動でアイテム、トリガ、グラフを追加させることができます。JSON形式で扱えるもの(例:Oracle インスタンスなど)であれば、Zabbix上で認識できます。

監視設定の効率化・自動化による労力削減

Zabbix 標準外監視の追加

Zabbix エージェントとユーザーパラメーター、(自作の)監視スクリプトを利用することでZabbix標準外の監視処理を構築できます。
例)Oracle性能情報、Apache性能情報取得などのミドルウェア監視。

外部プログラムとの連携

Zabbix APIを活用することにより、下記を実現できます。

  • Zabbixサーバー上に保管されているイベント情報の取り出し。
  • 各監視設定を外部プログラムから実施することによる自動化や定型化。
他製品との連携

例えば当社では、Windows監視に強い製品との連携により、イベントログの複雑な監視要件を実現しています。

運用フェーズへのスムーズな移行

構築フェーズから運用フェーズへスムーズに移行するためには、必要ドキュメントの準備、スキル移管やQ&A対応手段の確立などの事前準備が必要です。

Zabbix監視環境構築の実装イメージ

一般的に想定される、Zabbix監視環境構築の実装イメージを簡単にまとめました。

基本方針

一般的なシステム監視をZabbixで実装する。

スコープ

  • 監視要件の確認~Zabbixによる監視設計~導入・構築・単体テスト~運用移管までをスコープとする。
  • 運用移管に伴うドキュメントひな形を入手する。運用に必要な整形、オペレーションマニュアルを作成する。
  • 受け入れ試験(UAT)時の分担を決定する。(シナリオの準備、試験実施、立ち合い、不具合の修正など)
  • スムーズな運用移管を実現するためにスキル移管、課題対応、Q&A対応方法を決定する。

機能概要

Zabbixの標準機能で実装する監視
  • サーバー死活監視(ping)
  • ポート監視
    • 死活監視の要件となっている対象デーモン(ftpd / httpd / https / ssh / mysql)については、該当ポート監視および、下記のサービス監視を実装することで対応する。
  • サービス監視
    • httpd / tomcat / mysqld / ftpd /sshd について、存在確認の監視をする。
    • URL監視は、Topページに対して定期的にアクセスし、戻り値やレスポンスを測定。
  • リソース監視
    • ロードアベレージ / CPU使用率 / メモリ使用率 / DISK使用率 / サーバーNICのトラフィック状況を監視。
      ※ Apache統計情報およびMySQL統計情報はZabbixの基本機能では実装できないため、別項目に記載。
  • ログ監視
    • /var/log/message、/var/log/secure、その他ミドルウェアが出力するログを監視する。
  • ネットワーク監視
    • SNMPポーリングベースの監視を構築。
  • VMware ESXiハイパーバイザー監視
Zabbix標準機能では対応できず、追加実装+Zabbix連携で対応する部分
  • 例)Zabbix 上のイベント情報の取り出し
    • Zabbix APIを経由し、CPU / メモリなどのリソース情報をCSV形式として取り出す処理を実装する。
  • 例)Apache / MySQL / Oracle統計情報
    • 統計情報の収集は個別にスクリプトを実行し、結果をZabbixサーバーに送る処理を実装する。
障害通知
  • Zabbixのアクション機能でメールを送信することで、運用担当者に通知する。

株式会社アークシステムはZabbix Japan LLCの認定パートナー企業です。
Zabbixに関する製品・サービスの販売に加え、Zabbix関連サービスの提供をしています。
(2018年度からZabbix認定パートナー幹事企業の1社として活動しています。)

運用管理技術のプロフェッショナルであるアークシステムが
Zabbix環境におけるさまざまな課題を解決いたします

当社の価値はお客様のビジネスを支える高度なIT技術や運用基盤の提供にあります。
お客様の課題や問題意識を受け止め、IT戦略/企画の立案、実行性のある計画作成から運用整備とデリバリーまで、さまざまな形態のサービス提供をしています。これまで培った運用管理技術とZabbix技術の豊富なノウハウと実績をもとに、実運用に耐えうる高品質なZabbix環境の構築や課題解決をいたします。