Install-CUMonitor: Install a Monitor

Prev Next

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.Automation module 1.0.4 (Previous versions will likely fail)

  • 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 <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

Full name of the monitor version. If not provided, the latest monitor version is used.

Yes, if no - latest version used

-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

External endpoint for outbound agent connections

Yes, if no -InternalDNSName

-InternalDNSName

Internal cluster communication between monitors

Yes, if no -PublicDNSName

-Certificate

Path to the certificate file (.pfx or *.cer) 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 ControlUp.Automation
    

3. Install the monitor:

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

Example:

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