apigee-monit による自己回復

Apigee Edge for Private Cloud には、オープンソースの monit ユーティリティをベースとした apigee-monit というツールが付属しています。apigee-monit は定期的に Edge サービスをポーリングします。サービスが使用不能な場合、apigee-monit はそのサービスの再起動を試みます。

apigee-monit を使用するには、このユーティリティを手動でインストールする必要があります。これは標準インストールには含まれていません。

デフォルトでは、apigee-monit は 60 秒ごとに Edge サービスのステータスをチェックします。

クイックスタート

次の表に、apigee-monit をすぐに使い始める方法を示します。

  apigee-monit をインストールする

/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit start

これらのコマンドを実行すると、apigee-monit がインストールされ、デフォルトでそのノード上のすべてのコンポーネントのモニタリングが開始されます。

  コンポーネントのモニタリングを停止する

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
  コンポーネントのモニタリングを開始する

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
  ステータス情報のサマリーを取得する

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
  apigee-monit ログファイルを見る

cat /opt/apigee/var/log/apigee-monit/apigee-monit.log

以降のセクションで、これらの各トピックとその他の機能について詳しく説明します。

apigee-monit について

apigee-monit は、ノード上のすべてのコンポーネントが確実に稼働し続けるよう支援します。そのために、次のようなさまざまなサービスを提供します。

  • 使用不能なサービスの再起動
  • サマリー情報の表示
  • モニタリング ステータスのロギング
  • 通知の送信
  • Edge 以外のサービスのモニタリング

apigee-monit 自体をモニタリングしてこれが動作していることを確認することをおすすめします。詳細については、apigee-monit のモニタリングをご覧ください。

apigee-monit のアーキテクチャ

Apigee Edge for Private Cloud をインストールして構成するとき、必要に応じて apigee-monit のインスタンスをクラスタ内の各ノードに個別にインストールします。それぞれの apigee-monit インスタンスは互いに独立して動作します。つまり、自ノードのコンポーネントのステータスを他のノードに通知することはなく、モニタリング ユーティリティ自体の障害を中央サービスに報告することもありません。

次の図は、5 ノードクラスタでの apigee-monit のアーキテクチャを示します。

図 1: クラスタ内の各ノードで apigee-monit の別々のインスタンスが独立して動作する

対応プラットフォーム

apigee-monit は、次の表に示すように、Apigee Edge for Private Cloud バージョン 4.19.01 がサポートされているすべてのプラットフォームに対応しているわけではありません。

対応 非対応
  • CentOS / RHEL: 7.4、7.5、7.6
  • Oracle Linux: 7.3、7.4、7.5
  • CentOS / RHEL: 6.9*
  • Oracle Linux: 6.9*
  • Amazon Linux: 1
* 技術的には対応していませんが、CentOS / RHEL / Oracle バージョン 6.9 に apigee-monit をインストールして使用することは可能です。非対応プラットフォームに apigee-monit をインストールするをご覧ください。

コンポーネント構成

apigee-monit では、コンポーネント構成を使用してモニタリング対象のコンポーネント、コンポーネントのチェックする側面、チェック失敗時に実施するアクションが決定されます。

デフォルトでは、apigee-monit は事前定義されたコンポーネント構成を使用してノード上のすべての Edge コンポーネントをモニタリングします。デフォルト設定は apigee-monit コンポーネント構成ファイルで確認できます。デフォルトのコンポーネント構成を変更することはできません。

apigee-monit は、チェック対象のコンポーネントに応じてその異なる側面をチェックします。次の表は、各コンポーネントのコンポーネント構成の場所と、apigee-monit が各コンポーネントの何をチェックするかをまとめたものです。固有の構成ファイルを持つコンポーネントと、単一の構成ファイルでまとめて定義されているコンポーネントがあります。

コンポーネント 構成の場所 モニタリング対象
Management Server /opt/apigee/edge-management-server/monit/default.conf apigee-monit は次の点をチェックします。
  • 指定されたポートが開いていて、リクエストを受け付ける
  • 指定されたプロトコルがサポートされている
  • レスポンスのステータス

さらに、これらのコンポーネントに対して apigee-monit は次のことを行います。

  • 指定されたサイクル数の間に複数回チェックが失敗した場合、アクションを実施する
  • カスタム リクエストパスを設定する
