The Microsoft System Center Virtual Machine Manager (SCVMM) integration with OpsRamp enables seamless management, monitoring, and optimization of virtualized data centers. By integrating SCVMM into OpsRamp, organizations gain enhanced visibility into their virtual infrastructure, allowing administrators to efficiently manage resources, troubleshoot issues, and maintain optimal performance.

Prerequisites

On Gateway

  • OpsRamp Classic Gateway (Linux) version 15.0.0 or later.
  • OpsRamp NextGen Gateway version 15.0.0 or later.

Note:We recommend using the latest Gateway version for full coverage of (Recent bug fixes, enhancements, etc.)

  • Ensure the SCVMM host/IP address and required ports are accessible from the Gateway.
  • Open TCP port 22 for PowerShell over SSH.
  • For legacy PowerShell Remoting, open TCP ports 5985 and/or 5986.

Note: By default, WS-Man and PowerShell remoting use port 5985 and 5986 for connections over HTTP and HTTPS, users should be present in nodes and cluster.

Non-Administrator User Privileges for PowerShell over SSH

The following permissions and configurations are required when using the PowerShell over SSH connection option with a non-administrator user account.

Prerequisites

Configure the non-administrator user on the target cluster and all applicable nodes.


1. Add User to the Performance Monitor Users Group

The user must be a member of the Performance Monitor Users group to collect performance counter metrics.

net localgroup "Performance Monitor Users" /add "<user>"

2. Grant Remote WMI Read-Only Permissions

To grant remote WMI read-only access, perform the following steps on each monitored system:

  1. Press Windows Key + R, type wmimgmt.msc, and press Enter.
  2. In the left pane, right-click WMI Control (Local) and select Properties.
  3. Navigate to the Security tab.
  4. Expand Root and select CIMV2.
  5. Click Security.
  6. Click Add, enter the non-administrator user account, and click OK.
  7. Select the user and grant only the following permissions:
  • Enable Account (allows local read access).
  • Remote Enable (allows remote read access).
  1. Click Advanced.
  2. Select the user and click Edit.
  3. Set Applies to as This namespace and subnamespaces.
  4. Click OK, then Apply, and close all WMI management windows.

3. Grant the VMM Read-Only Administrator Role

Assign the non-administrator user the VMM Read-Only Administrator user role. This allows the user to execute Get-SC* cmdlets to view infrastructure data without making changes.

Connection Modes

Starting from Microsoft SCVMM version 1.3.0, the option to select the connectionMode is available. The supported options are:

  • PowerShell (existing)
  • OpenSSH (new)

PowerShell Remoting over WinRM

Configuration steps
  • Enable PowerShell Remoting on every applicable target:
  Enable-PSRemoting -Force
  • Add the user to Remote Management Users:
  net localgroup "Remote Management Users" /add "<user>"
  • Add the OpsRamp Gateway IP to TrustedHosts:
  Set-Item WSMan:\localhost\Client\TrustedHosts -Force -Concatenate -Value "<OpsRampGatewayIP>"

To allow any host, when explicitly required:

  Set-Item WSMan:\localhost\Client\TrustedHosts -Force -Value "*"
  • Configure and restart WinRM:
  Set-Service WinRM -StartupType Automatic
  Restart-Service WinRM -Force
  • Open WinRM ports on every applicable target:
    • 5985 for WinRM over HTTP.
    • 5986 for WinRM over HTTPS.
PowerShell pre-checks

Verify network connectivity from the Gateway:

ping <IP-address-or-hostname>
telnet <IP-address-or-hostname> 5985
telnet <IP-address-or-hostname> 5986
  • For a Classic Gateway, launch PowerShell directly:
  pwsh
  • For a NextGen Gateway, enter the NativeBridge container and launch PowerShell:
  kubectl exec -it nextgen-gw-0 -c nativebridge -- /bin/bash
  pwsh

Test PowerShell Remoting using the integration credential:

$password = ConvertTo-SecureString -AsPlainText -Force -String "<password>"
$credential = New-Object `
    -TypeName System.Management.Automation.PSCredential `
    -ArgumentList "<username>", $password
$session = New-PSSession `
    -ComputerName "<IP-address-or-hostname>" `
    -Credential $credential `
    -Authentication Negotiate `
    -ErrorAction Stop
$session.State

The session state must be Open. Close the test session:

Remove-PSSession $session

A successful PowerShell session confirms connectivity and authentication only. The user must also have the application-specific permissions required to execute discovery and monitoring commands.

PowerShell over SSH using OpenSSH

The non-administrator user must have the following privileges:

  • Membership in the Performance Monitor Users group.
  • Remote WMI read-only access to the Root\CIMV2 namespace and subnamespaces.
  • VMM Read-only Administrator user role.
Pre-checks

Check whether OpenSSH Server is installed:

Get-WindowsCapability -Online -Name OpenSSH.Server*

Check the SSH service:

Get-Service sshd
Configuration steps
  • Install OpenSSH Server if it is not already installed:
  Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
  • Start sshd and configure automatic startup:
  Start-Service sshd
  Set-Service sshd -StartupType Automatic
  • Open inbound TCP port 22:
  New-NetFirewallRule `
      -Name "Allow-SSH-Port-22" `
      -DisplayName "Allow SSH Port 22" `
      -Protocol TCP `
      -Direction Inbound `
      -LocalPort 22 `
      -Action Allow `
      -Profile Domain,Private,Public
  • Open C:\ProgramData\ssh\sshd_config as an administrator:
  notepad C:\ProgramData\ssh\sshd_config
  • Configure password authentication and the permitted user:
  PasswordAuthentication yes
  AllowUsers <ssh-username>
  • Set Windows PowerShell as the OpenSSH default shell:
  Set-ItemProperty `
      -Path "HKLM:\SOFTWARE\OpenSSH" `
      -Name DefaultShell `
      -Value "$PSHOME\powershell.exe"
  • Restart sshd and confirm that it is running:
  Restart-Service sshd
  Get-Service sshd
