Monitor Cluster PowerShell API Cmdlets
ControlUp version 8.6.5 introduces new PowerShell cmdlets that allow you to get deep insights into the activity of your monitor cluster and its connected data sources.
Benefits of using the new cmdlets
- Programmatic interface. You can use your PowerShell knowledge to programmatically access monitor data. Build your own scripts to automatically perform tasks or write an ad-hoc command to query a specific metric from any ControlUp entity, such as virtual machines, user sessions, or running processes.
- Troubleshooting. Are you missing historical or real-time data from specific machines in Insights or Solve? Does the monitor have trouble connecting to a ControlUp Agent? The new cmdlets are useful in troubleshooting issues.
- Performance and scalability. The performance of the new cmdlets scales well with data growth. You can run the cmdlets without any degradation in performance in large environments with tens of thousands of ControlUp Agents.
- ControlUp version 8.6.5 or higher
- You must have at least one ControlUp Monitor installed
- Permissions to run scripts on the monitor machines
PowerShell Cmdlets Overview
- Invoke-CUQuery. Queries the monitor in-memory database for the current state and displays the data in the PowerShell session.
- Export-CUQuery. Queries the monitor in-memory database and exports the results to a JSON or CSV file.
- Get-CUVendorVMs. Returns all machines under a specific folder path. This folder path is the property of a ControlUp extension, such as Horizon, CVAD, Azure, or AWS).
Step 1: Import the Module to your PowerShell Session
Before you can start using the cmdlets, import the ControlUp.PowerShell.User module on a monitor machine into your PowerShell session.
$pathtomodule = (Get-ChildItem "C:\Program Files\Smart-X\ControlUpMonitor\*ControlUp.PowerShell.User.dll" -Recurse | Sort-Object LastWriteTime -Descending) Import-Module $pathtomodule
The module was imported successfully if no error message is shown.
Step 2: Learning about the Cmdlets
As soon as you import the module, you are ready to use it. To learn more about each cmdlet, refer to the Invoke-CUQuery and Export-CUQuery articles.
Additionally, you can use PowerShell's built-in help system Get-Help which covers the syntax and parameters in great detail.
Get-Help Invoke-CUQuery -Full
Step 3: Read the Reference
Refer to the reference table to see how you can query the monitor's in-RAM database. When using the cmdlets to query the database, make sure you type your parameter values correctly since they are case-sensitive.
Step 4: Run your First Query
Let's run your first query against the monitor's in-memory database. In this example, we will use a command to query all machines that show a critical Stress Level.
(Invoke-CUQuery -Scheme Main -Table Computers -Fields sName, SeverityLevel -Where "SeverityLevel = '5.0'").Data