Message Processor /opt/apigee/edge-message-processor/monit/default.conf
Postgres Server /opt/apigee/edge-postgres-server/monit/default.conf
Qpid Server /opt/apigee/edge-qpid-server/monit/default.conf
Router /opt/apigee/edge-router/monit/default.conf
Cassandra
Edge UI OpenLDAP Postgres Qpid Zookeeper
/opt/apigee/data/apigee-monit/monit.conf apigee-monit は次の点をチェックします。
  • サービスが動作している

次の例は、edge-router コンポーネントのデフォルトのコンポーネント構成を示します。

check host edge-router with address localhost
      restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart"
      if failed host 10.1.1.0 port 8081 and protocol http
        and request "/v1/servers/self/uuid"
        with timeout 15 seconds
        for 2 times within 3 cycles
      then restart

      if failed port 15999 and protocol http
        and request "/v1/servers/self"
        and status < 600
        with timeout 15 seconds
        for 2 times within 3 cycles
      then restart

次の例は、Classic UI(edge-ui)コンポーネントのデフォルトの構成を示します。

check process edge-ui
     with pidfile /opt/apigee/var/run/edge-ui/edge-ui.pid
     start program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui start" with timeout 55 seconds
     stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui stop"

これは Classic UI に適用されます。コンポーネント名が edge-management-ui である新しい Edge UI には適用されません。

どの Apigee Edge for Private Cloud コンポーネントについても、デフォルトのコンポーネント構成は変更できません。ただし、ターゲット エンドポイントや httpd サービスなどの外部サービスについては、独自のコンポーネント構成を追加できます。詳細については、Apigee 以外のコンポーネントの構成をご覧ください。

デフォルトでは、apigee-monit はノードで実行されているすべてのコンポーネントをモニタリングします。モニタリングの有効化または無効化は、一度にすべてのコンポーネントに対して行うことも、個々のコンポーネントごとに行うこともできます。詳細情報

apigee-monit をインストールする

apigee-monit はデフォルトではインストールされません。Apigee Edge for Private Cloud バージョン 4.19.01 以降をインストールまたはアップグレードした後に手動でインストールできます。

このセクションでは、apigee-monit対応プラットフォームにインストールする方法に加えて、対応していない CentOS / RHEL / Oracle Linux バージョン 6.9 にインストールする方法も説明します。

apigee-monitアンインストールの詳細については、 をアンインストールするをご覧ください。

apigee-monit を対応プラットフォームにインストールする

このセクションでは、apigee-monit対応プラットフォームにインストールする方法を説明します。

apigee-monit対応プラットフォームにインストールするには:

  1. 次のコマンドで apigee-monit をインストールします。
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit install
  2. 次のコマンドで apigee-monit を構成します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  3. 次のコマンドで apigee-monit を起動します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit start
  4. 上記の手順をクラスタ内の各ノードで繰り返します。

apigee-monit を非対応プラットフォームにインストールする

apigee-monit は CentOS / RHEL / Oracle Linux バージョン 6.9 には対応していません。ただし、このセクションの手順に従えば、これらの非対応プラットフォームにもインストールできます。

apigee-monit を CentOS / RHEL / Oracle Linux バージョン 6.9 にインストールするには:

  1. Extra Packages for Enterprise Linux リポジトリ(略して「EPEL」)をインストールします。
    sudo yum install epel-release
  2. EPEL を無効にします。
    yum-config-manager --disable epel
  3. EPEL を一時的に有効にして monit をインストールします。
    yum --enablerepo=epel install monit

    EPEL リポジトリは monit のインストール後に無効にする必要があります。enablerepo オプションを付けると、指定したリポジトリが現在のコマンドの間だけ有効になります。

  4. apigee-monit をインストールします。
    apigee-service apigee-monit install
        apigee-service apigee-monit configure
        apigee-service apigee-monit start
  5. apigee-monit をインストールした後、EPEL が無効になっていることを確認します。
    yum repolist all | grep epel/x86_64
        !epel/x86_64                  Extra Packages for Enterprise Linu disabled

    この例は、EPEL リポジトリが無効になっていることを示します。無効になっていない場合は、次のコマンドで無効にする必要があります。

    sudo yum-config-manager --disable epel