Validate connectivity from the Gateway
ping <IP-address-or-hostname>
telnet <IP-address-or-hostname> 22
ssh <username>@<IP-address-or-hostname>

The SSH connection must be established successfully, and PowerShell must be configured as the default shell. After connecting, run the following command to verify the installed PowerShell version and confirm that the active shell is PowerShell:

$PSVersionTable.PSVersion

Configure Microsoft SCVMM

  1. To select your client, navigate to All Clients, and click the Client/Partner dropdown menu.
    Note: You may either type your client’s name in the search bar or select your client from the list.
  2. Navigate to Setup > Account. The Account Details screen is displayed.
  3. Click Integrations. The Installed Integrations screen is displayed with all the installed applications.
    Note: If you do not have any installed applications, you will be navigated to the Available Integrations and Apps page with all the available applications along with the newly created application with the version.
  4. Click + ADD on the Installed Integrations page.
    Note: Search for the integration either by entering the name of the integration in the search bar or by selecting the category of the integration from the All Categories dropdown list.
  5. Click ADD in the Microsoft SCVMM application.
  6. In the Configuration screen, click +ADD. The Add Configuration screen appears.
  7. Enter the following BASIC INFORMATION:


Field NameDescriptionField Type
NameA user-defined display name for the integration instance.String
Host Name / IP AddressEnter the Host Name / IP Address of the Microsoft SCVMM. It should be accessible from Gateway.String
CredentialsSelect the credential associated with your Microsoft SCVMM account. If you want to use the existing credentials, select them from the Select Credentials dropdown. Else, click +ADD to create credentials. The ADD CREDENTIAL window is displayed. Enter the following information.
  • Name: Enter the credential name.
  • Description: Enter the brief description of the credential.
  • User Name: Enter the Username.
  • Password: Enter the password.
  • Confirm Password: Confirm your password
  • Port:Select the port number from the dropdown.
  • Connection Timeout (ms):Specify the connection timeout in milliseconds.
Dropdown
Connection ModeOpen SSH is the only supported option.
Note: The PowerShell connection model was removed for security reasons. Migration to OpenSSH is recommended for continued support and improved security.
For more information, see Deprecation notice for PowerShell Communication.
Dropdown
App Failure NotificationsWhen selected, you will be notified in case of an application failure such as Connectivity Exception, Authentication Exception.Checkbox
Request TimeoutsSelecting this checkbox enables you to configure the timeout settings for NativeBridge connections and script execution requests made by the integration to the end device.Checkbox
Connection Timeout In MinsSelect the maximum time, in minutes, that the integration should wait while establishing a connection with the nativeBridge.
Default value: 10 minutes.
Dropdown
Connection Request Timeout In MinsSelect the maximum time, in minutes, required to process a NativeBridge HTTP call, from sending the request to receiving the response.
Default value: 10 minutes.
Dropdown
Socket Timeout In MinsSelect the maximum allowable time of inactivity between two data packets during data exchange with the server.
Default value: 10 minutes.
Dropdown
Script Execution TimeOut In MinsSelect the maximum execution time, in minutes, to be considered by the script. The default option is 5 minutes, with other available options being 10, 15, 20, 25, and 30 minutes.Dropdown
  1. Click ADD
  2. CUSTOM ATTRIBUTES: Custom attributes are the user-defined data fields or properties that can be added to the preexisting attributes to configure the integration.
Field NameDescriptionField Type
Custom AttributeSelect the custom attribute from the dropdown. You can add attributes by clicking the Add icon (+).Dropdown
ValueSelect the value from the dropdown.Dropdown

Note: The custom attribute that you add here will be assigned to all the resources that are created by the integration. You can add a maximum of five custom attributes (key and value pair).

  1. In the Native Types section, select the native types to be discovered.
  2. In the DISCOVERY SCHEDULE section, select recurrence pattern to add one of the following patterns:
    • Minutes
    • Hourly
    • Daily
    • Weekly
    • Monthly
  3. Click ADD.

The configuration is saved and displayed on the configurations page after you save it.
Note: From the same page, you may Edit and Remove the created configuration.
12. Under the ADVANCED SETTINGS, Select the Bypass Resource Reconciliation option, if you wish to bypass resource reconciliation when encountering the same resources discovered by multiple applications.
Note: If two different applications provide identical discovery attributes, two separate resources will be generated with those respective attributes from the individual discoveries.
13. Click NEXT.
14. (Optional) Click +ADD to create a new collector. You can either use the pre-populated name or give the name to your collector.
15. Select an existing registered profile.

  1. Click FINISH.
    The integration is installed and displayed on the INSTALLED INTEGRATION page. Use the search field to find the installed integration.

Modify Microsoft SCVMM

Discover Resources in Microsoft SCVMM

  1. Navigate to Infrastructure > Search > Virtualization Management > Microsoft SCVMM. The Microsoft SCVMM page is displayed.
  2. Select the application on the Microsoft SCVMM page
  3. The RESOURCE page appears from the right.
  4. Click the ellipsis (…) on the top right and select View Details.
  5. Navigate to the Attributes tab to view the discovery details.

View resource metrics

To confirm Microsoft SCVMM monitoring, review the following:

  • Metric graphs: A graph is plotted for each metric that is enabled in the configuration.
  • Alerts: Alerts are generated for metrics that are configured as defined for integration.
  1. Click the Metrics tab to view the metric details for Microsoft SCVMM.