こんにちは。SCSKの上田です。
システム監視の重要度が高まってきた昨今、様々な監視ツールが存在しています。
今回は、オープンソースのシステム監視ツール「Zabbix」と、AWSの「Amazon CloudWatch(以下、CloudWatch)」を比較してみました。
監視ツール選定のご参考になれば幸いです。
ZabbixとCloudWatchの概要
まずは、ZabbixとCloudWatch、それぞれの概要について説明します。
Zabbixについて
Zabbixは、エンタープライズ対応のオープンソース統合監視ツールです。
サービスやそれを支える ITシステム(サーバ、ネットワーク機器等)の状態を把握し、障害の予兆やサービスへ影響を及ぼす事象が発生した際に、システム管理者やオペレータに通知を行うことができます。
オープンソースのため無料で導入でき、数万デバイス規模のエンタープライズ環境でも多数の稼動実績を誇っています。
Zabbixの詳細情報については、下記リンクよりご確認ください。
CloudWatchについて
CloudWatchは、AWS が提供するクラウドネイティブな監視サービスです。EC2、Lambda、S3といったAWSの各種サービスのパフォーマンスデータも収集・追跡し、AWS環境全体の監視ができます。
CloudWatchは、AWSコンソールから簡単に設定・利用できるため、導入の手間が少なく、初心者にも扱いやすいのが特徴です。また、監視対象のAWSサービスやメトリクス、アラート設定などを柔軟にカスタマイズできるため、大規模で複雑なシステムにも対応可能です。
CloudWatchの詳細情報については、下記リンクよりご確認ください。
ZabbixとCloudWatchの比較
それでは、ZabbixとCloudWatchを比較してみましょう。
比較表
ざっくり比較すると、以下のようになります。
比較項目 | Zabbix | CloudWatch |
概要 | オープンソースの監視ツール | AWSのマネージド監視サービス |
コスト | ソフトウェア自体は無料 AWS上に構築する場合EC2料金、 サポート入るなら年間サポート料金 |
従量課金制(監視項目数に応じた課金) |
監視対象 | クラウド・オンプレどちらも対応 サーバー、ネットワーク機器、アプリケーションなど、多岐にわたる |
AWSのリソース(EC2、S3、Lambdaなど) |
監視項目 | CPU、メモリ、ディスク、プロセス、ログ、SNMP監視など (一部監視にはエージェント導入必要) |
CPU、メモリ、ディスク、プロセス、ログなど (一部監視にはエージェント導入必要) |
監視対象数 | 無制限(サーバのスペックに依存) | 無制限 |
導入難易度 | ある程度の技術知識が必要 | AWSの知識があれば比較的容易 |
サポート | Zabbix Enterpriseサポート | AWSの公式サポートとコミュニティ |
いくかの比較項目について、詳しく解説していきます。
コストについて
Zabbixはオープンソースソフトウェアのため、ライセンス費用無料で監視を行うことが可能です。何台監視しても、どれだけ監視項目を増やしても、無料で使用することができます。
但し、AWS上に導入する場合はEC2の費用が発生するのと、サポートに加入する場合はサポート費用が発生します。
CloudWatchは従量課金制です。Cloudwatchのリソース監視には標準メトリクスとカスタムメトリクスの2種類があり、標準メトリクスであれば無料ですが、カスタムメトリクスの場合はメトリクスの数だけ料金が発生します。
簡単にコスト比較をしてみましょう。(2024年10月時点でのコスト比較です)
コスト | Zabbix | CloudWatch |
サーバ | t3.smallを使用したとすると、 0.0272$ /h →約20$ /月 |
– |
監視対象 | – | 1サーバあたり10個カスタムメトリクスを利用したとすると、 0.30$/月 * 10 = 3.0$/月 →3.0$ /月・監視台数 |
合計 | 20$/月 | 3.0$ /月・監視台数 |
この結果から、監視対象が7台を超えるとZabbixの方が安いということになります。
但し、EC2のスペックやカスタムメトリクスの数によって料金が変動するため、一概にこのシミュレーションが正しいとは限りません。あくまで参考値として捉えてください。
詳細なコストについては、AWS公式サイトをご覧ください。
監視対象、項目について
Zabbixは、クラウド・オンプレ問わず、サーバやネットワーク機器、アプリケーションなど様々なリソースを監視することができます。監視項目も幅広く、既存のアイテムキーに加え、APIを作り込めば様々なデータを取得し監視することが可能です。
CloudWatchは、AWSのマネージドサービスというだけあり、AWS上のリソース監視に特化しており、他クラウドやオンプレミスの監視には不向きです。(CloudWatchでも作り込みによってはオンプレ環境の監視はできますが、設定が煩雑です)
また、監視項目は、標準メトリクス(死活、CPUなど)は無料ですが、カスタムメトリクス(メモリ、ディスク、プロセス)については有料となっています。
導入難易度について
Zabbixは、GUI操作で監視の設定が行えるのですが、柔軟性が高い反面設定が難しく、慣れるまでが大変です。例えば「CPU使用率を監視したい」と思っても、ホストの登録・アイテムの設定・トリガーの設定など手順が多く、アイテムキーの設定もマニュアルを読まないと分かりにくい部分があるため、慣れるまでが大変です
CloudWatchは、GUIの直感的な操作で監視の設定ができるため、AWSに慣れている人なら比較的簡単に設定できると思います。
それぞれでAWS上に建てたEC2のCPU使用率を監視する方法を見比べてみましょう。
まずはZabbixからです。Zabbixのインストール、監視対象へのAgentのインストールは完了している前提とします。
Zabbixのインストールについては、以下の記事をご参照ください。
①WEBコンソールから、監視対象機器(ホスト)を登録する
②登録したホストにアイテムを設定する
③登録したホストにトリガーを設定する
より複雑な設定を行いたい場合、Zabbix公式ドキュメントを読んでいただくか、ZabbixのEnterpriseサポートに加入いただくことをお勧めいたします。詳細は弊社のZabbix特設ページをご覧ください。
①CloudWatchのコンソールから、アラームを作成する
②監視対象のメトリクスを選択する
③閾値を設定する
④アクションを設定する(SNS通知、EC2へのアクションなどが設定できます)
⑤アラーム名を設定する
結局、どちらを選ぶべき?
ここまでの比較から、ZabbixとCloudWatchの強みと弱みをまとめます。
比較項目 | Zabbix | CloudWatch |
強み | ・柔軟な監視設定 ・広範囲な監視対象 ・コスト効率が高い |
・豊富なAWSサービスとの連携 ・導入が容易 |
弱み | ・導入・運用に技術知識が必要 ・サーバーのサイジングが必要 |
・監視の対象がAWSに限られる ・高度な監視にはコストがかかる |
Zabbixは、クラウド・オンプレ問わず様々な監視ができ、コストも抑えられます。しかし、導入や運用には知識が必要です。
CloudWatchは、AWS上のリソース監視を簡単に設定することができます。しかし、AWS以外の監視には向いておらず、コストもかかってしまいます。
以上のことから、以下のように選択すると良いと思います。
- マルチクラウドやオンプレミス環境で、コストを抑えたいなら、Zabbix
- AWS環境で、手軽に監視をしたいなら、CloudWatch
まとめ
今回は、ZabbixとCloudWatchの比較を行ってみました。
それぞれメリット・デメリットがありますので、皆様の環境に合わせて、最適な監視ツールを選択してください。
弊社では、Zabbixの導入もAWSの設計構築も行っています。
「Zabbixを使いたいけど、使い方が分からない・・・」
「結局どの監視ツールを使えばいいのか迷っている・・・」
などなど、監視についてお悩みの点がありましたら、是非弊社までお声がけください!
最後まで読んでいただきまして、ありがとうございました。
弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。
★SCSK Plus サポート for Zabbix★
★YouTubeに、SCSK Zabbixチャンネルを開設しました!★
★X(旧Twitter)に、SCSK Zabbixアカウントを開設しました!★