Edge for Private Cloud v4.18.05
一般に、本番環境の設定では、Apigee Edge for Private Cloud のデプロイ内でモニタリング メカニズムを有効にする必要があります。これらのモニタリング手法は、エラーや障害をネットワーク管理者(またはオペレーター)に警告します。生成されたエラーはすべて、Apigee Edge でアラートとして報告されます。アラートの詳細については、モニタリングのベスト プラクティスをご覧ください。
わかりやすくするために、Apigee コンポーネントは主に次の 2 つのカテゴリに分類されます。
- Apigee 固有の Java サーバー サービス: Management Server、Message Processor、Qpid Server、Postgres Server がこれに該当します。
- サードパーティ サービス: Nginx Router、Apache Cassandra、Apache ZooKeeper、OpenLDAP、PostgreSQL データベース、Qpid がこれに該当します。
次の表に、Apigee Edge のオンプレミス デプロイメントでモニタリングできるパラメータの一覧を示します。
| コンポーネント | システム確認 | プロセスレベルの統計情報 | API レベルのチェック | メッセージ フローのチェック | コンポーネント固有 | |
|---|---|---|---|---|---|---|
|
Apigee 固有の Java サービス |
管理サーバー |
|||||
|
Message Processor |
||||||
|
Qpid サーバー |
||||||
|
Postgres サーバー |
||||||
|
サードパーティのサービス |
Apache Cassandra |
|||||
|
Apache ZooKeeper |
||||||
|
OpenLDAP |
||||||
|
PostgreSQL データベース |
||||||
|
Qpid |
||||||
|
Nginx Router |
||||||
一般に、Apigee Edge をインストールした後、以下のモニタリング タスクを実施して Apigee Edge for Private Cloud のパフォーマンスを追跡できます。

システム ヘルスチェック
CPU 使用率、メモリ使用率、ポート接続などのシステム健全性パラメータを、より高いレベルで測定することが非常に重要です。次のパラメータをモニタリングすることで、システムの状態の基本を把握できます。
- CPU 使用率: CPU 使用率に関する基本的な統計情報(ユーザー/システム/IO 待機/アイドル)を指定します。たとえば、システムで使用されている CPU の合計。
- 空きメモリ/使用済みメモリ: システムのメモリ使用量をバイト単位で指定します。たとえば、システムで使用される物理メモリです。
- ディスク容量の使用状況: 現在のディスク使用量に基づいてファイル システム情報を指定します。たとえば、システムで使用されているハードディスク容量などです。
- 平均負荷: 実行を待機しているプロセスの数を指定します。
- ネットワーク統計: 送受信されたネットワーク パケットやバイト数、指定されたコンポーネントに関する送信エラー。
プロセス/アプリケーションのチェック
プロセスレベルでは、実行中のすべてのプロセスに関する重要な情報を確認できます。たとえば、プロセスまたはアプリケーションが使用するメモリと CPU の使用統計情報などです。qpidd、postgres postmaster、java などのプロセスについては、以下をモニタリングできます。
- プロセス ID: 特定の Apigee プロセスを識別します。たとえば、Apigee サーバーの Java プロセスの存在をモニタリングできます。
- スレッドの統計情報: プロセスが使用する基盤となるスレッド パターンを表示します。たとえば、ピーク時のスレッド数、すべてのプロセスのスレッド数をモニタリングできます。
- メモリ使用率: すべての Apigee プロセスのメモリ使用量を表示します。たとえば、プロセスで使用されるヒープメモリ使用量、非ヒープメモリ使用量などのパラメータをモニタリングできます。
API レベルのチェック
API レベルでは、Apigee によってプロキシされる頻繁に使用される API 呼び出しに対して、サーバーが稼働しているかどうかをモニタリングできます。たとえば、次の cURL コマンドを呼び出すことで、Management Server、Router、Message Processor で API チェックを実行できます。
curl http://host:port/v1/servers/self/up
ここで、host は Apigee Edge コンポーネントの IP アドレスです。port 番号は、Edge コンポーネントごとに異なります。次に例を示します。
Management Server: 8080
- Router: 8081
- Message Processor: 8082
- その他
各コンポーネントに対してこのコマンドを実行する方法については、以下の各セクションをご覧ください。
この呼び出しは「true」と「false」を返します。最良の結果を得るには、バックエンド(Apigee ソフトウェアがやり取りするバックエンド)で API 呼び出しを直接発行して、Apigee ソフトウェア環境内またはバックエンドにエラーが存在するかどうかを迅速に判断することもできます。
メッセージ フローのチェック
Router と Message Processor から、メッセージ フローのパターン/統計情報に関するデータを収集できます。これにより、次のものをモニタリングできます。
- アクティブなクライアントの数
- 回答数(10X、20X、30X、40X、50X)
- 接続エラー
これにより、API メッセージ フローのダッシュボードを提供できます。詳細については、モニタリング方法をご覧ください。
Message Processor の Router ヘルスチェック
Router は、どの Message Processor が想定どおりに動作しているかを判断するヘルスチェック メカニズムを実装しています。Message Processor がダウンしているか、処理が遅いことが検出されると、Router は Message Processor を自動的にローテーションから除外します。この場合、Router は /opt/apigee/var/log/edge-router/logs/system.log の Router ログファイルに「Mark Down」メッセージを書き込みます。
これらのメッセージについては、ルーターのログファイルをモニタリングできます。たとえば、Router が Message Processor をローテーションから除外すると、次の形式でログにメッセージが書き込まれます。
2014-05-06 15:51:52,159 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now DISCONNECTED. handle = MP_IP at 1399409512159 2014-04-17 12:54:48,512 org: env: nioEventLoopGroup-2-2 INFO HEARTBEAT - HBTracker.gotResponse() : No HeartBeat detected from /MP_IP:PORT Mark Down
ここで、MP_IP:PORT は Message Processor の IP アドレスとポート番号です。
その後、Router がヘルスチェックを実行し、Message Processor が正常に機能していると判断すると、Router は自動的に Message Processor をローテーションに戻します。Router は、次の形式の「Mark Up」メッセージもログに書き込みます。
2014-05-06 16:07:29,054 org: env: RPCClientClientProtocolChildGroup-RPC-0 INFO CLUSTER - ServerState.setState() : State of 2a8a0e0c-3619-416f-b037-8a42e7ad4577 is now CONNECTED. handle = IP at 1399410449054 2014-04-17 12:55:06,064 org: env: nioEventLoopGroup-4-1 INFO HEARTBEAT - HBTracker.updateHB() : HeartBeat detected from IP:PORT Mark Up