Get-RabbitMQOverview.ps1
<#
.Synopsis Get overview information about RabbitMQ server. .DESCRIPTION The Get-RabbitMQOverview gets overview information about one or more RabbitMQ servers. Returned object contains information about RabbitMQ server such as its version, Erlang version, node name, number of exchanges, queues, messages, consumers, connection and channels. It also contains object with server statistics. The cmdlet is using REST Api provided by RabbitMQ Management Plugin. For more information go to: https://www.rabbitmq.com/management.html .INPUTS You can pipe HostName to the cmdlet. .OUTPUTS By default, the cmdlet returns list of RabbitMQ.ServerOverview objects which describe RabbitMQ server. .EXAMPLE Get-RabbitMQOverview Gets overview information about local RabbitMQ server. .EXAMPLE Get-RabbitMQOverview localhost, 127.0.0.1 Gets overview information about following servers: localhost and 127.0.0.1. This command can be used to compare different instances. .EXAMPLE @('localhost', '127.0.0.1') | Get-RabbitMQOverview This example shows how to pipe list of servers for which to get overview information. In the above example the cmdlet will show information about following servers: localhost and 127.0.0.1. .LINK https://www.rabbitmq.com/management.html - information about RabbitMQ management plugin. #> function Get-RabbitMQOverview { [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='None')] Param ( # Name of the computer hosting RabbitMQ server. Defalut value is localhost. [parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=0)] [Alias("cn", "HostName", "ComputerName")] [string[]]$BaseUri = $defaultComputerName, # Credentials to use when logging to RabbitMQ server. [Parameter(Mandatory=$false)] [PSCredential]$Credentials = $defaultCredentials ) Begin { } Process { if (-not $pscmdlet.ShouldProcess("server $BaseUri", "Get overview: $(NamesToString $Name '(all)')")) { foreach ($cn in $BaseUri) { Write-Host "Getting overview for server: $cn" } return; } foreach ($cn in $BaseUri) { $overview = GetItemsFromRabbitMQApi -BaseUri $cn $Credentials "overview" $overview | Add-Member -NotePropertyName "HostName" -NotePropertyValue $cn $overview.PSObject.TypeNames.Insert(0, "RabbitMQ.ServerOverview") Write-Output $overview } } End { } } |