SAP ABAP エージェントのセットアップ

ABAP エージェントは、SAP トランザクションコード /DVD/APPD_CUST を使用してカスタマイズされます。

AppDynamics コントローラへの接続

AppDynamics コントローラに接続するには、次の手順を実行します。

  1. AppDynamics のホスト名とポート番号を入力します。

    注: 注:[Custom SSL file] フィールドは、オンプレミスコントローラが使用され、それとの SSL 通信が必要な場合にのみ指定します。このフィールドは、

    手順

    で事前に入力されますが、リモートの手動による HTTP SDK のインストール時に手動で設定する必要があります。「リモート HTTP SDK のカスタム証明書のインストール」を参照してください。
  2. HTTP 接続にプロキシが必要な場合は、プロキシホスト名とポート番号を入力します。プロキシで認証が必要な場合は、ユーザーとパスワードを入力します。

    注: HTTP プロキシは、AppDynamics コントローラおよびイベントサービスへの接続にのみ使用されます。HTTP SDK との通信は直接行われます。
  3. (オプション)コントローラ(またはイベントサービス)への SSL 接続が使用される場合、ABAP エージェントは SSL アイデンティティがないとコントローラに直接到達できません。

    直接接続は次の場合に使用されます。

      • SAP GUI からのコントローラ接続ステータスの確認
      • 分析イベントデータをイベントサービスに渡す
      • ダッシュボードのコントローラへの直接アップロード

    SSL 接続を設定するには、次の手順を実行します。

    1. Web ブラウザでコントローラの URL を開き、すべての公開証明書をダウンロードします

    2. SAP への証明書のインポート

    3. 証明書がアップロードされている STRUST SSL アイデンティティを [Additional SSL settings] の [STRUST SSL identity] フィールドで選択します

  4. OAuth クライアントと OAuth シークレットを入力します。「Creating API Clients (Cisco AppDynamics SaaS)」および「Creating API Clients (Cisco AppDynamics On-Premises)」を参照してください。OAuth 設定が維持されると、ABAP エージェントは高度なコントローラ API を使用できるようになります。次の機能には OAuth 設定が必要です。

    • カスタム分析スキーマの削除: Analytics Administrator ロールが必要です。
    • 正常性ルールの複製: Administrator ロールが必要です。

SDK の設定

SDK を設定するには、次の手順を実行します。

  1. [SDK settings] で、アプリケーション名を入力します。アプリケーション名は、コントローラ上のアプリケーションに対応している必要があります。
  2. 層名を入力します。デフォルトの層名は SAP システム ID です。
  3. ローカル HTTP SDK を実行する場合は、SAP システムのすべてのアプリケーションサーバーで HTTP SDK インスタンスによって使用されるポート番号を入力します。

  4. (SDK Manager を使用して)リモート HTTP SDK を実行するには、SDK Manager のホスト名とポートを入力します。[Node settings] ペインで、各アプリケーションサーバーの一意の HTTP SDK ポートを入力します。「SDK Manager」も参照してください。

  5. (オプション)ABAP エージェントと SDK Manager 間の通信で SSL を有効にします。

    注:

    SSL オーバーヘッド

    SAP システム、SDK Manager、および Linux ゲートウェイシステムで実行されているリモート HTTP SDK インスタンス間のセキュアな接続を有効にする必要がある場合は、次の設定を実行します。これは、SAP アプリケーションサーバーにローカルにインストールされた HTTP SDK には適用されません。

    SDK Manager の SSL を有効にすると、ビジネストランザクションを作成する、代行受信される HTTP セッションのオーバーヘッドが増加します。このレベルの SSL セキュリティが不要な場合は、この機能を無効のままにします。

    1. SDK Manager への証明書の追加
    2. [SDK settings] の下の [Use SSL] チェックボックスをオンにします。
    3. 証明書がアップロードされている STRUST SSL アイデンティティを [SSL identity] フィールドで選択します。

  6. (オプション)リモートプロキシを使用します。

    リモート HTTP SDK が実行されているホストが現在の SAP システムとは異なるプロキシの背後にある場合、これらの設定により、リモート HTTP SDK はグローバルプロキシ設定を上書きし、代わりにこのプロキシを使用するようにリモート HTTP SDK に指示できます。チェックを外されたままプロキシ設定が入力されている場合 (グローバルプロキシ設定内)、リモート HTTP SDK は現在の SAP システムにも適用されているグローバルプロキシ設定を使用します。

他の AppDynamics エージェントへの接続の設定

ABAP エージェントは他の AppDynamics エージェントおよびエンドポイントに接続して、SAP システムの可視性を高めることができます。追加機能を有効にするには、次の接続を設定します。

インシデントログの構成

インシデントログは、ABAP エージェントが対応する HTTP SDK インスタンスに接続できないアプリケーションサーバーで、インストルメンテーションを一時的に非アクティブ化(ソフト非アクティブ化)するために使用されます。インシデントログの設定には、[Incident log ] ボタンを使用してツールバーからアクセスできます。

