サーバー監視ツール3選とAWS監視ツールを比較しました


サーバー運用を行なっているエンジニアの皆様にとって、無くてはならないものであると同時に極めて厄介なものが監視ツールです。サーバーが何事もなく動いているかどうかの監視を行なってくれているという意味では非常に有用であると言えるのですが、万が一重大な障害を検出した場合、担当者は夜中であっても叩き起こされ、調査や問題解決に否応なく駆り出されることになります。

こんな時は「監視ツールのおかげでこんなことに」と思うようなこともあるのですが、よく考えれば監視ツールが動いていなければ状況はもっと悪くなって、業務への影響も大きくなっていたわけで、その意味では感謝すべきであることは疑いがありません。

このような重要な監視ツールですが、歴史は長く、今まで様々なものが開発され使用されてきました。そんな中で生き残っているツールは大きく2つのタイプに分けることができます。

一つは監視サーバーも、その上で動作する監視システムもどちらも自分で用意する必要があるタイプのものです。現在ユーザー数が多いのはZabbix、Nagios、Prometheus(Grafana併用)などで、OSSが多く、利用料金はかかりませんが、監視サーバーの構築や運用の費用はかかります。

2つ目のタイプとしては、監視サーバーはサービス提供元で管理し、監視システムだけを使うタイプのものです。AWSが提供するCloudWatchやMackerel、Datadog、Site24x7、System Answer G3等があります。クラウド上で提供されているサービスなので、簡単に開始することができ、監視サーバーの運用費用がかからないのが大きな利点です。

当記事では、AWSクラウド上に構築されたアプリケーション稼働サーバーを監視することを前提に、そのような監視ツールの中から最もポピュラーなもの3つを選び、機能やコスト等でのそれぞれの利点、欠点を整理して解説し、皆様の要件を考慮してどれを選べば良いのかを判断するための一助となればと考えております。

サーバー監視ツール比較

ここでは3つのツールそれぞれにまず特徴を説明し、さらに機能、導入難度、運用費用、将来性の面から利点と欠点を解説します。

Zabbix

グラフィカル ユーザー インターフェイス, テキスト, アプリケーション, メール

自動的に生成された説明

監視サーバーの構築が必要なタイプの代表であり、世界中に多数のユーザーを持つのがZabbixです。オープンソースソフトウェアで、最初のリリースから既に20年が経過し、歴史も長いので安心して使用することができます。

ユーザーのコミュニティも大きいので、何か問題や質問があった時にはコミュニティで質問すれば経験豊富なユーザーに助けてもらうこともでき、オープンソース系のツールの良い部分を活用できます。

機能

長い歴史の中でユーザーの要求によって機能追加や改善を行なってきたので、機能的には豊富で、安定性も高いことが特徴です。さらに独特な監視要件にも作り込みによって対応することができます。

監視のためのエージェントはどのようなサーバーでも稼働することができ、他にも監視対象にエージェントをインストールしない監視方式もサポートしているため、コミュニティで公開されているテンプレートと合わせることで、サーバーだけでなくネットワーク機器やNAS等のオンプレミス機器の監視を行うこともできます。

導入難度

監視のためのサーバーを構築する必要があり、Linux、UNIX OSにPHP、ApacheとMySQL等のデータベースもインストールする必要があります。そのため、立ち上げには環境の準備やサーバー構築、設定などの複雑な作業を行う必要があるため、コストと時間がかかります。

運用費用

なんといっても、全ての機能が無償で使用できることが最も大きな利点です。

しかし、監視サーバーの構築、運用費用がかかり、監視設定や作り込みのためのスキルを持つエンジニアも必要です。監視対象の数によって監視サーバーのリソースを拡張する必要もでてくるため全体的に見てコストは高くなります。

将来性

「作り込み系」の筆頭として、今後も人気は衰えることはなく、環境の変化に合わせて機能拡張も頻繁に行われると考えられていますので、将来的にも心配はないでしょう。

Mackerel

グラフィカル ユーザー インターフェイス, テキスト, アプリケーション, メール

自動的に生成された説明

近年、多くのSaaS型監視ツールが提供されるようになってきていますが、この多くが「簡単立ち上げ系」で、その中でもユーザーを増やしているのが「株式会社はてな」が提供しているMackerelです。

機能

