開発から運用まで、IT部門のお役に立つ情報をお届けするサイトです

運用管理は変わらない変えるのは”やりかた”だ次世代型ITサービスマネジメント変革ソリューション『縁(ENISHI)』
  • システム管理

AWS環境をZabbixで監視する方法|基本や監視の具体例を徹底解説

  • #システム監視
  • #Zabbix

2024.10.17

AWS環境をZabbixで監視する方法|基本や監視の具体例を徹底解説

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_Zabbix2


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の高度なアラート機能を使えば、問題が発生した際、迅速に把握し、対応できます。


AWS_Zabbix3


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監視セミナー」のオンデマンド動画です。


・AWS監視の基本
・AWS監視テンプレートの詳細な仕組み
・AWSから収集したデータの具体的な可視化方法
・AWS上にZabbixを構築する際の構成パターンなど