SAP ABAP エージェントのセットアップ
ABAP エージェントは、SAP トランザクションコード /DVD/APPD_CUST を使用してカスタマイズされます。
AppDynamics コントローラへの接続
AppDynamics コントローラに接続するには、次の手順を実行します。
-
AppDynamics のホスト名とポート番号を入力します。
注: 注:[Custom SSL file] フィールドは、オンプレミスコントローラが使用され、それとの SSL 通信が必要な場合にのみ指定します。このフィールドは、 で事前に入力されますが、リモートの手動による HTTP SDK のインストール時に手動で設定する必要があります。「リモート HTTP SDK のカスタム証明書のインストール」を参照してください。 -
HTTP 接続にプロキシが必要な場合は、プロキシホスト名とポート番号を入力します。プロキシで認証が必要な場合は、ユーザーとパスワードを入力します。
注: HTTP プロキシは、AppDynamics コントローラおよびイベントサービスへの接続にのみ使用されます。HTTP SDK との通信は直接行われます。 -
(オプション)コントローラ(またはイベントサービス)への SSL 接続が使用される場合、ABAP エージェントは SSL アイデンティティがないとコントローラに直接到達できません。
直接接続は次の場合に使用されます。
-
- SAP GUI からのコントローラ接続ステータスの確認
- 分析イベントデータをイベントサービスに渡す
- ダッシュボードのコントローラへの直接アップロード
SSL 接続を設定するには、次の手順を実行します。
-
Web ブラウザでコントローラの URL を開き、すべての公開証明書をダウンロードします
-
証明書がアップロードされている STRUST SSL アイデンティティを [Additional SSL settings] の [STRUST SSL identity] フィールドで選択します
-
-
OAuth クライアントと OAuth シークレットを入力します。「Creating API Clients (Cisco AppDynamics SaaS)」および「Creating API Clients (Cisco AppDynamics On-Premises)」を参照してください。OAuth 設定が維持されると、ABAP エージェントは高度なコントローラ API を使用できるようになります。次の機能には OAuth 設定が必要です。
- カスタム分析スキーマの削除: Analytics Administrator ロールが必要です。
-
正常性ルールの複製: Administrator ロールが必要です。
SDK の設定
SDK を設定するには、次の手順を実行します。
- [SDK settings] で、アプリケーション名を入力します。アプリケーション名は、コントローラ上のアプリケーションに対応している必要があります。
- 層名を入力します。デフォルトの層名は SAP システム ID です。
-
ローカル HTTP SDK を実行する場合は、SAP システムのすべてのアプリケーションサーバーで HTTP SDK インスタンスによって使用されるポート番号を入力します。
-
(SDK Manager を使用して)リモート HTTP SDK を実行するには、SDK Manager のホスト名とポートを入力します。[Node settings] ペインで、各アプリケーションサーバーの一意の HTTP SDK ポートを入力します。「SDK Manager」も参照してください。
-
(オプション)ABAP エージェントと SDK Manager 間の通信で SSL を有効にします。
注:SSL オーバーヘッド
SAP システム、SDK Manager、および Linux ゲートウェイシステムで実行されているリモート HTTP SDK インスタンス間のセキュアな接続を有効にする必要がある場合は、次の設定を実行します。これは、SAP アプリケーションサーバーにローカルにインストールされた HTTP SDK には適用されません。
SDK Manager の SSL を有効にすると、ビジネストランザクションを作成する、代行受信される HTTP セッションのオーバーヘッドが増加します。このレベルの SSL セキュリティが不要な場合は、この機能を無効のままにします。
- SDK Manager への証明書の追加
- [SDK settings] の下の [Use SSL] チェックボックスをオンにします。
-
証明書がアップロードされている STRUST SSL アイデンティティを [SSL identity] フィールドで選択します。
-
(オプション)リモートプロキシを使用します。
リモート HTTP SDK が実行されているホストが現在の SAP システムとは異なるプロキシの背後にある場合、これらの設定により、リモート HTTP SDK はグローバルプロキシ設定を上書きし、代わりにこのプロキシを使用するようにリモート HTTP SDK に指示できます。チェックを外されたままプロキシ設定が入力されている場合 (グローバルプロキシ設定内)、リモート HTTP SDK は現在の SAP システムにも適用されているグローバルプロキシ設定を使用します。
他の AppDynamics エージェントへの接続の設定
ABAP エージェントは他の AppDynamics エージェントおよびエンドポイントに接続して、SAP システムの可視性を高めることができます。追加機能を有効にするには、次の接続を設定します。
- (オプション) HTTP SDK を使用できない場合は、マシンエージェントの HTTP リスナー接続を設定して、カスタム アプリケーション イベントをコントローラに転送できるようにします。 「AppDynamics イベントサービスと分析への接続」と「アプリケーションイベント API アダプタ」を参照してください。
- 分析イベント API 接続を設定して、SAP システムからのモニター対象データをカスタム分析データとしてイベントサービスに複製できるようにします。「AppDynamics イベントサービスと分析への接続」および「分析 API アダプタ」を参照してください。
- 分析エージェント接続を設定して、C++ SDK から分析エージェントを介してビジネストランザクション分析レポートをトランザクション分析データとしてイベントサービスに送信できるようにします。「分析エージェントへの接続」を参照してください。
インシデントログの構成
インシデントログは、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エラー
-
イベント サービス
-
接続失敗 - アクセスの禁止
-
イベントサービス用に生成された 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 コレクタがアクティブ化されます。
-
-
-
ビジネストランザクション
-
一部の定義済みトランザクションがコントローラで表示されない
-
GUI BT スナップショットの時間詳細の取得元
-
すべての GUI トランザクション スナップショットには、STAD から直接抽出された時間詳細があります。SAP Note 8963 に記載されている各時間情報について説明する SAP Note があります。
-
-