Mackerelの機能で最も便利なのがAWS(Azure、GCPも可能)インテグレーションです。最初にいくつかの設定を行えばAWSの各サービスに対応した監視機能を自動的に有効にしてくれます。これによって、非常に簡単にクラウド環境のサービス監視を行うことができます。

サーバー監視に関してもエージェントのインストールによって各種のリソースの監視を自動的に行うことができます。様々な監視対象ごとの設定は公式プラグインを使用することで実現しています。

公式プラグインにはDB系、Webサーバー系、Docker等多くの種類が用意されています。設定等のヘルプやガイドも整理されており、ガイドの通りに設定すればある程度複雑な監視も行うことも可能です。

導入難度

ユーザー登録を行えばすぐに各種の機能を使用することができます。売りの機能であるAWSインテグレーションに関してはキーとなる情報を入力すればほぼ自動的にAWS側の設定と監視機能の有効化を行うことができます。

また、サーバー監視用のエージェントの導入スクリプトもコピー&ペーストで実行可能なので、基本的な監視機能を使うための立ち上げに必要なのは15分程度です。

運用費用

Zabbixのような監視サーバーは必要無いので、監視のためのサーバー運用や設定、パッチあて、アップグレード作業等のコストは必要ありません。利用料金はスタンダードプランで監査対象ホスト1台あたり1833円、ホスト数を限定したFreeプランもあります。

また、2週間の試用期間があり、全ての機能が使用できるので、その間に機能や使い勝手の確認を行うことができます。

気をつけなければならない事として、AWSインテグレーションを使用するとAWS側に追加でCloudWatchの利用料金が発生する場合があります。

将来性

今後もこのようなSaaS型の監視ツールの市場は拡張してゆくと言われています。今後このタイプのツールでの競争が激化した場合にキーとなるのは売りとなる機能や画面の使いやすさ(ユーザーエクスペリエンス)だと思われます。その意味ではMackerelの優位性はある程度保たれるのではないかと思われています。

Datadog

グラフィカル ユーザー インターフェイス, アプリケーション

自動的に生成された説明

Datadogも「簡単立ち上げ系」のSaaS型監視ツールの一つです。他のSaaS型のツールと同等に、立ち上げの速さと画面の使い勝手の良さが売りです。提供元のDatadog社はここ数年で大きな成長遂げた企業として有名となりました。また、アナリティックス系の企業を買収して、データの分析の機能を監視に統合していることが特徴といえます。

機能

Mackerelと同様にAWS、Azure、GCP、RedHat OpenShiftのクラウドプラットフォームとのインテグレーションの機能を持ちますが、初期設定は自動設定部分がMackerelよりも簡単な印象です。他にもインテグレーションという形で多くのミドルウェアやコンテナ環境での監視も簡単に開始することができます。

前述のようにアナリティックス系の機能を統合してグラフ等の見やすい画面を提供したり、自動アラートを生成したり、画面の構成をある程度ユーザーの自由に変更したりすることができる等、ユーザーエクスペリエンスにおいて優位に立っています。過去のパターンから逸脱した状況を検知する異常検知モニターは他のツールには無い優れた機能です。

導入難度

他のSaaS型のツールと同様に、ユーザー登録後すぐに使用開始でき、各種のインテグレーション機能の設定も容易なので、やはりトータルで15分あればサーバー監視を開始することができます。

また、さまざまな画面のデザインの変更も簡単に行うことができるため、ユーザーの最も見やすく、使いやすい画面を作ることも数時間使っていれば可能になります。

運用費用

やはり監視用のサーバーが必要無いため、それらの購入、構築、運用のコストはかかりません。利用料金としては最も基本的なインフラストラクチャーProのプランで、1ホスト月額$15です。

他にもネットワーク監視、セキュリティ監視、インシデント管理等多くのプランが提供されています。AWSインテグレーションを使用すると場合によってはCloudWatchの追加費用がかかることはMackerelと同じです。

将来性

前述のようにSaaS型ツールの中ではユーザーエクスペリエンスの向上に対する機能が豊富なので、その部分だけでも優位な点となるでしょう。また、機能的にも不足は無く、将来的にも成長が期待できます。

CloudWatch

グラフィカル ユーザー インターフェイス

自動的に生成された説明

