This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

After upgrade from 2020.2.4 to 2020.2.6: service message queuing missing on all main orion servers and all APEs

Hi,

after we did upgrade we notice that there is missing dependencies service: message queuing seen in orion service manager before in .2.4 version.
Can please anyone confirm this is related to  "MSMQ was removed from Collector to improve CPU performance and address security concerns" and its fine that this service is no longer visible? The Message Queuing service itself on windows is seen as running in task manager.
https://documentation.solarwinds.com/en/success_center/orionplatform/content/release_notes/orion_platform_2020-2-6_release_notes.htm


T
hank you in advance.



Parents
  • Hello

    The 2020.2.6 release no longer uses MSMQ (understood). If you have no other applications installed on the Orion server that are dependant upon MSMQ after upgrading to the 2020.2.6 release, you can safely remove… (what does this mean ? no other applications - is this related to Orion in any way or are you generalizing this as to non Orion software/applications ?)

  • MSMQ is not installed as part of the Windows operating system by default. If is, however, added as part of the Orion installation. If you have no other applications installed on the Orion server that are using MSMQ (I would be surprised if you did) then you can safely remove the MSMQ 'feature' from your Orion servers.

    If you are unsure if MSMQ is used by another application installed on the Orion server (I can't think of anything offhand that would normally be installed on the same server as Orion that would utilize it) you can either stop the Microsoft Message Queuing service and see if anything breaks. If something does, simply restart the Microsoft Message Queuing service. 

    Another way to find out what could be using MSMQ is to review the name of the queues. Just open the Microsoft Message Queuing Services MMC and review the queues on that machine. If anything stands out as being related to another application, or you see data entering and then leaving the queues,  then there's something probably still using MSMQ on that machine. 

  • You can also run PowerShell to get a list of queues on the machine.  If they all read 0 messages and 0 bytes, then it's probably safe to disable the service.

    # Doc Source: https://docs.microsoft.com/en-us/powershell/module/msmq/get-msmqqueue
    $Queues = "PrivateAndPublic", "Private", "Public", "SystemJournal", "SystemDeadLetter", "SystemTransactionalDeadLetter"
    $Queues | ForEach-Object { Write-Host "Content of $( $_ )"
       Get-MsmqQueue -QueueType $_ | Select-Object -Property FormatName, MessageCount, BytesInQueue
    }

    To stop and disable the service, you can use PowerShell again.

    # If you just want the resources from the service back, you can stop and disable the service
    Get-Service -DisplayName "Message Queuing" | Stop-Service -PassThru | Set-Service -StartupType Disabled

    After the service is disabled, if you want to remove it, you can remove it by using PowerShell yet again. (Notice a theme?)

    # Remove the MSMQ Windows Features
    Get-WindowsFeature | Where-Object { $_.Name -like "MSMQ*" -and $_.Installed } | Remove-WindowsFeature

    Since you are removing a Windows feature, you may be prompted to reboot, so plan accordingly.  If you just want back the resources associated with the MSMQ service, then stopping and disabling it should be sufficient.

    You should probably either snapshot or checkpoint your servers and back up your database before each step to be 100% safe.

Reply
  • You can also run PowerShell to get a list of queues on the machine.  If they all read 0 messages and 0 bytes, then it's probably safe to disable the service.

    # Doc Source: https://docs.microsoft.com/en-us/powershell/module/msmq/get-msmqqueue
    $Queues = "PrivateAndPublic", "Private", "Public", "SystemJournal", "SystemDeadLetter", "SystemTransactionalDeadLetter"
    $Queues | ForEach-Object { Write-Host "Content of $( $_ )"
       Get-MsmqQueue -QueueType $_ | Select-Object -Property FormatName, MessageCount, BytesInQueue
    }

    To stop and disable the service, you can use PowerShell again.

    # If you just want the resources from the service back, you can stop and disable the service
    Get-Service -DisplayName "Message Queuing" | Stop-Service -PassThru | Set-Service -StartupType Disabled

    After the service is disabled, if you want to remove it, you can remove it by using PowerShell yet again. (Notice a theme?)

    # Remove the MSMQ Windows Features
    Get-WindowsFeature | Where-Object { $_.Name -like "MSMQ*" -and $_.Installed } | Remove-WindowsFeature

    Since you are removing a Windows feature, you may be prompted to reboot, so plan accordingly.  If you just want back the resources associated with the MSMQ service, then stopping and disabling it should be sufficient.

    You should probably either snapshot or checkpoint your servers and back up your database before each step to be 100% safe.

Children
No Data