4年ほどまえに、AWSの運用監視でZabbixを使う理由を公開しました。
あれから4年CloudWatchも大幅に進化し
Zabbixも 4.0 になりましたので、改めて今
AWS監視でZabbixを薦める理由を書きたいと思います。
#メトリクス収集
監視データの収集について見ていきます。
Zabbix
Zabbixは統合監視ツールですので、もちろんクラウドも、オンプレミスもネットワーク機器も
そして、Zabbix 4.0 からは HTTPアイテムによってAPIによってWEBサービスのメトリクスも収集できるようになりました。
監視項目はテンプレートやユーザーマクロによって一元管理を行う事ができます。
HTTPアイテムによるAWSの監視については、後日詳しく紹介します。
CloudWatch
CloudWatchも2017年に新しいCloudWatchエージェントが発表されました。
これにより、これまでスクリプトなどを使って独自に設定する必要があったOS内部のメトリクス取得を簡単に行う事ができるようになりました。
収集アイテムの設定はSystemsManagerのパラメータストアによって一元管理することが可能です。
#メトリクス同士の計算
##Zabbix
Zabbixでは計算アイテム、アグリゲーションアイテム、値の前処理、依存アイテム、トリガーでの計算機能によって複数のアイテムを組み合わせたり、値の換算を行って監視を行うことがかのうです。
また、Forecast関数を使うことによって未来値も可能です。
##CloudWatch
CloudWatchではCloudWatch Metric Math の登場によりメトリクスに対する計算がかのうになりました。
また、Amazon Machine Learningと連携したダッシュボードを作成することで値の予測も可能になりました。
#ログ監視
##Zabbix
Zabbixでは正規表現を用いたキーワード一致でのログ監視が可能です。
Zabbix 3.2以降では 負荷がかかるログ本文を収集せずにlog.countアイテムを使うことで
キーワードの件数のみを収集することも可能になりました。
またZabbix 4.0 ではタグ機能を利用することによって、1つのログファイルから、アプリケーション名などをタグとして、障害だけではなく、回復を判定することもできるようになりました。
##CloudWatch
CloudWatchではCloudWatchLogsの登場によりログ収集のほかキーワードの件数によるアラート通知が可能となりました。
#値の保存期間
#Zabbix
Zabbixでは設定により保存期間を自由に設定可能です。
また、アップデートのたびにZabbixの内部ロジックが改善されていますので、現在は期限が過ぎたデータを消すためのHousekeeperが動作しても、値収集の遅延などはほとんど発生しなくなっています。
##CloudWatch
CloudWathcのデータ保存期間は以前は14日間となっていましたが、現在は455 日 (15ヶ月)のデータが保存されるようになっています。
#費用
##Zabbix
監視規模によってインスタンスサイズを検討する必要はありますが、t3.smallインスタンスで100インスタンス程度は監視が可能と思います。この場合のインスタンス費用は以下の通りです。
月額$20 程度になります。
#CloudWatch
CloudWathAgentのデフォルト設定でLinuxのメトリクスを収集した場合の費用は以下の通りです。
大きなインスタンスでは気にならない金額ですが、安価なインスタンスの場合
インスタンス料金の50%近いCloudWathcメトリクス費用は意外と大きく感じるかもしれません。
#まとめ
機能 | Zabbix | CloudWatch |
---|---|---|
OS情報の収集 | ZabbixAgent | CloudWatchAgent |
AWS以外の統合監視 | ○(ZabbbixAgent,SNMP,IPMI,HTTPアイテム) | △(CloudWatchAgent) |
メトリクスの演算 | ○ | ○ |
未来値の予測 | Forecast関数 | Amazon Machine Learning |
閾値のテンプレートと個別変更 | ○ | ○ |
メンテナンス設定 | ○ | × |
障害通知 | メール Jabber SMS 任意スクリプト | Amazon SNS |
データの保存期間 | 設定により長期間保持可能 | 15ヶ月 |
適材適所で組み合わせつつ、自信をもってクラウド監視にZabbixをご利用下さい。