AppDynamics データベースの可視性を使用して Windows ベースのマシンハードウェアをモニタするため、AppDynamics は Windows Management Instrumentation(WMI)を使用してリモートでメトリックを収集します。WMI は、データベースエージェントが Linux または Unix 系のマシンで実行されている場合、トラブルシューティングが複雑になることがよくあります。

このページでは、いくつかの問題や落とし穴を回避できるように、ターゲットマシン構成の要件について説明します。また、WMI を使用して SQL Server データベースエージェントをモニタし、WMI への不正なリモートアクセスを防止することに関する追加の考慮事項についても説明します。

指定 Windows アカウント:

AppDynamics データベースエージェントがターゲットマシンに接続するために使用するコレクタ設定で指定されたユーザは、「指定 Windows アカウント」と呼びます。

データベースエージェントが AIX、Linux、または Solaris プラットフォームでホスティングされていて、Windows 7 以降のシステムをモニタする場合は、次のことが必要です。 

データベースエージェントが AIX、Linux、または Solaris プラットフォームでホスティングされていて、Windows 2012 以降のシステムをモニタする場合は、次のことが必要です。 

データベースエージェントが Windows でホストされている場合は、次のことが必要です。 

  • 指定 Windows アカウントがローカル管理者グループのメンバーであることを確認します。

Windows 7 以降のシステムをモニタするための要件(Unix 系のプラットフォームで実行されているエージェント)

データベースエージェントが AIX、Linux、または Solaris プラットフォームでホスティングされていて、Windows 7 以降のシステムをモニタする場合は、次のことが必要です。

WMI を使用する場合、ユーザアカウントが最小のセキュリティ要件を満たしていることを確認

ドメインの一部である Windows システムのセキュリティオプションを有効にする

指定 Windows アカウントに WMI コントロールの適切な権限があることを確認します。

  1. wmimgmt.msc プログラムを実行します。
  2. 左側の [WMI Control] アイコンを右クリックし、[Properties] をクリックします。
  3.  Security.
  4. ツリーのルートノードをクリックし、[Security] をクリックします。
  5. データベースエージェントを実行している指定ユーザアカウントに関連する権限があることを確認します。 

    データベースエージェントに必要なリモート Windows アカウントの最小権限は次のとおりです。

    • メソッドの実行
    • アカウントを有効化
    • リモートの有効化

    指定 Windows アカウントにこれらすべての権限がない場合は、アクセスが拒否されたことを示すエラーまたは次のエラーが表示されることがあります。

    Error=800706BA The RPC server is unavailable. SWbemLocator 

    または

    Error=80070005 Access is denied SWbemLocator 

ローカル(非ドメイン)Windows システムの Classic セキュリティオプションを有効にする

ドメインの一部ではない Windows コンピュータに適用されます。

  1. Control パネルを開き、[Administrative Tools ] > [ Local Security Policy] に移動します。[ Local Security Settings] パネルが表示されます。
  2. [Local Policies ] >[ Security Options.] に移動します。
  3. Network access: Sharing and security model for local accounts の値を Classic に変更します。

リモートレジストリアクセスの有効化

リモートレジストリサービスがターゲットマシンで実行されている必要があります。リモート登録サービスがオフになっている場合は、次のエラーが表示されます。

Message not found for errorCode: 0xC0000034

または 

Access is denied

デフォルトでは、Windows 7 以降のシステムでは、リモートレジストリサービスが開始されていても、引き続きレジストリへのリモートアクセスが拒否されます。

これをテストするには、次の手順を実行します。

  1. 別のマシンで Regedit を使用してレプリカレジストリに接続してみてください。 
  2. Access is denied」のようなエラーが表示された場合は、レプリカで管理者として PowerShell を実行し、Enable-PSRemoting を実行します。 
  3. マシンを再起動して、レプリカを再起動してみます。

WBEM Scripting Locator へのアクセス権の付与