コンポーネントのモニタリングを停止および開始する

あるサービスがなんらかの理由で停止すると、apigee-monit はそのサービスの再起動を試みます。

これは、コンポーネントを意図的に停止する場合に問題となる可能性があります。たとえば、コンポーネントのバックアップやアップグレードを行うときにコンポーネントを停止しなければならないことがあります。バックアップやアップグレード中に apigee-monit によってサービスが再起動されてしまうと、メンテナンス作業の妨げとなり、作業が失敗する可能性があります。

以降のセクションで、コンポーネントのモニタリングを停止する方法の選択肢を示します。

コンポーネントを停止してモニタリング対象外にする

コンポーネントを停止してモニタリング対象外にするには、次のコマンドを実行します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
component_name には次のいずれかを指定できます。
  • apigee-cassandra(Cassandra)
  • apigee-openldap(OpenLDAP)
  • apigee-postgresql(PostgreSQL データベース)
  • apigee-qpidd(Qpidd)
  • apigee-zookeeper(ZooKeeper)
  • edge-management-server(Management Server)
  • edge-message-processor(Message Processor)
  • edge-postgres-server(Postgres Server)
  • edge-qpid-server(Qpid Server)
  • edge-router(Edge Router)
  • edge-ui(Edge UI)

「all」は stop-component の有効なオプションではありません。stop-component で停止してモニタリング対象外にできるコンポーネントは一度に 1 つだけです。

コンポーネントを再起動してモニタリングを再開するには、次のコマンドを実行します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name

「all」は start-component の有効なオプションではありません。

すべてのコンポーネントを停止してモニタリング対象外にする方法については、すべてのコンポーネントを停止してモニタリング対象外にするをご覧ください。

コンポーネントを停止せずにモニタリング対象外にする

コンポーネントを停止せずにモニタリング対象外にするには、次のコマンドを実行します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
component_name には次のいずれかを指定できます。
  • apigee-cassandra(Cassandra)
  • apigee-openldap(OpenLDAP)
  • apigee-postgresql(PostgreSQL データベース)
  • apigee-qpidd(Qpidd)
  • apigee-zookeeper(ZooKeeper)
  • edge-management-server(Management Server)
  • edge-message-processor(Message Processor)
  • edge-postgres-server(Postgres Server)
  • edge-qpid-server(Qpid Server)
  • edge-router(Edge Router)
  • edge-ui(Edge UI)

コンポーネントのモニタリングを再開するには、次のコマンドを実行します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name

すべてのコンポーネントを停止せずにモニタリング対象外にする

すべてのコンポーネントを停止せずにモニタリング対象外にするには、次のコマンドを実行します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

すべてのコンポーネントのモニタリングを再開するには、次のコマンドを実行します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

すべてのコンポーネントを停止してモニタリング対象外にする

すべてのコンポーネントを停止してモニタリング対象外にするには、次のコマンドを実行します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
    /opt/apigee/apigee-service/bin/apigee-all stop

すべてのコンポーネントを再起動してモニタリングを再開するには、次のコマンドを実行します。

/opt/apigee/apigee-service/bin/apigee-all start
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

すべてのコンポーネントをモニタリング対象外にする場合は、apigee-monit を無効にする方法もあります。apigee-monit を停止、起動、無効化するをご覧ください。

apigee-monit を停止、起動、無効化する

サービスと同様に、apigee-monitapigee-service コマンドを使用して停止および起動できます。さらに、apigee-monitunmonitor コマンドもサポートしており、これを使用してコンポーネントのモニタリングを一時的に停止できます。

apigee-monit を停止する

apigee-monit を停止するには、次のコマンドを使用します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop

apigee-monit を起動する

apigee-monit を起動するには、次のコマンドを使用します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

apigee-monit を無効にする

次のコマンドを使用して、ノード上のすべてのコンポーネントのモニタリングを一時的に停止できます。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

別の方法として、apigee-monit をノードからアンインストールして恒久的に無効にすることもできます。 をアンインストールするをご覧ください。

apigee-monit をアンインストールする