AWSが提供する監視サービスです。内部の仕組みまで分かった上で作られたツールなので、当然ながら、EC2, RDS等AWSが提供するサービスの監視に関しては最良のツールであると言えるでしょう。AWSが提供する他のサービスと組み合わせて使用する場合にさらに威力を発揮します。

機能

機能的にはAWSサービスを使用している限りは基本的には必要十分とは言えるでしょう。ただ、他のツールのように自分で機能を追加したり、カスタマイズしたりするのは難しいので、自動的に設定されたものを最低限の追加設定で使うというやり方が向いています。オンプレミスのサーバーの監視を行うこともできます。

導入難度

AWSサービスの監視に関しては、ほぼ設定無しに開始することができますので、立ち上げ時間という意味ではゼロと言っても良いかもしれません。

運用費用

他のSaaS型ツールと同様に監視用のサーバーは必要無いので、それに関連する費用はかかりません。立ち上げも即時なのでその辺りの設定の費用もかからないということになります。

利用料金はカスタムメトリクス(ユーザーによって定義された監視指標)の数の従量課金となります。例としてはEC2サーバーで最も簡単な監視を行なった1台あたり場合月額$0.14、ある程度複雑な監視を行なった場合には1台あたり月額$2.1という試算があります。

固定料金ではないため、設定のやり方によってはMackerelやDatadogよりも安価に済ませることができます。

将来性

AWSが提供するツールなので、ベンダーロックインを気にしなければAWSのサービスを使っている限りにおいては将来性には全く問題はありません。今後も単体での機能も、AWSサービスの組み合わせで提供される機能も拡張、改善されることは間違い無いでしょう。

最適なツールの選択の仕方

それでは、AWSのEC2サーバーを監視するために、今新しく監視ツールを導入しようと考えているエンジニアとしてはどのような点を選択の基準とすれば良いでしょうか?

今まで解説してきたのは、機能、導入難度、運用費用、将来性という観点でした。ここでまず考えていただきたいのは今の皆様の環境で何を最も重視するかということです。

監視する項目は既におよそ決まっているので、それらが監視できるような機能を持つツールを探しているということなら、まずは機能面をみてみましょう。今現在まともに監視されていないので、できるだけ早く立ち上げたいということなら立ち上げ時間をみましょう。予算が限られていて機能的には最低限の機能があれば良いので費用は抑えたいということなら運用費用をメインに考えましょう。

当然、他の全ての項目や今回説明しなかった観点もたくさんありますので、それらも考慮すべきであることはいうまでもありません。

まず、機能で見るとデフォルトの機能と拡張機能を総合的に考えるとやはりZabbixが最も豊富であると考えられます。また、EC2を監視することを考えると第一候補はCloudWatchになるのは当然です。ただ、監視するサーバーがEC2だけではない場合はCloudWatchではうまくいかない場合もありますし、機能的に十分でないこともあり得ます。

導入難度で見ると、CloudWatchに勝るものはありませんが、他のSaaSツールに関しても即時に立ち上げられるという意味では同様でしょう。

トータルの費用で見ればやはりCloudWatchが最も安価に使用できると思われますが、そもそもAWS内のサーバーを監視するのにAWS内の仕組みだけを使うというのはリスクがあります。やはりAWSの外部に仕組みを持つSaaSのツールを使用する方がトータルで考えるとリスクヘッジになるかもしれません。

総合的に考えれば一長一短はありますが、EC2サーバーの監視を考えると、一番確実なのはまずCloudWatchで最低限の監視を始めた上で、他のSaaSツールや、機能面を重視するならZabbixも含めて試してみて最終的な判断を行うということになります。

おわりに

監視ツールはサーバーを運用するにあたっては必ず必要になるものです。監視ツールのない環境では担当者はおそらく24時間働き続けなければならないでしょう。

そんな重要な監視ツールの選択の仕方に関しては前述のようにさまざまな観点がありますが、要は試してみて自分や自分が活動する環境にあっているかどうかを見極めるのが最も確実で有効な方法です。

SaaS型ツールでは、試用期間も設けられていて、簡単に試用することができますし、Zabbixに関しても、その気になれば暫定的にEC2に監視サーバーを無料枠で構築して試してみることも可能です。

まずは、ここでご紹介したツールを試してみることから始めてみてはいかがでしょうか。