データベースエージェントには、WBEM Scripting Locator へのフルアクセス権が必要です。ターゲットシステムで、次のようにして、WBEM Scripting Locator へのフルアクセスを許可します。

  1. ターゲットマシンの管理者として、Regedit を起動します。
  2. 次のレジストリキーを見つけます。
    76A64158-CB41-11D1-8B02-00600806D9B6HKEY_CLASSES_ROOT\CLSID 内)
  3. キーを右クリックし、[ Permissions] をクリックします。
  4. [Advanced] をクリックします。
  5. [Owner] をクリックし、所有者を管理者グループに変更します。[Apply] をクリックします。
  6. [Permissions] をクリックし、管理者グループの権限を Full Control に変更します。[Apply] をクリックします。
  7. Regedit を閉じます。
  8. [Administrative Tools ] > [ Services] を使用して、リモートレジストリサービスを再起動します。

ファイアウォールの設定

WMI は、ポート 135 でリッスンし、その後の通信にダイナミックポートを割り当てる RPC を使用します。TCP ポート 135 の例外を常に許可するようにファイアウォールを構成し、ダイナミック RPC ポートに従うようにします。ファイアウォール、ポート 135 に問題がある場合は、次のエラーが表示される可能性があります。

ERROR: Message not found for errorCode: 0xC0000001

How to configure RPC dynamic port allocation to work with firewalls」[英語] を参照してください。

Windows 2012 以降のシステムをモニタするための追加要件(Unix 系のプラットフォームで実行されているエージェント)

Windows 7 以降のシステムをモニタするための要件」で説明されている要件に加えて、データベースエージェントが AIX、Linux、または Solaris プラットフォームでホスティングされていて、Windows 2012 以降のシステムをモニタする場合は、次のことも必要です。 

レジストリキーを選択するためのフルコントロール権限の付与

AIX、Linux、または Solaris で実行されているデータベースエージェントが Windows 2012(64 ビット)以降のシステムをモニタするには、ターゲットシステムで次の変更を行います。

  1. ターゲットマシンの管理者として、Regedit を起動します。
  2. 次の両方のレジストリキーの権限を Full Control に変更します。
    72C24DD5-D70A-438B-8A42-98424B88AFB8HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID 内)
    76A64158-CB41-11D1-8B02-00600806D9B6HKEY_CLASSES_ROOT\CLSID 内)
  3. 次のレジストリキーを検索します。
    72C24DD5-D70A-438B-8A42-98424B88AFB8HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID 内)
  4. 右クリックして、[Permissions] をクリックします。
  5. 所有者を管理者グループに変更します。
  6. 管理者グループの権限を [Full Control] に変更します。
  7. 所有者を TrustedInstaller に戻します。ユーザはローカルマシンの「NT Service\Trusted Installer」です。
  8. 次のレジストリキーに対して、上記のステップ 4 〜 6 を繰り返します。
    76A64158-CB41-11D1-8B02-00600806D9B6HKEY_CLASSES_ROOT\CLSID 内)
  9. Regedit を閉じます。
  10. [Administrative Tools ] > [ Services] を使用して、リモートレジストリサービスを再起動します。

すべてのプラットフォームにおける一般的な考慮事項

この情報は、Windows システムで実行されているデータベースエージェントに適用されます。

Microsoft SQL Server の Windows 認証を使用する

データベースエージェントが Microsoft SQL Server データベースインスタンスに接続するために Windows 認証を使用するには、次のようなコマンドを使用してデータベースエージェントを起動する必要があります。データベースエージェント認証ライブラリへのパスを指定します。

Windows 64-bit

java -Djava.library.path="C:\dbagent404\auth\x64" -jar db-agent.jar

Windows 32-bit

java -Djava.library.path="C:\dbagent404\auth\x86" -jar db-agent.jar

データベースエージェントの起動に使用する Windows アカウントは、データベースサーバで認証できる Windows ユーザである必要があります。