Edge for Private Cloud v. 4.16.09
一般に、本番環境の設定では、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 ソフトウェア環境内またはバックエンドにエラーが存在するかどうかを迅速に判断することもできます。
注: API プロキシをモニタリングするには、Apigee の API Health を使用することもできます。API Health は、API プロキシに対してスケジュールされた呼び出しを行い、失敗した場合はその方法を通知します。呼び出しが成功すると、API Health にレスポンス時間が表示されます。レスポンスのレイテンシが高い場合は、通知を受け取ることもできます。API Health は、世界中のさまざまなロケーションから呼び出しを行い、リージョン間の API の動作を比較できます。
メッセージ フローのチェック
Router と Message Processor から、メッセージ フローのパターン/統計情報に関するデータを収集できます。これにより、次のものをモニタリングできます。
- アクティブなクライアントの数
- 回答数(10X、20X、30X、40X、50X)
- 接続エラー
これにより、API メッセージ フローのダッシュボードを提供できます。
Message Processor の Router ヘルスチェック
Router は、ヘルスチェック メカニズムを実装して、どの Message Processor が想定どおりに動作しているかを判断します。Message Processor がダウンしているか、処理が遅いことが検出されると、Router は Message Processor を自動的にローテーションから除外します。この場合、Router は /<inst root>/apigee4/var/log/apigee/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
ヘルスチェックを行うように Router を構成するには、/<inst root>/apigee4/conf/apigee/router/router.properties で次のプロパティを true に設定します。
Client.pool.heartBeat.use.http=true
次に、Router を再起動します。
> /<inst-root>/apigee4/bin/apigee-service router restart