apigee-monit をアンインストールするには:

  1. apigee-monit をモニタリングする cron ジョブを設定している場合は、apigee-monit をアンインストールする前にその cron ジョブを削除します。
    sudo rm /etc/cron.d/apigee-monit.cron
  2. 次のコマンドで apigee-monit を停止します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
  3. 次のコマンドで apigee-monit をアンインストールします。
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit uninstall
  4. 上記の手順をクラスタ内の各ノードで繰り返します。

新しくインストールしたコンポーネントをモニタリングする

apigee-monit が動作しているノードに新しくインストールしたコンポーネントのモニタリングを開始するには、 の restart コマンドを使用します。このコマンドを実行すると新しい monit.conf ファイルが生成され、コンポーネント構成に新しいコンポーネントが追加されます。

次の例は、apigee-monit を再起動します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit restart

apigee-monit をカスタマイズする

次のようなさまざまな apigee-monit 設定をカスタマイズできます。

  1. デフォルトの apigee-monit 制御設定
  2. グローバル構成設定
  3. Apigee 以外のコンポーネントの構成

デフォルトの apigee-monit 制御設定

ステータス チェックの頻度や apigee-monit ファイルの場所など、デフォルトの 制御設定をカスタマイズできます。そのためには、code with config 手法を使用してプロパティ ファイルを編集します。編集したプロパティ ファイルは、Apigee Edge for Private Cloud をアップグレードした後も維持されます。

次の表に、カスタマイズ可能なデフォルトの apigee-monit 制御設定を示します。

プロパティ 説明
conf_monit_httpd_port httpd デーモンのポート。apigee-monithttpd を使用してそのダッシュボード アプリを実行し、レポート / サマリーを使用可能にします。デフォルト値は 2812 です。
conf_monit_httpd_allow httpd デーモンへのリクエストに対する制約。apigee-monithttpd を使用してそのダッシュボード アプリを実行し、レポート / サマリーを使用可能にします。この値はローカルホスト(httpd が動作しているホスト)を指す必要があります。

リクエストにユーザー名とパスワードを含める必要がある場合は、次の構文を使用します。


conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1

ユーザー名とパスワードを追加するとき、各制約の間に "\n" を挿入します。実際の改行または復帰改行を値に挿入しないでください。

conf_monit_monit_datadir イベント詳細が保存されるディレクトリ。
conf_monit_monit_delay_time apigee-monit が初めてメモリに読み込まれてから実行を開始するまでの待機時間。これは apigee-monit の最初のプロセス チェックにのみ影響します。
conf_monit_monit_logdir apigee-monit ログファイルの場所。
conf_monit_monit_retry_time apigee-monit が各プロセスのチェックを試みる時間間隔。デフォルトは 60 秒です。
conf_monit_monit_rundir PID ファイルと状態ファイルの場所。apigee-monit はこれらのファイルをプロセスのチェックに使用します。

デフォルトの apigee-monit 制御設定をカスタマイズするには:

  1. 次のファイルを編集します。
    /opt/apigee/customer/application/monit.properties

    このファイルが存在しない場合は作成し、ファイルの所有者を「apigee」ユーザーに設定します。

    chown apigee:apigee /opt/apigee/customer/application/monit.properties

    このファイルがすでに存在する場合、上記の表にない構成プロパティが定義されていることがあります。上記以外のプロパティは変更しないでください。

  2. プロパティの値を設定するか、新しい値に置き換えます。

    たとえば、ログファイルの場所を /tmp に変更するには、次のプロパティを追加または編集します。

    conf_monit_monit_logdir=/tmp/apigee-monit.log
  3. 変更を monit.properties ファイルに保存します。
  4. 次のコマンドで apigee-monit を再構成します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  5. 次のコマンドで apigee-monit を再読み込みします。
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    apigee-monit を再起動できない場合は、ログファイルでエラーを確認します。 のログファイルにアクセスするをご覧ください。

  6. 上記の手順をクラスタ内の各ノードで繰り返します。

グローバル構成設定

apigee-monit のグローバル構成設定を定義できます。たとえば、アラートのメール通知を追加できます。そのためには、/opt/apigee/data/apigee-monit ディレクトリに構成ファイルを作成してから apigee-monit を再起動します。

