システム運用環境における商用ツールとOSSの比較
システムを監視するツールは、国内においても商用製品からOSS(オープンソースソフトウェア)を利用する企業も増えています。
商用製品は提供機能範囲も広く、またメーカーから手厚いサポートが受けられるというメリットもありますが、近年、仮想サーバーが増加するシステム環境では、監視対象数に応じたライセンス料や保守費用を支払うことが大きな足枷となっている企業も少なくありません。
また、商用製品はメーカーがサービスを終了したり、サポートを打ち切ったりすると使用の継続が難しくなる場合があります。
一方、OSS製品を選定した場合、限定された機能で充分とライセンス費用が掛からない等のメリットからOSSを選定したにもかかわらず、今までの運用の流れや対応方法の見直しをしないで利用を始めると、現場からは“今迄のやり方と違う”、“そのような機能では使えない” など、日本特有の大幅なカスタマイズ要求が出てきて対応することで、開発時間、コスト等でOSS採用メリットが少なくなってしまうこともあります。
OSSならば、技術を持ったユーザーがいる場合には、メンテナンスも行われ、利用が継続されるのです。(※OSSに技術を持った人材は重宝されるので引き抜かれるなどの危険は多い)
欧米企業などとは異なり、国内企業の多くは、長年SI会社にシステム開発を依頼してきた歴史もあり、ソースコードが公開されていても、カスタマイズしたり、問題発生時に対応できる人材がいないという環境の違いが、OSS採用メリットを活かしきれない結果につながる原因の一つと思われます。
国内においても、費用は発生しますがOSSを開発・サポートする企業も増えています。
商用製品とOSS製品のメリット/デメリットを十分調べ、自社に照らし合わせどちらの製品が良いのかを考えなければなりません。
今回のコラムでは、OSSにおけるシステム監視ツールのデファクトスタンダートと言える「Zabbix」に関して少しお話をしていこうと思います。
Zabbixとは?
Zabbixとはオープンソースの統合監視ソフトウェアのことです。
サーバやネットワーク、アプリケーションからミドルウェアに至るまでを幅広くリアルタイムで監視します。
ZabbixはSNMPやIPMIなどの多くのプラットフォームに対応していたり、シンプルな操作性やオープンソースソフトウェアにより費用を抑えたりすることが可能なため、様々な企業や組織で運用されています。
本記事ではZabbixでできる事や導入方法、よりZabbixを効率よく運用する方法を紹介していりますので、ぜひ最後までご覧ください。
Zabbixで監視可能な項目
まずはZabbixで監視可能な項目について紹介します。
Zabbixでは様々な項目の監視ができ、主に以下の項目が監視可能です。
- CPU: CPUの使用率やロードアベレージ
- メモリ:メモリの使用率や使用量、スワップ使用量
- ネットワーク:ネットワークトラフィック
- ディスク:ディスク使用量やディスクI/O
- サービス:Windowsサービスやプロセス数
- ログ:テキストログやWindows イベントログ
- ファイル:ファイルの有無やサイズ
- Web:ステータスやダインロードスピード、対応時間
- その他:WindowsパフォーマンスカウンタやVMware、スクリプトによる拡張
Zabbixの主な機能
本項目ではZabbixの主な機能について紹介します。
Zabbixの主な機能は次の3つです。
- 障害検知・アラート送信
- グラフィカル表示機能
- その他の機能
それぞれ順番に紹介していきます。
障害検知・アラート送信
次に紹介するのは障害検知・アラート送信についてです。
Zabbixでは監視中に障害が発生した際、即座に設定した閾値(しきいち)と比較しを行い、アラートを通知します。
これにより、発生した障害に対して素早い対応が可能となるため、業務に与える影響を最小限に抑えることが可能です。
さらに、予めスクリプトや対応方法などを設定しておくと、実際に障害発生した際、設定
通りに実行してくれます。
グラフィカル表示機能
続いて紹介するのはグラフィカル表示機能になります。
グラフィカル表示機能は監視データをグラフや表にして視覚的に確認できる機能です。
複数の監視データを複合させたグラフや、期間を指定したグラフの動的生成が可能で、必要な期間のデータをすぐに確認できるなど目的に合わせて作成できます。
グラフ上でのドラッグアンドドロップ操作により、データ範囲の調整や拡大、縮小操作が簡単だったり、複数のグラフを一画面で表示することで現状の把握や状況確認がスムーズに行えたりします。
その他の機能
最後にその他の機能について紹介します。
Zabbixは上記機能の他にもIPv6への対応から、監視対象サーバーや監視項目のグループ管理、ユーザーやユーザーグループの管理機能も提供しています。
特定の範囲の監視対象を自動検知するディスカバリ機能も備わっているため、設定の手間を大幅に省くことが可能です。
複数の監視、閾値、グラフ設定を一括で管理可能なテンプレート機能を備えており、監視がより効率的になります。
さらに大規模システム向けのZabbixプロキシサーバーを導入することで監視データの収集と処理の分散ができ、システム負荷の分散と拡張性の向上につながります。
ここまでがZabbixの主な機能になります。
様々な機能を備えているため、導入した際の運用の幅がさらに広がるのではないでしょうか。
次の項目ではより踏み込んだZabbixの特徴について解説していきます。
Zabbixの特徴
Zabbixはサーバー、ネットワーク、アプリケーションを監視するソフトウェアで、GPLv2ライセンスで提供され全ての機能を無料で利用できます。
- <主な機能>
- ■サーバやネットワークなど接続されたデバイスを監視する機能
■収集データよりグラフ、マップを作成し表示する機能
■監視項目に対して閾値を設定し、障害/復旧時の通知を行う機能
OSSでありながら、サポート、トレーニング、コンサルティング、パートナープログラムなどの公式サービスが提供されています。
Zabbixの構成
先の項目ではZabbixにはどういった機能があり、何ができるのかについて説明しました。
本項目ではZabbixがどのように構成されているのかについて紹介します。
主な構成内容は次の4つです。
- Zabbixサーバ
- Zabbixエージェント
- Zabbixエージェント2
- Webインターフェイス
それぞれの特徴を順番に解説していきます。
Zabbixサーバ
Zabbixサーバは監視システムの中心となるソフトウェアとなります。
監視設定や情報の収集・保存、障害発生時に閾値を判定しアラートの通知から監視の実行を行います。
他にもデータベースへ蓄積した各種データや設定内容の保存も可能であり、これらはWebインターフェイスから一括で管理することが可能です。
Zabbixエージェント
Zabbixエージェントは監視対象となっているサーバー上で動作しています。
Zabbixサーバの設定したコマンドに沿って内部のリソース情報やアプリケーションの稼働情報を収集しサーバへ送信します。
Zabbixエージェントは様々なOSやアーキテクチャに対応しているため動作が非常に軽量であり、さらにファイアーウォール越しによる監視も可能です。
Zabbixエージェント2
Zabbixエージェント2はZabbixバージョン4.4系以降に新たに追加されたモジュールになります。
従来のものは軽量なC言語を使用して開発されていましたが、プラグイン機能による監視性能の拡張や監視、データの収集などのパフォーマンスの向上を行うためGo言語で作成したものです。
これにより柔軟で拡張性のある監視ソリューションの提供が可能になります。
Webインターフェイス
ZabbixのWebインターフェイスはPHP言語を使用し開発されており、ApacheやNginx
上で動的なWebアプリケーションとして確認できます。
GUIを使用しているため監視条件の設定やアラート情報を視覚的に把握が可能です。
そのため監視対象のサーバやネットワークの状況を一目で確認でき、効率的な監視と管理が実現できます。
上記内容がZabbixの主な構成内容とその特徴になります。
構成内容を確認することで、導入した場合のイメージが付きやすくなったのではないでしょうか。
次の項目ではZabbixを導入する際の流れについて解説していきます。
Zabbix導入イメージ
これまでの項目でZabbixがどのようなものかご確認いただけたのではないでしょうか。
本項目ではZabbixを導入するにはどのような手順で行うのか紹介しますが、先に確認しておきたい項目があります。
それが次の4つです。
- ハードウェア:監視対象の規模に応じたサーバーを準備できているか
- オペレーティングシステム:Linuxを準備できているか
- データベース:MySQL、PostgreSQL、SQLiteのいずれかが準備できているか
- Webサーバー:ApacheまたはNginxが準備できているか
Zabbixを運用する際、これらが必要になりますので事前に確認しておきましょう。
それではZabbixの導入について解説していきます。
はじめに、監視対象として選定したサーバに、Zabbixサーバのインストールを行います。
ZabbixではLinuxでの運用が推奨されているため、そちらの環境上で動作させることが多いです。
次に監視データを保存するためのデータベースの設定を行いましょう。
主に使用されるのはMySQLやPostgreSQLなどが多いです。
データベースの設定が完了したら、Webインターフェイスの構築に移ります。
ZabbixのWebインターフェイスはApacheやNginxを使用して構築します。
これにより、監視データの確認や閲覧が容易になります。
Webインターフェイスの構築の次はエージェントの配置を行います。
それぞれの監視対象にZabbixエージェントをインストールし、Zabbixサーバーと連携します。
こうすることで、リアルタイムでのデータ収集・蓄積が可能です。
設定を変更することでCPU使用率、メモリやディスクの使用量、ネットワークトラフィックなどの収集も可能になります。
エージェントの設定まで完了しましたら基本的な設定は終了となりますが、最後にもう1点、監視テンプレートの適用について紹介します。
Zabbixには予め定義されたテンプレートが多数用意されており、これらを上手く活用することによって素早く監視設定を行うことも可能です。
またテンプレートを利用することで、一貫した監視設定を簡単にできます。
以上がZabbix導入の流れになります。
インストールするにあたって必要なものもありますが、Zabbixの導入は企業のITインフラを支える強力な助けとなるでしょう。
Zabbixの稼働プラットフォーム
Zabbixは、Linuxをはじめ、AIX、HP-UX、Solaris、FreeBSD、OpenBSD、Mac OS X、
Windows 2000、XP、2003、Vista、2008、7など、さまざまなプラットフォームで稼働します。
サイバートラスト株式会社がZabbixを機能強化したエンタープライズ向けにMIRACLE Linuxで稼働する「MIRACLE ZBX」もその1つです。
国際標準のセキュリティガイドライン(「NIST SP800-171」および「NIST SP800-53」の一部要件)に準拠しており、豊富なシステム監視機能を簡単に導入できる仮想アプライアンス(専用機器)もラインナップされています(オンプレミスでもクラウドでも統合監視を可能にする)。オープンソースのZabbixではサポートに不安に思う企業に対し、Zabbix技術者を多く抱えるサイバートラスト株式会社では、MIRACLE ZBXを最長10年のサポートを提供することが出来ます。これにより、Zabbixにおけるサポートの不安を腐食し、監視対象台数に依存しないシンプルな価格体系により導入コスト・運用コストを大幅に削減できます。
次の項目では、そんなZabbixをより効果的に運用できるソフトウェア「SHERPA SUITE」について解説します。
Zabbixの連携運用ソリューションソフトウェア「SHERPA SUITE」とは?
これまでの項目でZabbixの有用性は確認できたのではないでしょうか。
本項目ではZabbixの監視システムをさらに効率的に運用するために「SHERPA SUITE」をおすすめします。
「SHERPA SUITE」はオープンソースを活用した運用ソリューションとなっており、これによりシステム運用のさらなる効率と品質の向上やコスト削減につなげることが可能です。
「SHERPA SUITE」には
- SHERPA-IR
- SHERPA-SM
- SHERPA-JB
の3つのソリューションがあります。
SHERPA-IRでは、様々な監視ツールから送信されるアラートをすべて自動制御・管理が可能です。
SHERPA-SMでは、監視ツールから送られてくるアラートメールを読み取り、インシデントの自動登録を行います。
SHERPA-JBでは、バックアップやファイルの転送などの定期作業、障害の対応やシステムの修復といった障害復旧作業をジョブネットを通して自動化させることができます。
各種ソリューションをより詳しく確認されたい方は下記リンクよりご確認下さい。
SHERPA SUITE
Zabbixの監視システムにこれらのソリューション「SHERPA SUITE」を導入することにより、障害発生時における監視システムの品質のさらなる向上につなげることができるでしょう。
まとめ
Zabbixとはどういったもので、何ができるのかやZabbixの導入方法から効率よく活用する方法を紹介しました。
Zabbixの統合監視システムは監視のみではなく、データの収集や保存、蓄積ができるほか、閾値の比較による早急なアラート通知からグラフなどによるデータの見える化
といった様々な機能を備えています。
企業のITインフラを効果的かつ効率的に運用する手段であり、今後の成長を支えるIT基盤の構築にもつながるのではないでしょうか。