アラートのモニタリング
Apigee Edge では、イベントの失敗によりエラーや障害が発生した際に、syslog や外部のモニタリング システム/ツールにアラートを転送できます。これらのアラートは、システムレベルまたはアプリケーション レベルのアラートやイベントで利用できます。アプリケーション レベルのアラートは、多くの場合、発生したイベントに応じて作成されるカスタム アラートになります。通常は、ネットワーク管理者がカスタム条件を構成します。アラートの詳細については、Apigee サポートまでお問い合わせください。
アラートのしきい値の設定
アラートを生成する必要が生じた場合には、しきい値を設定します。設定内容はハードウェアの構成により変わります。また、容量に合わせてしきい値を設定する必要があります。たとえば、容量が 6 GB しかなく、Apigee Edge に対して少なすぎる場合には、等号(=)や不等号(>)の条件式を使ってしきい値を割り当てることができます。また、アラートが連続で生成される場合には、2 つのアラートの生成間隔を指定することもできます。その際は、時、分、秒の単位が使用できます。
システムレベル アラートの設定基準
次の表に、基準を示します。
アラート | 推奨されるしきい値 | 説明 |
---|---|---|
メモリ不足 |
500 MB |
メモリが少なすぎて、コンポーネントを開始できない |
ディスク容量の不足(/var/log) |
8 GB |
ディスク容量が不足している |
負荷が高い |
3+ |
実行待ちのプロセスが想定以上に増加 |
プロセスの停止 |
なし。ブール値(true または false) |
システムの Apigee Java プロセスが停止した |
Apigee 固有のポートとサードパーティ ポートの確認
次のポートがアクティブかどうかをモニタリングします。
- Management Server、Router、Message Processor のポート 4526、4527、4528
- Management Server、Router、Message Processor のポート 1099、1100、1101
- Router のポート 8081、15999
- Message Processor のポート 8082、8998
- Management Server のポート 8080
次のサードパーティのポートがアクティブかモニタリングします。
- Qpid のポート 5672
- Postgres のポート 5432
- Cassandra のポート 7000、7199、9042、9160
- ZooKeeper のポート 2181
- OpenLDAP のポート 10389
Apigee の各コンポーネントがどのポートで API 呼び出しをリッスンしているかを確認するには、Management Server に対して次の API 呼び出しを行います(Management Server のポートは通常 8080 です)。
curl -v -u username:password http://host:port/v1/servers?pod=gateway®ion=dc-1curl -v -u username:password http://host:port/v1/servers?pod=central®ion=dc-1
curl -v -u username:password http://host:port/v1/servers?pod=analytics®ion=dc-1
これらのコマンドの出力に以下のようなセクションがあります。http.management.port
セクションを見ると、指定したコンポーネントのポート番号がわかります。
{ "externalHostName" : "localhost", "externalIP" : "111.222.333.444", "internalHostName" : "localhost", "internalIP" : "111.222.333.444", "isUp" : true, "pod" : "gateway", "reachable" : true, "region" : "default", "tags" : { "property" : [ { "name" : "Profile", "value" : "Router" }, { "name" : "rpc.port", "value" : "4527" }, { "name" : "http.management.port", "value" : "8081" }, { "name" : "jmx.rmi.port", "value" : "1100" } ] }, "type" : [ "router" ], "uUID" : "2d4ec885-e20a-4173-ae87-10be38b35750" }
ログの表示
ログファイルに、システム イベントとオペレーションに関するメッセージが記録されます。プロセスの開始と終了、エラー発生のタイミングで、ログにメッセージが出力されます。ログファイルを確認することで、障害の状態に至る前、もしくはその後の CPU、メモリ、ディスク、負荷、プロセスなどのシステム コンポーネントに関する情報を取得できます。また、システムに問題が発生している原因について調査したり、潜在的なシステムの問題について予測したりできるようになります。
たとえば、コンポーネントの典型的なシステムログには次のようなエントリが含まれます。
TimeStamp = 25/01/13 19:25 ; NextDelay = 30 Memory HeapMemoryUsage = {used = 29086176}{max = 64880640} ; NonHeapMemoryUsage = {init = 24313856}{committed = 57278464} ; Threading PeakThreadCount = 53 ; ThreadCount = 53 ; OperatingSystem SystemLoadAverage = 0.25 ;
/opt/apigee/conf/logback.xml
ファイルを編集することで、サーバーを再起動せずにロギング メカニズムを制御できます。logback.xml ファイルに含まれる次のプロパティで、ロギング メカニズムがこのファイルをチェックして構成変更の有無を確認する頻度を設定できます。
<configuration scan="true" scanPeriod="30 seconds" >
デフォルトでは、構成変更は 1 分ごとに確認されます。scanPeriod
属性で時間単位を省略すると、デフォルトでミリ秒が使用されます。
次の表に、Apigee Edge Private Cloud の各コンポーネントのログファイルの場所を示します。
コンポーネント | 場所 |
---|---|
管理サーバー |
|
ルーター |
|
Message Processor |
|
Qpid Server |
|
Apigee Postgres Server |
|
Edge UI |
|
ZooKeeper |
|
OpenLDAP |
|
Cassandra |
|
Qpidd |
|
PostgreSQL データベース |
|
Message Processor と Edge UI のデバッグログの有効化
Message Processor のデバッグログを有効にするには:
- Message Processor ノードで、
/opt/apigee/customer/application/messsage-processor.properties
を編集します。ファイルが存在しない場合は作成します。 - ファイルに次のプロパティを追加します。
conf_system_log.level=DEBUG
- Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Edge UI のデバッグログを有効にするには:
- Edge UI ノードで、
/opt/apigee/customer/application/ui.properties
を編集します。 このファイルが存在しない場合は作成します。 - ファイルに次のプロパティを追加します。
conf_application_logger.application=DEBUG
- Edge UI を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
apigee-monit のベスト プラクティス
apigee-monit
を使用する場合は次のことをおすすめします。
- バックアップやアップグレードなど、コンポーネントを起動または停止するオペレーションを行う前に、そのコンポーネントのモニタリングを停止する。
cron
などのツールを使用してapigee-monit
をモニタリングする。詳細については、apigee-monit のモニタリングをご覧ください。
モニタリング ツール
企業環境やビジネス プロセス全体のモニタリングには、Nagios、Collectd、Graphite、Splunk、Sumologic、Monit などのモニタリング ツールが役立ちます。
コンポーネント | Nagios | Collectd | Splunk | |
---|---|---|---|---|
システムレベル チェック |
CPU 使用率 |
|||
空きメモリ/使用済みメモリ |
||||
ディスク使用量 |
||||
ネットワークの統計情報 |
||||
プロセス |
|
|
||
API チェック |
||||
JMX |
||||
Java |
||||
ログファイル |
||||
重大イベント |
レート上限に抵触 |
|||
バックエンド サーバー(Hybris または SharePoint)に到達不能 |
||||
FaaS(STS)に到達不能 |
||||
警告イベント |
SMTP サーバーに到達不能 |
|||
SLA 違反 |