Skip to content

Tips and Tricks

Monitor your TRMM Instance via the Built-in Monitoring Endpoint.

Generate a random string to be used as a token and append it to the bottom of /rmm/api/tacticalrmm/tacticalrmm/local_settings.py like this:

MON_TOKEN = "SuperSekretToken123456"

Then restart Django to activate the endpoint with sudo systemctl restart rmm.service

Send a POST request with the following json payload to https://api.yourdomain.com/core/status/

{"auth": "SuperSekretToken123456"}

Example using curl:

curl -X POST https://api.yourdomain.com/core/status/ -d '{"auth": "SuperSekretToken123456"}' -H 'Content-Type: application/json'

Response will look something like this:

{
  "version": "0.14.0",
  "agent_count": 984,
  "client_count": 23,
  "site_count": 44,
  "disk_usage_percent": 12,
  "mem_usage_percent": 36,
  "days_until_cert_expires": 47,
  "cert_expired": false,
  "services_running": {
    "django": true,
    "mesh": true,
    "daphne": true,
    "celery": true,
    "celerybeat": true,
    "redis": true,
    "postgres": true,
    "mongo": true,
    "nats": true,
    "nats-api": true,
    "nginx": true
  }
}

Server Monitoring

Monitor Network usage: https://humdi.net/vnstat/

Realtime Everything Usage: (only run when needed because it uses a lot of resources): https://learn.netdata.cloud/docs/agent/packaging/installer/methods/kickstart

Customize User Interface

At the top right of your web administration interface, click your Username > preferences. Set default tab: Servers | Workstations | Mixed

User Preferences


Use the Filters in the Agent List

User Preferences


MeshCentral

Tactical RMM is actually 2 products: An RMM service with agent, and a secondary MeshCentral install that handles the Take Control and Remote Background stuff.

Want to download multiple files?

ZIP zip's the currently selected file(s) and saves it in the current directory. Then you can download the ZIP. It doesn't download and ZIP on the fly.

If you want to enable automatic clipboard transfers just click the option under Settings button

Multi Monitor

If you, and they have multiple monitors, open multiple Take Control windows...and set each windows as its own monitor.

Adjust Settings

Right-click the connect button in Remote Background > Terminal for shell options.

Terminal

Right-click the connect button in Take Control for connection options.

Terminal

Enable Remote Control Options

Note

These settings are independent of Tactical RMM. Enable features (like auto remove inactive devices) with caution.

If you need to comply with GDPR regulations and ensure employee rights legislation is complied with, you can make sure that users receive a popup to inform them so they are aware when your techs log in and connect to their machine. You can enable a banner that shows when a remote connection is established.

  1. Login to meshcentral as the mesh superuser.
  2. Click on My Account
  3. Click on the device group you want to enable notifications or accept connection etc on (probably TacticalRMM).
  4. Next to User Consent click edit (the wee pencil)
    Features
  5. You can also change features by ticking whatever boxes you want in there (Features: Sync server device name to hostname, Automatically remove inactive devices, Notify/Prompt for Consent/Connection Toolbar settings).
    Features
  6. Ok your way out

Agent Online / Offline logs

In mesh from the agent | General Tab

online

Sending Custom Keystrokes to Agent

Some of the native hotkeys will not send thru the MeshCentral remote control window (like Alt+Tab). You can right-click the special key list in the bottom left of the Remote Control window.

send custom keys

and add new ones like

  • Alt+Shift+Tab: Task switching between windows
  • Win+Tab: Bring up thumbnail based running program switcher

Syncing PC name to MeshCentral

If you install TRMM agent, it will add the PC to meshcentral with the current computer name. If you later rename the computer, MeshCentral will not update that PC name by default unless you enable the sync name option in MeshCentral

Sync device name to hostname

Scripts

When Running Scripts

Use the (i) at the end of the script name to:

  • Hover: see script parameter syntax help
  • Left Click: Opens the script source in Github

Script Parameter Syntax

3rd Party Software Patching

Chocolatey is the default 3rd party software library that is used to populate the software tab. You can install anything that is available at chocolatey.org

If you're interested in converting your software to Chocolatey managed you will need to look at customizing this script https://github.com/amidaware/community-scripts/blob/main/scripts_wip/Win_Choco_ConvertToChocoManaged.ps1. If you have improvements please contribute.

Once you've made your script, that will take existing software and convert it to Chocolatey managed (see what Chocolatey manages on an agent with).

choco list --local-only

Next, you're going to schedule your updates.

Because of community repo limits, you can purchase chocolatey, host your own chocolatey server, or use this script sparingly https://github.com/amidaware/community-scripts/blob/main/scripts/Win_Chocolatey_Manage_Apps_Bulk.ps1 using -Mode upgrade -Hosts x where x is the max number of machines on an internet connection.

Run Intervals for Checks

You can modify at several locations / levels:

  • Settings Menu > Automation Manager > Checks tab > Edit check
  • Agent Level: Edit Agent > Run checks every
  • Edit Check under agent > Run this check every (seconds)

Note

The interval under check will override agent check if set.

Understanding refreshing TRMM data

How to get updated data and see agents last communication time.

understanding

Why are usernames in italics?

It's the last logged in user, when italicized it means nobody is currently logged in.

Getting false SMS and Email alerts from scripts?

If you're getting Error 98 from script timeouts between the time the server asked the agent to run it, and the timeout value of the script the server never received a response. You can minimize the false alerts but adding the script timeouts to informational instead of warnings.

You can also increase the consecutive failures to 2+