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

Edge for Private Cloud v4.19.01

アラートのモニタリング

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 呼び出しをリッスンしているか判別するには、次の 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 ファイルには、次のプロパティが含まれており、ロギング メカニズムにおいて logback.xml の構成変更を確認する頻度が設定できます。

<configuration scan="true" scanPeriod="30 seconds" >

デフォルトでは、ロギング メカニズムが分ごとに変更を確認します。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 を使用する場合、Apigee では次のことをおすすめします。

モニタリング ツール

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

構成要素 Nagios Collectd Splunk

システムレベル チェック

CPU 使用率

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

ディスク容量使用状況

ネットワーク統計

プロセス

API チェック

JMX

Java

ログファイル

重大イベント

レート上限に抵触

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

FaaS(STS)に到達不能

警告イベント

SMTP サーバーに到達不能

SLA 違反