次の設定でインシデントログの動作を調整できます。

  • [Deactivation threshold]:インシデントログが特定のアプリケーションサーバーで ABAP エージェント統合を非アクティブ化するまでの接続試行失敗数
  • [Evaluation timeframe]:接続試行の失敗は、インシデントのタイムスタンプとともに記録されます。非アクティブ化しきい値評価のインシデントのリストは、現在のタイムスタンプから評価タイムフレーム(秒)を引いた時間よりも古くないタイムスタンプに基づいて選択されます。
  • [Reactivation wait]:インシデントログは、ABAP エージェント統合が自動的に復元されるまで、この秒数だけ待機します。これにより、非アクティブ化の前に発生したインシデントのリストもリセットされます。

デフォルト設定では、ABAP エージェントが特定のアプリケーションサーバー上の HTTP SDK インスタンスに接続できなかった場合、インシデントログはこれを新しいインシデントとして記録し、5 分(600 秒)以上古くないこのアプリケーションサーバーのインシデントのリストを選択します。10 個以上のインシデントが選択されている場合、インシデントログは、このアプリケーションサーバー上の ABAP エージェント統合を 1 分(60 秒)間非アクティブ化します。再アクティブ化の待機時間の後に ABAP エージェントが HTTP SDK への接続を試みると、インシデントログはこのアプリケーションサーバー上の ABAP エージェント統合を自動的に再アクティブ化します。

インシデントログの設定を調整することで、統合のアップタイムを長くすることや(非アクティブ化しきい値を大きくし、評価タイムフレームを短くします)、一部の接続に失敗した場合のエンドユーザーに対する統合の影響を軽減することができます(非アクティブ化しきい値を小さくし、再アクティブ化待機時間を長くします)。

統合のアクティブ化または非アクティブ化

AppDynamics 統合をアクティブ化する前に、ABAP エージェントをカスタマイズし、HTTP SDK インスタンスが実行されるようにします。

AppDynamics モジュールをアクティブまたは非アクティブにするには、編集モードにする必要があります。[AppDynamics Settings] から [Activate integration] ボタンまたは [Deactivate integration] ボタンをそれぞれクリックします。

注:

ABAP エージェント統合がアクティブ化されると、ABAP エージェントは、統合をアクティブ化する SAP ユーザーの下でバックグラウンドジョブをスケジュールします。次のジョブがスケジュールされます。

  • APPD_STAD_COL:アクティブな GUI トランザクション一致ルールが存在する場合、STAD コレクタジョブがスケジュールされます。このジョブは、STAD データを GUI トランザクション ビジネス トランザクションに再構築します。「SAP ダイアログトランザクションのモニター」を参照してください。
  • APPD_HOUSEKEEP_COL:ABAP エージェントの毎日のハウスキーピングジョブ。
  • APPD_AGENT_REGENERATE:(バージョン 22.11.0)SAP インスタンスのイベントが開始されたときに実行されるジョブ。ホストの再起動によってシャットダウンされた場合、対応するアプリケーションサーバーで HTTP SDK が自動的に開始されます。

バージョン 22.5.0 では、エキスパート設定を使用して、これらのバックグラウンドジョブを実行する特定の SAP ユーザーを設定し、ハウスキーピングジョブの期間を変更できます。

トラブルシューティング

