モニタリングのベスト プラクティス

アラートのモニタリング

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&region=dc-1
curl -v -u username:password http://host:port/v1/servers?pod=central&region=dc-1
curl -v -u username:password http://host:port/v1/servers?pod=analytics&region=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 の各コンポーネントのログファイルの場所を示します。

コンポーネント 場所

管理サーバー

opt/apigee/var/log/edge-management-server

ルーター

opt/apigee/var/log/edge-router

Message Processor

opt/apigee/var/log/edge-message-processor

Qpid Server

opt/apigee/var/log/edge-qpid-server

Apigee Postgres Server

opt/apigee/var/log/edge-postgres-server

Edge UI

opt/apigee/var/log/edge-ui

ZooKeeper

opt/apigee/var/log/apigee-zookeeper

OpenLDAP

opt/apigee/var/log/apigee-openldap

Cassandra

opt/apigee/var/log/apigee-cassandra

Qpidd

opt/apigee/var/log/apigee-qpidd

PostgreSQL データベース

opt/apigee/var/log/apigee-postgresql

Message Processor と Edge UI のデバッグログの有効化

Message Processor のデバッグログを有効にするには:

  1. Message Processor ノードで、/opt/apigee/customer/application/messsage-processor.properties を編集します。ファイルが存在しない場合は作成します。
  2. ファイルに次のプロパティを追加します。
    conf_system_log.level=DEBUG
  3. Message Processor を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Edge UI のデバッグログを有効にするには:

  1. Edge UI ノードで、/opt/apigee/customer/application/ui.properties を編集します。 このファイルが存在しない場合は作成します。
  2. ファイルに次のプロパティを追加します。
    conf_application_logger.application=DEBUG
  3. Edge UI を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

apigee-monit のベスト プラクティス

apigee-monit を使用する場合は次のことをおすすめします。

モニタリング ツール

企業環境やビジネス プロセス全体のモニタリングには、Nagios、Collectd、Graphite、Splunk、Sumologic、Monit などのモニタリング ツールが役立ちます。

コンポーネント Nagios Collectd Splunk

システムレベル チェック

CPU 使用率

空きメモリ/使用済みメモリ

ディスク使用量

ネットワークの統計情報

プロセス

API チェック

JMX

Java

ログファイル

重大イベント

レート上限に抵触

バックエンド サーバー(Hybris または SharePoint)に到達不能

FaaS(STS)に到達不能

警告イベント

SMTP サーバーに到達不能

SLA 違反