Install-CUMonitor: Install a Monitor
  • 16 Jun 2025
  • 3 Minutes to read
  • Dark
    Light
  • PDF

Install-CUMonitor: Install a Monitor

  • Dark
    Light
  • PDF

Article summary

Install-CUMonitor

The ControlUp Automation module includes the Install-CUMonitor PowerShell cmdlet which allows you to install a ControlUp Monitor programmatically on machines in your organization. To install a monitor, you must provide an API Key generated from app.controlup.com. Note that installing the monitor with the Automation module automatically installs the ControlUp Agent, and also self-registers the Agent in your organization.

Benefits

  • Automated Deployment: Script-driven installation enables consistent, repeatable monitor deployments across multiple machines without manual configuration.
  • Cloud and Workgroup Support: Install monitors on workgroup machines, cloud VMs, and isolated environments without domain connectivity requirements.
  • Zero-Touch Installation: Fully automated process from binary download to service registration - no manual steps required after running the command.
  • Built-in Error Handling: Automatic rollback on failure and detailed error reporting for troubleshooting deployment issues.
  • Infrastructure as Code: Integrate monitor deployment into CI/CD pipelines, Infrastructure as Code workflows, and automated provisioning scripts.
  • Consistent Configuration: Ensure all monitors are deployed with identical settings, reducing configuration drift and human errors.
  • Version Control: Specify exact monitor versions for controlled deployments and easy rollback scenarios.

Prerequisites

  • ControlUp Real-Time DX Console version 9.0 or higher
  • If your organization already exists in the Console, the user who installs the monitor must be a Roles Manager.
  • If your organization doesn’t exist in the Console, you must be assigned the DEX Admin role for permission to deploy monitors. Note that running Install-CUMonitor automatically bootstraps a new Real-Time DX organization. The name of this organization will be the same as in DEX.

Syntax

Install-CUMonitor
-Token <string>
-ZipFilePath <string>
-Version or -Latest <string>
-SiteName <string>
-Template <string>
-ProxySettings <ProxySettingsObject>
-DomainDns <string>
-DomainUser <string>
-DomainUserPassword <SecureString>
-PublicDNSName or -InternalDNSName <string>
-Certificate <string>
-CertificatePassword <SecureString>

Parameters

Parameter

Description

Required

-Token

Token string (API Key) generated by web UI for authentication and authorization. If not provided, the current profile's API Key will be used. For more cmdlets to manage API Keys, see here.

Yes

-ZipFilePath

Full path to the ZIP folder that contains the ControlUp Monitor binaries. If not provided, -Version will be used.

No

-Version

Switch parameter for -Latest, monitor version.

No

-Latest

Switch parameter for -Version, latest monitor version. If provided, overrides -Version.

No

-SiteName

Name of the monitor site. If not provided, the monitor will be added to the default site.

No

-Template

Name to define the monitor template. Available templates include:

  • all
  • backup_coordinator
  • broker_only coordinator
  • datanode
  • folderagg
  • monitoring
  • management
  • gateway (viewnode)
  • monitoring_only
  • indexing_only

If empty, the selected template will be all.

No

-ProxySettings

Proxy settings that the monitor will use to connect to the ControlUp services. If not provided, the default system proxy settings will be used. If -SiteName is provided, the proxy settings and credentials will be added to the specific site, if no proxy settings already exist.

Example to create proxy settings variable:

$Secure = Read-Host -AsSecureString
$proxys = New-Object -TypeName ControlUp.Automation.ProxySettings
$proxys.Password=$Secure
$proxys.sProxyAddress="127.0.0.1"
$proxys.iProxyPort=80802
$proxys.Auth=No
$proxys.User=Admin7
$proxys.Domain=myorg.com

No

-DomainDns

If provided and no AD connection already exists in the domain, the AD connection will be added with the -DomainUser and -DomainUserPassword credentials. If -SiteName is provided, the AD connection and credentials are added to the specific site.

No

-DomainUser

Domain user name. If not provided, the AD connection won’t be added.

No

-DomainUserPassword

Domain user password. If not provided, the AD connection won’t be added.

Example to create password variable:

$Pwd = Read-Host -AsSecureString

No

-PublicDNSName

Switch parameter for -InternalDNSName, publicly accessible DNS name required for ControlUp Agent to communicate with monitor.

Yes, if no -InternalDNSName

-InternalDNSName

Switch parameter for -PublicDNSName, internally accessible DNS name required for ControlUp Agent to communicate with monitor.

Yes, if no -PublicDNSName

-Certificate

Path to the certificate file (.pfx) required for Advanced Authentication. Only needed if your organization requires certificate-based authentication and the certificate is not already installed in Local Machine > Personal certificates.

Conditional

-CertificatePassword

Secure string containing the password for the certificate private key. Required when using the -Certificate parameter

Conditional

Install Monitor on a Machine

To install a monitor on a machine, follow the steps below. These steps should be executed on the machine where you intend to deploy the monitor.

1. Open a PowerShell session with elevated permissions and install the module:

    
  Install-Module ControlUp.Automation
    

2. Import the module:

    
  Import-Module [PathTo_ControlUp.Automation]
    

3. Install the monitor:

PowerShell
Install-CUMonitor 
  -Token "[API Key]" 
  -PublicDNSName "[Machine Name].[Connection-specific DNS Suffix]" 
  -InternalDNSName "[Machine Name].[Connection-specific DNS Suffix]"
    

Example:

PowerShell
Install-CUMonitor 
  -Token "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3Mzc5NzY0NjEsImlhdCI6MTcwNjQ0…." 
  -PublicDNSName "PSMonitor01.4rgvsyeccjuujimhr5m1ljkc.bx.internal.cloudapp.net" 
  -InternalDNSName "PSMonitor01.4rgvsyeccjuujimhr5m1ljkc.bx.internal.cloudapp.net"

If you want to deploy other monitors, repeat steps 1-3.

Stop Workgroup Monitor
Note that if you want to stop a workgroup monitor, you must run the Stop monitor action on the monitor in the web UI. You can't use the Real-Time DX Console to stop a workgroup monitor.

If you want to deploy a monitor with custom manual settings, we recommend you use the following script as a base to create your own:

Install-CUMonitor -Token "[API Key]" -InternalDNSName "[Machine Name].[Connection-specific DNS Suffix]"

Results

Writes single result object to PowerShell with the following properties:

  • Error. In case of failure, the reason will be displayed.
  • Success. Indicates if the monitor installation and login completed successfully.

In case of failure during the installation, all the changes will be canceled. In case of failure during login, the changes will be implemented.

If these cases occur, you can uninstall the monitor by running Uninstall-CUMonitor


Was this article helpful?