apigee-monit のグローバル構成設定を定義するには:

  1. 次の場所に新しいコンポーネント構成ファイルを作成します。
    /opt/apigee/data/apigee-monit/filename.conf

    ここで、filename には任意の有効なファイル名を使用できます。ただし、「monit」は除きます

  2. 次の例のように、新しい構成ファイルの所有者を「apigee」ユーザーに変更します。
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-mail-config.conf
  3. グローバル構成設定を新しいファイルに追加します。次の例では、メールサーバーを構成してアラートの受信者を設定しています。
    SET MAILSERVER smtp.gmail.com PORT 465
          USERNAME "example-admin@gmail.com" PASSWORD "PASSWORD"
          USING SSL, WITH TIMEOUT 15 SECONDS
    
        SET MAIL-FORMAT {
          from: edge-alerts@example.com
          subject: Monit Alert -- Service: $SERVICE $EVENT on $HOST
        }
        SET ALERT fred@example.com
        SET ALERT nancy@example.com

    グローバル構成オプションの一覧については、monit のドキュメントをご覧ください。

  4. 変更をコンポーネント構成ファイルに保存します。
  5. 次のコマンドで apigee-monit を再読み込みします。
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    apigee-monit が再起動しない場合は、ログファイルでエラーを確認します。 のログファイルにアクセスするをご覧ください。

  6. 上記の手順をクラスタ内の各ノードで繰り返します。

Apigee 以外のコンポーネントの構成

Apigee Edge for Private Cloud に含まれていないサービスもチェックの対象となるよう、apigee-monit に独自の構成を追加できます。たとえば、apigee-monit からターゲット エンドポイントにリクエストを送信して API が動作しているかどうかをチェックできます。

Apigee 以外のコンポーネントの構成を追加するには:

  1. 次の場所に新しいコンポーネント構成ファイルを作成します。
    /opt/apigee/data/apigee-monit/filename.conf

    ここで、filename には任意の有効なファイル名を使用できます。ただし、「monit」は除きます

    コンポーネント構成ファイルは必要な数をいくつでも作成できます。たとえば、ノード上のモニタリングする Apigee 以外のコンポーネントごとに構成ファイルを作成できます。

  2. 次の例のように、新しい構成ファイルの所有者を「apigee」ユーザーに変更します。
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-config.conf
  3. カスタム構成を新しいファイルに追加します。次の例では、ローカル サーバー上のターゲット エンドポイントをチェックしています。
    CHECK HOST localhost_validate_test WITH ADDRESS localhost
          IF FAILED
            PORT 15999
            PROTOCOL http
            REQUEST "/validate__test"
            CONTENT = "Server Ready"
            FOR 2 times WITHIN 3 cycles
          THEN alert

    使用可能な構成設定の一覧については、monit のドキュメントをご覧ください。

  4. 変更を構成ファイルに保存します。
  5. 次のコマンドで apigee-monit を再読み込みします。
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    apigee-monit が再起動しない場合は、ログファイルでエラーを確認します。 のログファイルにアクセスするをご覧ください。

  6. 上記の手順をクラスタ内の各ノードで繰り返します。

この手順は Edge 以外のコンポーネントに対してのみ有効です。Edge コンポーネントのコンポーネント構成はカスタマイズできません。

apigee-monit のログファイルにアクセスする

apigee-monit は、イベント、再起動、構成の変更、アラートなどのすべてのアクティビティをログファイルに記録します。

ログファイルのデフォルトの場所は次のとおりです。

/opt/apigee/var/log/apigee-monit/apigee-monit.log

このデフォルトの場所は、apigee-monit の制御設定をカスタマイズすることで変更できます。

ログファイルの項目の形式は次のとおりです。

'edge-message-processor' trying to restart
    [UTC Dec 14 16:20:42] info     : 'edge-message-processor' trying to restart
    'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'

apigee-monit のログファイル項目の形式をカスタマイズすることはできません。

apigee-monit で集約されたステータスを見る

apigee-monit には、ノード上のコンポーネントに関する集約されたステータス情報を提供する次のコマンドが用意されています。

コマンド 使用量
report

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
summary

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

これらの各コマンドについて、以降のセクションで詳しく説明します。

report

report コマンドは、ノード上の現在稼働しているコンポーネント、ダウンしているコンポーネント、初期化中のコンポーネント、モニタリング対象外になっているコンポーネントの数を集計して表示します。report コマンドは次のように呼び出します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report

