Azure Monitor for SAP Solutions 用に SAP NetWeaver を構成する
この攻略ガイドでは、Azure Monitor for SAP Solutions 用に SAP NetWeaver プロバイダーを構成する方法について説明します。
SAP システムから情報を収集するように SAP Netweaver プロバイダーを構成するときに、ユーザーは 2 つの接続の種類を選択できます。 メトリックは、 以下を使用して収集されます
- SAP コントロール - SAP 起動サービスにより、SAP システムの監視など、複数のサービスが提供されます。 Azure Monitor for SAP Solutions の両バージョンで、これらの機能を公開する SOAP Web サービス インターフェイスである SAPControl が使用されます。 SAPControl インターフェイスでは、保護された Web サービス メソッドと保護されていない Web サービス メソッドが区別されます。 NetWeaver で Azure Monitor for SAP Solutions を使用するには、一部のメソッドの保護を解除する必要があります。
- SAP RFC - Azure Monitor for SAP ソリューションでは、Standard SAP RFC を使用して SAP システムから追加情報を収集する機能も提供されます。 これは、Azure Monitor for SAP Solution の一部としてのみ使用できます。
SAP NetWeaver プロバイダーを使用して以下のメトリックを収集できます。
- SAP システムおよびアプリケーション サーバーの可用性 (例: ディスパッチャー、ICM、ゲートウェイ、メッセージ サーバー、Enqueue Server、IGS Watchdog のインスタンス プロセス) (SAPControl)
- 作業プロセス使用の統計と傾向 (SAPControl)
- エンキュー ロックの統計と傾向 (SAPControl)
- キュー 使用の統計と傾向 (SAPControl)
- SMOメトリクス(トランザクションコード - /SDF/SMON) (RFC)
- SWNC ワークロード、メモリ、トランザクション、ユーザー、RFC 使用頻度 (トランザクションコード - St03n) (RFC)
- Short Dumps (トランザクションコード - ST22) (RFC)
- オブジェクトロック (トランザクションコード - ST12) (RFC)
- 失敗した更新(トランザクションコード - ST13) (RFC)
- システム ログ解析 (トランザクションコード - SM21) (RFC)
- バッチ ジョブStatistics (トランザクションコード - SM37) (RFC)
- 送信キュー(トランザクションコード - SMQ1) (RFC)
- 受信キュー(トランザクションコード - SMQ2) (RFC)
- トランザクション RFC (トランザクションコード - SM59) (RFC)
- STMS 変更トランスポート システム メトリック (トランザクション コード - STMS) (RFC)
前提条件
- Azure サブスクリプション。
- 既存の Azure Monitor for SAP solutions リソース。 Azure Monitor for SAP Solutions リソースを作成するには、Azure portal のクイックスタートまたは PowerShell のクイックスタートに関するページを参照してください。
Azure Monitor for SAP Solutions 用に NetWeaver を構成する
現在の Azure Monitor for SAP Solutions バージョン用に NetWeaver プロバイダーを構成するには、次の手順を実行する必要があります。
SAP NetWeaver プロバイダーの追加中に発生した問題を解決するには、「トラブルシューティング」セクションを参照してください。
メトリックの前提条件の保護解除メソッド
このステップは、SAP NetWeaver プロバイダーを構成するときに 必須です。 特定のメトリックをフェッチするには、各 SAP インスタンスの一部のメソッドの保護を解除する必要があります:
SAP サーバーへの SAP GUI 接続を開きます。
管理アカウントでサインインします。
トランザクション RZ10 を実行します。
適切なプロファイル (推奨されるインスタンス プロファイル) を選択します。
[Extended Maintenance](拡張メンテナンス)>[Change](変更) を選択します。
プロファイル パラメーター
service/protectedwebmethods
を選択します。値を次に変更します。
SDEFAULT -GetQueueStatistic -ABAPGetWPTable -EnqGetStatistic -GetProcessList -GetEnvironment -ABAPGetSystemWPTable
[コピー] を選択します。
[プロファイル]>[保存] を選択して変更を保存します。
SAP システム内の各インスタンスで SAPStartSRV サービスを再起動します。 サービスを再起動しても、システム全体は再起動されません。 このプロセスでは、SAPStartSRV (Windows の場合) またはデーモン プロセス (Unix または Linux) のみが再起動されます。
SAPControl Web メソッドの保護を解除するには、SAP システムの各インスタンスで SAPStartSRV サービスを再起動する必要があります。 NetWeaver プロバイダーが SAP システムからメトリック データをフェッチするには、これらの読み取り専用の SOAP API が必要です。 これらのメソッドの結果の保護を解除しないと、NetWeaver メトリック ブックで視覚化が空になる、または欠落します。
Windows システムでは、SAP Microsoft 管理コンソール (MMC) または SAP 管理コンソール (MC) を使用してサービスを再起動します。 各インスタンスを右クリックします。 次に、[すべてのタスク]>[サービスの再起動] を選択します。
Linux システムでは、次のコマンドを使用してホストを再起動します。
<instance number>
を SAP システムのインスタンス番号に置き換えます。
sapcontrol -nr <instance number> -function RestartService
- インスタンス プロファイルごとに前の手順を繰り返します。または、別のオプションとして、下位環境で SAP システムを再起動できます。
Web メソッドの保護を解除する PowerShell スクリプト
このリンクを参照して、SAP Windows 仮想マシンの Web メソッドの保護を解除できます。
RFC メトリックを有効にする前提条件
RFC メトリックは、AS ABAP アプリケーションでのみサポートされており、SAP JAVA システムには適用されません。 選択した接続の種類が SOAP+RFC の場合、このステップは必須です。 RFC を有効にするには、以下のステップを前提条件として実行する必要があります
SAP NW ABAP システムでロールを作成またはアップロードします。 Azure Monitor for SAP Solutions では、SAP に接続するためにこのロールが必要です。 ロールは最小限の特権アクセスを使用します。 Z_AMS_NETWEAVER_MONITORING.zip をダウンロードして解凍します
- SAP システムにログインします。
- メニューの [ロールのアップロード] で選択したトランザクション コードPFG> を使用します。
- ZIP ファイルから Z_AMS_NETWEAVER_MONITORING.SAP ファイルをアップロードします。
- [実行] を選択してロールを生成します。 (ロールのアップロードの一部としてプロファイルも生成されていることを確認します)
SAP システムにロールをインポートする転送
また、このリンクを参照して、ロールを PFCG にインポートし、SAP システム用に Netweaver プロバイダーを適切に構成するためのプロファイルを生成することもできます。
新しい RFC ユーザーを作成して承認します。
- RFC ユーザーを作成します。
- ロール Z_AMS_NETWEAVER_MONITORING をユーザーに割り当てます。 前のセクションでアップロードしたロールです。
SICF サービス が SAP インターネットコミュニケーションフレームワーク (ICF) を介して RFC にアクセスできるようにする
- トランザクション コード SICF に移動します。
- サービス パス
/default_host/sap/bc/soap/
に移動します。 - wsdl、wsdl11、RFC の各サービスをアクティブにします。
ICF ポートを有効にしたことを確認するようにお勧めします。
SMON - SMON を有効にして、システムのパフォーマンスを監視します。 ST-PI のバージョンが SAPK-74005INSTPI であることを確認します。
ブックが構成されていない場合は、ブックの一部として空の視覚化が表示されます。- システムの SDF/SMON スナップショット サービスを有効にします。 毎日の監視を有効にします。 手順については、SAP ノート 2651881 をご覧ください。
- 毎分集計されるように SDF/SMON メトリックを構成します。
- ターゲット SAP クライアントで 1 分ごとのバックグラウンド ジョブとして SDF/SMON をスケジュールすることをお勧めします。
- ブック タブ "System Performance - CPU and Memory (/SDF/SMON)" の一部として空の視覚化が表示される場合は、次の SAP ノートを適用します。
- リリース 740 SAPKB74006-SAPKB74025 - リリース 755 から SAPK-75502INSAPBASIS まで。 特定のサポート パッケージ バージョンについては、SAP ノート - SAP Note 2246160 を参照してください。
- メトリック コレクションで前述のノートが機能しない場合は、SAP Note 3268727 を試してみてください
セキュリティで保護された通信を有効にするには
SAP NetWeaver プロバイダーで TLS 1.2 以降を有効にするには、この SAP ドキュメントに記載されている手順を実行します
TLS 1.2 以降を使用したセキュリティで保護された通信用に SAP システムが構成されているかどうかを確認する
- トランザクション RZ10 に移動します。
- DEFAULT プロファイルを開き、[拡張メンテナンス] を選択し、[変更] を選択します。
- 次の構成は TLS1.2 用で、ビット マスクは 544: PFS になります。 TLS バージョンが上位の場合、ビット マスクは 544 より大きくなります。
作成の提供プロセス中に提供される HTTPS ポートを確認する
- トランザクション SMICM に移動します。
- メニューの [GOTO] -> [サービス] から選択します。
- HTTPS プロトコルがアクティブ状態であるかどうかを確認します。
NetWeaver プロバイダーの追加
すべての前提条件が正常に完了していることを確認します。 NetWeaver プロバイダーを追加するには、次の手順に従います。
Azure portal にサインインします。
Azure Monitor for SAP Solutions サービス ページに移動します。
[作成] を選び、リソース作成ページを開きます。
[基本] タブの情報を入力します。
[プロバイダー] タブを選択します。次に、[プロバイダーの追加] を選択します。
新しいプロバイダーを構成するには、次の手順に従います。
[種類] で、 [SAP NetWeaver] を選択します。
[名前]に、プロバイダーの一意の名前を指定します
[システム ID (SID)] には、3 文字の SAP システム識別子を入力します。
アプリケーション サーバーの場合は、監視する SAP NetWeaver システムの IP アドレスまたは完全修飾ドメイン名 (FQDN) を入力します。 たとえば、ホスト名
sapservername
とドメインcontoso.com
のsapservername.contoso.com
などです。 ホスト名を使用している場合は、Azure Monitor for SAP Solutions リソースの作成に使用した仮想ネットワークからの接続があることを確認します。[インスタンス番号] に、SAP NetWeaver のインスタンス番号を指定します (00 から 99)
[接続の種類] - 収集されたメトリックに基づいて SOAP + RFC または SOAP を選択します (詳細については、前述のセクションを参照してください)
[SAP クライアント ID] に、SAP クライアント識別子を指定します。
[SAP ICM HTTP Port](SAP ICM HTTP ポート) の場合は、ICM で使用されているポート、例: 80(NN) を入力します。ここで、(NN) はインスタンス番号です。
[SAP ユーザー名] に、SAP システムに接続するために作成したユーザーの名前を入力します。
[SAP パスワード] に、ユーザーのパスワードを入力します。
[ホスト ファイル エントリ] には、SID に関連付けられているすべての SAP VM の DNS マッピングを指定します。[ ホスト ファイル エントリ] にすべてのSAP アプリケーション サーバーと ASCS ホスト ファイル エントリを入力します。 ホスト ファイルのマッピングをコンマ区切り形式で入力します。 各エントリに必要な形式は、IP アドレス、FQDN、ホスト名です。 例: 192.X.X.X sapservername.contoso.com sapservername,192.X.X.X sapservername2.contoso.com sapservername2。 SID に関連付けられているすべての SAP ホスト名を確認するには、
sidadm
ユーザーを使用して SAP システムにサインインします。 次に、以下のコマンドを実行するか、または、以下のスクリプトを使用してホスト ファイル エントリを生成できます。特定の SID に関連付けられているインスタンスの一覧を検索するコマンド
/usr/sap/hostctrl/exe/sapcontrol -nr <instancenumber> -function GetSystemInstanceList
ホスト ファイル エントリを生成するスクリプト
ホスト ファイル エントリを生成するには、このリンクにある詳細な手順に従うことを強くお勧めします。 これらのエントリは、SAP システムの Netweaver プロバイダーを適切に作成するために重要です。
SAP Netweaver プロバイダーのトラブルシューティング
Netweaver プロバイダーの追加時の一般的な問題。
SAP ホスト名に到達できません。 ErrorCode: SOAPApiConnectionError
示されたホスト名の入力ホスト名、インスタンス番号、ホスト ファイル マッピングを確認します。
ホスト ファイル エントリ セクションのホスト ファイル エントリの確認手順に従います。
NSG/ファイアウォールがポート (5XX13 または 5XX14) をブロックしていないことを確認します。 (XX - SAP インスタンス番号)
AMS と SAP VM が同じ VNet 内にあるか、または VNet ピアリングを使用してアタッチされているかを確認します。
アタッチされていない場合は、次のリンクを参照して VNet を接続します。
保護されていない更新された規則を確認します。 ErrorCode: SOAPWebMethodsValidationFailed
SAP サービスを再起動した後、更新されたルールが各インスタンスに適用されていることを確認します。
SAP システムに
sidadm
としてサインインする場合。 次のコマンドを実行します。<instance number>
をシステムのインスタンス番号に置き換えます。sapcontrol -nr <instance number> -function ParameterValue service/protectedwebmethods
SIDADM 以外のユーザーとしてサインインする場合。 次のコマンドを実行し、
<instance number>
をシステムのインスタンス番号に、<admin user>
管理者のユーザー名に、<admin password>
パスワードにそれぞれ置き換えます。sapcontrol -nr <instance number> -function ParameterValue service/protectedwebmethods -user "<admin user>" "<admin password>"
出力結果を確認します。 出力に GetQueueStatistic ABAPGetWPTable EnqGetStatistic GetProcessList GetEnvironment ABAPGetSystemWPTable メソッドの名前が表示されていることを確認します
インスタンス プロファイルごとに前の手順を繰り返します。
ルールを検証するには、Web メソッドに対してテスト クエリを実行します。
<hostname>
ホスト名に、<instance number>
を SAP インスタンス番号、メソッド名を適切なメソッドに置き換えます。$SAPHostName = "<hostname>" $InstanceNumber = "<instance number>" $Function = "ABAPGetWPTable" [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true} $sapcntrluri = "https://" + $SAPHostName + ":5" + $InstanceNumber + "14/?wsdl" $sapcntrl = New-WebServiceProxy -uri $sapcntrluri -namespace WebServiceProxy -class sapcntrl $FunctionObject = New-Object ($sapcntrl.GetType().NameSpace + ".$Function") $sapcntrl.$Function($FunctionObject)
インターネット コミュニケーション フレームワークのポートが開かれていることを確認します。 ErrorCode: RFCSoapApiNotEnabled
SAP システムにサインインします
トランザクション コード SICF に移動します。
サービス パス
/default_host/sap/bc/soap/
に移動します。ping サービスを右クリックし、[テスト サービス] を選択します。 SAP によって既定のブラウザーが起動されます。
ポートに到達できない場合、またはテストが失敗した場合は、SAP VM でポートを開きます。
Linux の場合は、次のコマンドを実行します。
<your port>
を構成したポートに置き換えます。sudo firewall-cmd --permanent --zone=public --add-port=<your port>/TCP
sudo firewall-cmd --reload
Windows の場合は、[スタート] メニューから Windows Defender ファイアウォールを開きます。 サイド メニューの [詳細設定] を選択し、[受信ルール] を選択します。 ポートを開くには、[新しいルール] を選択します。 ポートを追加し、プロトコルを TCP に設定します。
メトリックの収集に関する一般的な問題と考えられる解決策
SMON メトリック
前提条件の SMON セクションを参照してください
バッチ ジョブ メトリック
ブック タブ "Application Performance -Batch Jobs (SM37)" の一部として空の視覚化が表示される場合は、SAP システムに次の SAP ノート SAP Note 2469926 を適用します。
OSS ノートを適用したら、RFC 関数モジュール BAPI_XMI_LOGON_WS を次のパラメーターを使って実行する必要があります。
この関数モジュールには、BAPI_XMI_LOGON と同じパラメーターがありますが、それらをテーブル BTCOPTIONS に格納します。
INTERFACE = XBP VERSION = 3.0 EXTCOMPANY = TESTC EXTPRODUCT = TESTP
SWNC メトリック
SWNC メトリックを確実に取得するには、SAP システムとオペレーティング システム (OS) の時刻が同期されていることを確認する必要があります。