- システム管理
AWS環境をZabbixで監視する方法|基本や監視の具体例を徹底解説
2024.10.17
Amazon Web Service(以下、AWS)環境の監視は、システムの安定稼働を支える重要な要素です。本記事では、AWS環境をZabbixで監視する方法を、基本からわかりやすく解説します。
AWS監視の基本と検討すべきポイントを解説
AWSをはじめとしたシステム監視の基本的な流れ
システムの監視は、システムの状態を定期的にチェックするだけでなく、問題が発生した際には担当者に通知し、適切な対応を行うプロセスを指します。AWS環境を監視するためには、AWSが提供するAmazon CloudWatchというサービスや、サードパーティの監視ツールを使用します。
AWS監視では、CPU使用率やメモリ使用量などのパフォーマンスや状態を数値化したデータ(メトリクス)を収集し、監視します。また、アラーム機能を利用して、異常が発生した際に速やかに管理者に通知します。
監視の基本的な流れ
1.定期的なチェック:システムの稼働状況を継続的に監視する。
2.問題発生時の把握および対応:問題が検知されたら、即座に通知を受け、対応を開始する。
AWS監視を行う上で検討すべきこと
AWS監視にあたっては、そもそもの監視体制や、問題が発生した場合のフローについても漏れなく検討したうえで、最適なツールを選定しましょう。
アシストでは、5W1Hのなかでも、Who(誰が)、When(いつ)、What(何を)、どのように(How)のポイントを整理しながらAWS監視を検討することをおすすめします。
そうすることで、検討すべき項目の抜け漏れを防ぎ、万全な監視体制が構築できます。
ポイント | 詳細 |
---|---|
Who | 該当のシステムにおいて、誰がチェックを行うのか |
When | いつ、チェックを行うのか |
What | どのリソースのチェックを行うのか |
How | ・どのような手段でチェックするのか ・問題をどのように検知し通知するのか ・問題の対処をどのように進めるのか |
5W1Hにあてはめた監視体制・プロセスの検討例
例えば、AWSサービスの稼働状況に関する「定期的なチェック」を、5W1Hにあてはめてみます。そうすると、「深夜帯に誰がチェックをするのか」の検討が漏れていることが一目でわかります。
カテゴリ | ポイント | 具体的な検討例 |
---|---|---|
定期的なチェック | Who | AWSの社内管理担当者Aさん、Bさん |
When | 日中帯:Aさん、Bさん 深夜帯:<N/A(要検討)> |
|
What | 案①:全リージョンにおける全サービスの稼働状況 案②:東京リージョンにおける全サービスの稼働状況 |
|
How | AWS Health Dashboardを利用し、メール通知で連携する |
AWSで監視する2つのポイント
(1)障害情報およびリソースのメンテナンス情報についての監視
1つめは、AWSサービス全体の障害情報やメンテナンス情報の監視です。これらの情報の監視は、AWSの監視サービスであるAWS Health Dashboardを利用します。具体的には、 AWS全体で発生した問題やアカウントのリソースに影響する障害、メンテナンス情報が該当します。また、アラート通知やメール通知に対応しています。
(2)システムの稼働状況の監視
2つめは、死活監視やリソース監視、プロセス監視、ログ監視など、システムの稼働状況の監視です。
これらの情報の監視は、AWSが提供する監視用のマネージドサービス、Amazon CloudWatchを利用します。ただし、オンプレミスや複数のクラウド上のシステム監視を一元化したい場合は、Zabbixなどのサードパーティ製品が選択肢として考えられます。
|
AWSで取得できる2種類のメトリクス
Amazon CloudWatchで取得できるメトリクスには「標準メトリクス」と「カスタムメトリクス」があります。標準メトリクスとは、AWSがデフォルトで提供するメトリクスで、特別な設定なしに自動的に収集されるパフォーマンスデータです。例えば、Amazon Elastic Compute Cloud(以下、EC2)のCPU使用率やディスクI/O、ネットワークトラフィックなどが含まれます。
一方、カスタムメトリクスは、ユーザーが独自に設定して収集するメトリクスです。アプリケーションの特定のパフォーマンス指標やAWS標準では取得できない情報を監視したい場合に使います。例えば、ディスク使用率やメモリ使用率などをカスタムメトリクスとして設定できます。自社の監視要件にあわせて、把握しておきたいメトリクスを検討します。
標準メトリクス | カスタムメトリクス |
---|---|
・CPU使用率 ・ディスク読み取りバイト数 ・ディスク書き込みバイト数 ・ネットワーク送信バイト数 ・ネットワーク受信バイト数 ・インスタンス死活監視 など |
・ディスク使用率 ・メモリ使用率 ・プロセス監視 ・ポート監視 ・OS上のログ収集 |
ここまで、AWS監視の基本についてご紹介しました。Amazon CloudWatchはAWSに統合されているため、AWS環境の監視には非常に便利です。
ただ、企業のITインフラは、AWSだけでなくオンプレミス環境や他のクラウドを併用しているケースが多く見られます。
そのため、様々なITインフラ監視を一元化したいという声も少なくありません。実際に、弊社アシストにも「ZabbixでAWS環境も監視したい」というご相談を多くいただいています。
ZabbixでAWSリソースの稼働状況を監視
Zabbixはオンプレミス環境とクラウド環境を一元管理できる強力なオープンソースの監視ツールです。Zabbixなら、AWS環境のリソース監視だけでなく、オンプレミスのサーバーやネットワーク機器の監視も一元管理できます。これにより、複数の監視ツールを使う必要がなくなり、運用コストや工数が大幅に削減されます。
ZabbixがAWS監視テンプレートを提供
Zabbixには、監視テンプレートという機能が用意されています。監視テンプレートは、「監視項目のセット」で、特定のリソースやサービスに適した監視設定を自動的に適用できる機能です。監視テンプレートを利用することで、AWSのCPU使用率やディスクの読み書きバイト数などの重要なメトリクスを手軽に設定し、監視できます。
※AWS監視テンプレートの実装は、Zabbixバージョン6.0.13以降です。Zabbixを使ったAWS監視の流れ
ZabbixのAWS監視テンプレートを使った監視の流れをご紹介します。
1:Amazon CloudWatchを利用したデータ収集
Amazon CloudWatchがリソースのCPU使用率やディスクI/Oなどの重要なメトリクスを収集します。
2:Amazon CloudWatchからZabbixへ監視データを連携
監視データをAmazon CloudWatchからZabbixへ連携します。これにより、運用者はZabbixのインターフェースを通じてAWSの監視状況を一元管理できます。
3:Zabbixでの参照・分析・通知
Zabbixに連携された監視データはZabbixのインターフェースで参照できるだけでなく、詳細な分析や異常発生時の通知も可能です。Zabbixの高度なアラート機能を使えば、問題が発生した際、迅速に把握し、対応できます。
|
Zabbixで取得できるAWSの監視項目例
Zabbixで取得できるAWSの監視項目例を表にまとめました。Amazon EC2をはじめ、Amazon Relational Database Service(以下、Amazon RDS)やAmazon Simple Storage Service(以下、Amazon S3)などの主要なサービスに対応しています。対応サービスは順次拡大中です。
カテゴリ | 項目 |
---|---|
Amazon EC2 | ・ステータス ・アラーム ・CPU使用率 ・CPUクレジット残高 ・ディスク読み書きバイト数 ・ネットワークトラフィック など |
Amazon RDS | ・ステータス ・アラーム ・CPU使用率 ・空きストレージ容量 ・使用可能メモリ量 ・DB接続数 ・読み書きIOPS など |
Amazon S3 | ・アラーム ・パケットサイズ ・保存オブジェクト数 ・各種リクエストメトリクス など |
ZabbixでAWS監視を始める手順
ZabbixでAWS監視を始めるためには、AWS側とZabbix側それぞれで設定が必要です。
ここでは簡単に手順をご紹介します。
手順1:AWS側でIAMポリシーに必要な権限を追加
まず、AWSからデータを取得するためには、Zabbixが適切な権限を持つ必要があります。これを実現するために、AWSのIAM(Identity and Access Management)に必要なポリシーを追加します。
手順2:Zabbix側でテンプレートを紐づけ
次に、Zabbixの任意のホストにAWS監視テンプレートである「AWS by HTTP」をリンクします。
手順3:各種設定
テンプレートを紐づけたホストの設定(マクロ)に、IAMユーザーアクセスキー、プロキシサーバーアドレス*、リージョン、IAMユーザーのシークレットアクセスキーを入力します。
※ZabbixサーバーとAWS間にプロキシが存在する場合のみ詳細な手順は、Zabbix社のドキュメント をご確認ください。
Zabbixを使ったAWS監視の具体例
AWSを効率的に監視し、安定した運用を確保するためには、Amazon CloudWatchの標準機能に加えて、より柔軟で詳細な監視を行えるZabbixの導入が有効です。ここでは、Zabbixを活用した具体的なAWSリソースの監視例をいくつかご紹介します。
具体例1:AWSリソースのCPU使用率を監視
AWS EC2インスタンスのCPU使用率を監視する例です。Zabbixでは、CPU使用率が一定の値を超えた時に自動的にアラートを発行し、ダッシュボード上にグラフで表示させることができます。これにより、システムのパフォーマンスに影響を及ぼす問題を即座に検出し、対応可能です。
具体例2:AWSリソース使用量の異常を検知
Zabbixを使うことで、AWSリソースの異常な使用量を早期に検知できます。例えば、ストレージの使用量が急激に増加した場合、Zabbixからアラートを発行し、問題が起きる前に対処します。これにより、障害発生のリスクを軽減し、迅速な対応が可能です。
まとめ
AWS環境の監視は、システムの安定稼働を保つために非常に重要です。この記事では、Zabbixを活用してAWSの監視を行う方法を解説しました。AWSには標準の監視サービスとしてAmazon CloudWatchがありますが、複数の環境を統合的に管理するためには、Zabbixのようなサードパーティツールが効果的です。Zabbixを使用することで、AWSリソースの詳細な監視とオンプレミス環境の監視を一元管理でき、運用コストの削減や効率化に繋がります。
※記載されている会社名、製品名は、各社の商標または登録商標です。
ZabbixでAWS監視する方法を1時間の動画でチェック!
本ページには掲載しきれなかったAWS監視テンプレートの詳細な仕組みや、収集したデータの可視化方法などは、ぜひ動画でご確認ください。
※本動画は過去に700名をこえるお客様にご参加いただいた「Zabbixを活用したAWS監視セミナー」のオンデマンド動画です。