次の例は、AIO(オールインワン)構成での report の出力を示します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
    up:            11 (100.0%)
    down:           0 (0.0%)
    initialising:   0 (0.0%)
    unmonitored:    1 (8.3%)
    total:         12 services

この例では、12 のサービスのうち 11 が apigee-monit によって稼働中と報告されています。1 つのサービスが現在モニタリングされていません。

report コマンドを初めて実行したとき、Connection refused エラーが発生することがあります。その場合は、conf_monit_monit_delay_time プロパティで指定された期間待ってから、もう一度試してください。

summary

summary コマンドは、各コンポーネントとそのステータスを一覧表示します。summary コマンドは次のように呼び出します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

次の例は、AIO(オールインワン)構成での summary の出力を示します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
    Monit 5.25.1 uptime: 4h 20m
     Service Name                     Status                      Type
     host_name                        OK                          System
     apigee-zookeeper                 OK                          Process
     apigee-cassandra                 OK                          Process
     apigee-openldap                  OK                          Process
     apigee-qpidd                     OK                          Process
     apigee-postgresql                OK                          Process
     edge-ui                          OK                          Process
     edge-qpid-server                 OK                          Remote Host
     edge-postgres-server             OK                          Remote Host
     edge-management-server           OK                          Remote Host
     edge-router                      OK                          Remote Host
     edge-message-processor           OK                          Remote Host

summary コマンドを初めて実行したときに Connection refused エラーが発生した場合は、conf_monit_monit_delay_time プロパティで指定された期間を待ってから、もう一度試してください。

apigee-monit をモニタリングする

各ノードで apigee-monit が動作していることを定期的にチェックすることをおすすめします。

apigee-monit が動作していることをチェックするには、次のコマンドを使用します。

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

このコマンドは、apigee-monit が動作している各ノードで定期的に発行することをおすすめします。そのための方法のひとつが、スケジュールしたタスクを定義した間隔で実行する cron などのユーティリティを使用することです。

cron を使用して apigee-monit をモニタリングするには:

  1. 次の例のように、apigee-monit.cron ディレクトリを /etc/cron.d ディレクトリにコピーして cron のサポートを追加します。
    cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
  2. apigee-monit.cron ファイルを開いて編集します。

    apigee-monit.cron ファイルは、実行する cron ジョブとそのジョブを実行する頻度を定義します。次の例はデフォルト値を示します。

    # Cron entry to check if monit process is running. If not start it
        */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

    このファイルで使用する構文は次のとおりです。最初の 5 つのフィールドで、apigee-monit がそのアクションをいつ実行するかを定義します。

    min hour day_of_month month day_of_week task_to_execute

    たとえば、デフォルトの実行時間は */2 * * * * です。これは apigee-monit プロセスを 2 分ごとにチェックするよう cron に指示します。

    cron ジョブの実行間隔を 1 分未満にすることはできません。

    cron の使用に関する詳細については、ご使用のサーバー OS のドキュメントまたは man ページをご覧ください。

  3. cron の設定を組織のポリシーに合わせて変更します。たとえば、実行間隔を 5 分ごとに変更するには、ジョブの定義を次のように設定します。
    */5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
  4. apigee-monit.cron ファイルを保存します。
  5. 上記の手順をクラスタ内の各ノードで繰り返します。

cron による apigee-monit の監視が開始されない場合は、次のことを確認します。

  • cron ジョブ定義の後に空白行がある。
  • ファイルで定義されている cron ジョブ定義が 1 つだけである(コメント行はカウントしません)。

apigee-monit を停止または一時的に無効にする場合は、この cron ジョブも無効にする必要があります。無効にしないと、cron によって が再起動されます。

cron を無効にするには、次のいずれかを行います。

  • /etc/cron.d/apigee-monit.cron ファイルを削除します。
    sudo rm /etc/cron.d/apigee-monit.cron

    後で cron を再び有効にして apigee-monit を監視する場合は、このファイルを再度コピーする必要があります。

    または

  • /etc/cron.d/apigee-monit.cron ファイルを編集し、ジョブ定義の行の先頭に「#」を付けて行をコメントアウトします。次に例を示します。
    # 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit