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

アラートのモニタリング

Apigee Edge では、イベントの失敗によりエラーや障害が発生した際に、syslogs や外部のモニタリング システム / ツールにアラートを転送できます。これらのアラートは、システムレベルまたはアプリケーション レベルのアラートやイベントで利用できます。アプリケーション レベルのアラートは、多くの場合、発生したイベントに応じて作成されるカスタム アラートになります。通常は、ネットワーク管理者が条件のカスタマイズを行います。アラートの詳細については、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 の各コンポーネントのログファイルの場所を示します。

コンポーネント 場所

Management Server

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

Router

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 違反