Hi @pperreault,
We don't have an OVA for collector deployment, however, you could use a script to make API calls and automate the installation into a couple of clicks... here's an example in PowerShell:
<# LogicMonitor REST API Collector Documentation: https://www.logicmonitor.com/support/rest-api-developers-guide/collectors/ #>
<# LogicMonitor Account Information - Requires Administrator Role Permissions #>
$accessId = 'CHANGE_TO_LOGICMONITOR_ACCESS_ID'
$accessKey = 'CHANGE_TO_LOGICMONITOR_ACCESS_KEY'
$company = 'LOGICMONITOR_ACCOUNT_NAME'
#--------------- API CALL #1 - Add Collector to LogicMonitor Account -------------------#
<# API and URL request details #>
$httpVerb = 'POST'
$resourcePath = '/setting/collectors'
$url = 'https://' + $company + '.logicmonitor.com/santaba/rest' + $resourcePath
<# Get current time in milliseconds #>
$epoch = [Math]::Round((New-TimeSpan -start (Get-Date -Date "1/1/1970") -end (Get-Date).ToUniversalTime()).TotalMilliseconds)
<# Parent Group hashtable definition #>
$parentHash = @{ description = "$env:COMPUTERNAME" }
<# Convert Parent Hashtable to JSON #>
$parentGroup = $parentHash | ConvertTo-Json
<# Concatenate General Request Details #>
$requestVars_00 = $httpVerb + $epoch + $parentGroup + $resourcePath
<# Construct Signature #>
$hmac = New-Object System.Security.Cryptography.HMACSHA256
$hmac.Key = [Text.Encoding]::UTF8.GetBytes($accessKey)
$signatureBytes = $hmac.ComputeHash([Text.Encoding]::UTF8.GetBytes($requestVars_00))
$signatureHex = [System.BitConverter]::ToString($signatureBytes) -replace '-'
$signature = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($signatureHex.ToLower()))
<# Construct Headers #>
$auth = 'LMv1 ' + $accessId + ':' + $signature + ':' + $epoch
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization",$auth)
$headers.Add("Content-Type",'application/json')
<# Make Request to add collector#>
$response = Invoke-RestMethod -Uri $url -Method $httpVerb -Body $parentGroup -Header $headers
<# Capture ID number of newly added collector #>
$collectorID = $response.data.id
#--------------- API CALL #2 - Download Collector to local temp directory -------------------#
<# Collector request details #>
$platform = 'Win64'
<# API request details #>
$httpVerb_01 = 'GET'
$resourcePath_01 = '/setting/collectors/' + $collectorID + '/installers/' + $platform
<# Construct URL #>
$url_01 = 'https://' + $company + '.logicmonitor.com/santaba/rest' + $resourcePath_01
<# Get current time in milliseconds #>
$epoch_01 = [Math]::Round((New-TimeSpan -start (Get-Date -Date "1/1/1970") -end (Get-Date).ToUniversalTime()).TotalMilliseconds)
<# Concatenate Request Details #>
$requestVars_01 = $httpVerb_01 + $epoch_01 + $resourcePath_01
<# Construct Signature #>
$hmac_01 = New-Object System.Security.Cryptography.HMACSHA256
$hmac_01.Key = [Text.Encoding]::UTF8.GetBytes($accessKey)
$signatureBytes_01 = $hmac_01.ComputeHash([Text.Encoding]::UTF8.GetBytes($requestVars_01))
$signatureHex_01 = [System.BitConverter]::ToString($signatureBytes_01) -replace '-'
$signature_01 = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($signatureHex_01.ToLower()))
<# Construct Headers #>
$auth_01 = 'LMv1 ' + $accessId + ':' + $signature_01 + ':' + $epoch_01
$headers_01 = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers_01.Add("Authorization",$auth_01)
$headers_01.Add("Content-Type",'application/json')
<# See if we have a place to keep our download #>
if(!(Test-Path -Path c:\temp )){
New-Item -ItemType directory -Path c:\temp
}
<# Make Request and Download Executable #>
Invoke-RestMethod -Uri $url_01 -Method Get -Header $headers_01 -OutFile c:\temp\LogicMonitorSetup.exe
#--------------- Install Collector -------------------#
c:\temp\LogicMonitorSetup.exe /q
<# LogicMonitor Collector command line parameters:
/q: Quiet
/d:""(Optional) This is the path to install the collector into. It defaults to /Program Files/LogicMonitor/Collector /
/a:(Optional) This is the account the windows service will run as. Defaults to LocalSystem.
/p: (Required if /a is given) This is the password to use that corresponds to the user account specified.
Note:
If you do not specify the collector to run as a privileged user it will install and run as local system.
Local system may not have sufficient permissions to monitor other windows hosts remotely.
#>