接続に関する問題
  • 接続拒否(NIECONN_REFUSED)

    • 多くの場合、リモート HTTP SDK で発生しますが、他のエージェント(マシンエージェント、分析エージェント)にも適用できます。

    • SAP システム上の ABAP エージェントと別のホスト上のリモート HTTP SDK 間の通信がブロックされていないことを確認します。最も一般的な要因:

      • SAP システムの発信 HTTP 要求ファイアウォールポリシー

      • リモート HTTP SDK ホストの着信 HTTP 要求ファイアウォールポリシー

      • リモート HTTP SDK ホストのポートが開いていない:これには、SDK Manager ポート(デフォルトは 7999)と、トランザクション /DVD/APPD_CUST で設定された SAP システムの各アプリケーションサーバーのポートも含まれます。

      • ポートが別のアプリケーションによってリモート HTTP SDK ホストで占有されている:ポートがまだ使用されていないかどうかを確認するコマンドは次のとおりです。

        • Linux:「netstat -tulpn | grep <port_number>」- アクション「LISTEN」付きのレコードがある場合、ポートはすでに使用されています。

        • Windows:「netstat -ano | Select-String <port_number>」- アクション「LISTENING」付きのレコードがある場合、ポートはすでに使用されています。

      • また、到達しようとしているリモートホストにローカルホストから実際に Telnet 接続できることを確認します。OS レベルで、コマンド「telnet <host> <port>」を使用して、ホストに到達できるかどうかを確認します。

    • ABAP エージェントの設定に変更を加えた場合(アプリケーション名、変更されたポート番号)、SDK Manager とすべての HTTP SDK インスタンスをリモート HTTP SDK ホストで停止し、ドキュメントに従って SDK Manager を「-c」パラメータを使用してもう一度起動する必要があります。

  • SSLエラー

    • SSL 通信が使用されているが、証明書が見つからないか正しくない場合に発生します。

    • それぞれの API またはエージェントでエラーが発生する可能性があります。

      • SaaS コントローラ

        • Web ブラウザを使用して、SaaS コントローラの URL (例:https://company.saas.appdynamics.com/ ) に移動します。

        • このガイドを使用して証明書をダウンロードします。

        • このガイドに従って、ダウンロードした証明書をトランザクション /DVD/APPD_CUST で使用している STRUST アイデンティティに追加します。トランザクション /DVD/APPD_CUST の STRUST アイデンティティが入力されていない場合は、DFAULT STRUST アイデンティティが使用されます。

      • イベント サービス

        • Web ブラウザを使用して、分析 API コントローラの URL(例:https://analytics.api.appdynamics.com/) に移動します。

        • このガイドを使用して証明書をダウンロードします。

        • このガイドに従って、ダウンロードした証明書をトランザクション /DVD/APPD_CUST で使用している STRUST アイデンティティに追加します。トランザクション /DVD/APPD_CUST の STRUST アイデンティティが入力されていない場合は、DFAULT STRUST アイデンティティが使用されます。

      • オンプレミスコントローラ

        • HTTP SDK とオンプレミスコントローラ間で SSL 通信が使用されている場合

        • このガイドに従います。

      • リモート HTTP SDK

        • ABAP エージェントとリモート HTTP SDK 間で SSL 通信が使用されている場合

        • このガイドのステップ 5 に従います。

  • イベント サービス

    • 接続失敗 - アクセスの禁止

      • イベントサービス用に生成された API キーに十分な権限がありません。

      • [Controller] > [Analytics] > [Configuration] > [API keys] に移動します

      • トランザクション /DVD/APPD_CUST で使用しているキーを探します。

      • [Edit] をクリックし、すべてのノードを展開し、すべてのチェックボックスをオンにします。

  • マシンエージェント

    • マシンエージェントは実行されているが、ABAP エージェントがマシンエージェントに到達できない

      • マシンエージェントが有効な HTTP リスナーを使用して開始されたことを確認します。

      • /DVD/APPD_CUST トランザクションで正しいポート(デフォルトは 8293)を使用していることを確認します。

    • マシンエージェントがコントローラで HTTP SDK と関連付けられていない

      • マシンエージェント設定の一意のホスト ID 値は、HTTP SDK が使用する値と同じである必要があります。これは自動的に行われますが、不一致が発生し、手動で処理する必要がある場合があります。一意のホスト ID は、このガイドに従って変更できます。一意のホスト ID を変更した後、変更を有効にするには、マシンエージェントを忘れずに再起動してください。

  • 分析エージェント

    • 分析エージェントは実行されているが、ABAP エージェントに検出されない

      • ホストとポートが正しく設定されており、トランザクション /DVD/APPD_CUST でトランザクション分析が有効になっていることを確認します。

      • 分析エージェントが実行されているホストに HTTP SDK ホストから到達可能であることを確認します。

      • HTTP SDK は、分析エージェント/トランザクション分析の設定後に再起動する必要があります。

設定の問題
  • 一般的な問題

    • バックグラウンドジョブの実行時間が長すぎる

      • 汎用的すぎる GUI 一致ルールを使用していないことを確認します。実稼働システムが大規模であり、あらゆる GUI トランザクションと一致するように一致ルールが設定されている場合、または自動生成された一致ルールを使用している場合、バックグラウンドジョブはタイムアウトするまでの実行時間が長すぎることがあります。これは、大量の GUI トランザクションをビジネストランザクションとして処理していることにより、ABAP エージェントジョブのパフォーマンス オーバーヘッドが大きくなることがあるためです。より具体的な一致ルールを使用し、関連するトランザクションのみをモニターします。

    • 統合がアクティブ化されているのに、STAD コレクタが非アクティブになる

      • STAD コレクタは、GUI トランザクションまたはバックグラウンドジョブの一致ルールが定義されていない限り、非アクティブです。GUI トランザクションまたはバックグラウンドジョブの一致ルール(トランザクション /DVD/APPD_INSTR または /DVD/APPD_STATUS → [Settings])を定義すると、STAD からトランザクションを収集してビジネストランザクションに変換するバックグラウンドジョブ APPD_STAD_COL が開始され、STAD コレクタがアクティブ化されます。

  • ビジネストランザクション

    • 一部の定義済みトランザクションがコントローラで表示されない

      • トランザクションの一部がコントローラで表示されない場合は、BT 制限に達していないか確認します。デフォルトの制限は、ノードあたり 50 BT、アプリケーションあたり合計 200 BT です。制限の詳細については、こちらを参照してください。大規模なシステムの場合は、生成された一致ルールまたはトランザクション分割を使用することは推奨されません。代わりに、このガイドに従ってより詳細な基準を定義します。

    • GUI BT スナップショットの時間詳細の取得元

      • すべての GUI トランザクション スナップショットには、STAD から直接抽出された時間詳細があります。SAP Note 8963 に記載されている各時間情報について説明する SAP Note があります。