Skip to main content

Automate server and CW Manage Plugin Monitoring

Purpose

The goal of this solution's development is to improve the efficiency and proactivity of the Automate server and CW Manage plugins monitoring process. Both of these are essential tools for our partners, so we want to keep a close check on them and resolve any issues before they affect productivity.

If the "Supported Environment" column says "Both" then the solution can be imported for the "Hosted" partners as well.

Associated Content

ContentPriorityTypeSupported EnvironmentFunction
Script - Unsynced TicketsHighClient ScriptBothEmail the details of the unsynced tickets to the email address(es) set in the system property Unsynced_Ticket_Email_Address.
Script - Backup Scripts/Monitors/CustomizationsHighClient ScriptBothTo perform a scheduled backup of the following customizations:
- Scripts
- Scriptlets
- Internal Monitors
- Group Monitors
- Remote Monitors
- Dataviews
- Role Definitions
- ExtraData Fields
- VirusScanners
Creates an Autotask ticket if the computerid to save the backup is not properly configured.
Email Subject: Automate Customizations Backup FAILED
Script - Nightly Database Backup Monitoring*MediumScriptBothThis script will create a ticket in our (ProValtech's) Autotask Portal if Labtech's Nightly backup Fails.
Subject: Nightly Database Backup Failed
*Change to two days in a row of failed backups since we now have our backup script
ProVal - Production - Failed Email MonitoringMediumInternal MonitorBothThis Monitor reports any failed email that is not related to 'Google authenticator', 'Testing Email Flow', or 'Authentication Token' that has occurred within the last hour.
It will generate only one ticket per hour with the information of all the emails that failed within that interval.
Alert Template: ~Custom Ticket Creation without computer Details
Subject: Automate Failed Email detected
*Convert this to a client script?
Over 90% Licenses Used [G] OR Less Than 10 Licenses Remaining [G]MediumInternal MonitorBothCheck current Automate license availability. Suggested monitor failure is 90% usage. It will notify the partners of the failures.
Alert Template: Default Create Automate Ticket
**The Ticket Category of the monitor set should be adjusted as per the requirements.
Subject: Automate Server Over Licenses
Check current Automate license availability. It will notify the partners if only 10 licenses are left.
Monitor - ScreenConnect - Broken IntegrationUrgentInternal MonitorBothThe monitor set is designed to create an urgent ticket to our (ProVal's) AutoTask Portal for a broken integration between ConnectWise Automate and Control.
Alert Template: △ Custom - Email RAWSQL Monitor set results to ProVal
Subject: Urgent - Integration Between Control and Automate is broken
Internal Monitor - Heartbeat Anomaly AuditMediumInternal MonitorBothThis monitor is intended to create a ticket to our (ProVal's) AutoTask Portal if there are fewer heartbeats than expected from the machines checking in within the environment.
Alert Template: △ Custom - Email RAWSQL Monitor set results to ProVal
Subject: CWA - Heartbeat Anomaly detected
Script - Email Creation - Computer [Failure Only]Autofix ScriptBothThis script functions similarly to the CWM - Automate - Script - Ticket Creation - Computer script however, instead of creating a ticket, it is designed to send the FAILED outcomes of a RAWSQL monitor to the Email address provided in the system property.
This script sends email to two different addresses:
1. If the script is called by the alert template "△ Custom - Email RAWSQL Monitor set results to ProVal" then it will send an email to the email address set at system property "ProVal_Alerts_Email_Address" which is mostly set to "alerts@provaltech.com".
Note: If the property is missing, the script will automatically set it to "alerts@provaltech.com", but if it is set to a different email address then it will not modified.
2. If the script is called by any other template then it will fetch the email address from the system property "_sysTicketDefaultEmail".
△ Ticket Creation - without computer DetailsAlert TemplateBothThis alert template should be assigned to the ProVal - Development - Failed Email Monitoring monitor set. It will execute the Ticket Creation - Without Computer Information And Failures Only [Autofix]* script to create a ticket with the information returned by the monitor set.
△ Custom - Email RAWSQL Monitor set results to ProValAlert TemplateBothThis alert template should be assigned to the Monitor - ProVal - Production - ScreenConnect - Broken Integration monitor sets. It will execute the Email RAWSQL Monitor Set Failures* [Autofix] script to send an email to Alerts@provaltech.com.
Internal Monitor - ProVal - Production - Scripting Engine HungMediumInternal MonitorBothThis monitor creates a critical ticket to the board to inform that the script engine is stuck and none of the scripts is running in the environment.
It also sends an email to the alerts@provaltech.com to review it proactively.
The monitor detects the X number of scripts stuck in the pendingscripts table for longer than Y minutes of the scheduled time.

On-Prem Only:

ContentPriorityTypeSupported EnvironmentFunction
ProVal - Production - SVC-CWAFileServiceUrgentRemote MonitorOn-PremSince CWAFileService is one of the important services for the Automate server. So, this monitor set is designed to create an urgent ticket in our (ProVal's) Autotask portal after attempting to restart it.
Alert Template: △ Custom - Autofix - Restart Service - Automate Server Monitoring
Email Subject Success: URGENT - SVC - @FieldName@ - SUCCESS - Automate Server - %ComputerName% (%Computerid%)
Email Subject Failure: URGENT - SVC - @FieldName@ - FAILED - Automate Server - %ComputerName% (%Computerid%)
ProVal - Production - SVC-LTRedirSVCUrgentRemote MonitorOn-PremSince LTRedirSVC is one of the important services for the Automate server. So, this monitor set is designed to create an urgent ticket in our (ProVal's) Autotask portal after attempting to restart it.
Alert Template: △ Custom - Autofix - Restart Service - Automate Server Monitoring
Email Subject Success: URGENT - SVC - @FieldName@ - SUCCESS - Automate Server - %ComputerName% (%Computerid%)
Email Subject Failure: URGENT - SVC - @FieldName@ - FAILED - Automate Server - %ComputerName% (%Computerid%)
ProVal - Production - SVC-CWAMessageQueueUrgentRemote MonitorOn-PremSince CWAMessageQueue is one of the important services for the Automate server. So, this monitor set is designed to create an urgent ticket in our (ProVal's) Autotask portal after attempting to restart it.
Alert Template: △ Custom - Autofix - Restart Service - Automate Server Monitoring
Email Subject Success: URGENT - SVC - @FieldName@ - SUCCESS - Automate Server - %ComputerName% (%Computerid%)
Email Subject Failure: URGENT - SVC - @FieldName@ - FAILED - Automate Server - %ComputerName% (%Computerid%)
CWA - Remote Monitors - CWAFileService - Invalid TokenMediumRemote MonitorOn-PremThis remote monitor restarts the service 'CWAFileService' on the Automate server if it detects the file 'C:\Windows\Temp\FileService.log' where the file contains the message 'HttpRequest is missing or has invalid Authorization Token' in the last 15 minutes.
The actual message template is:
FileService v24.0 - 3/10/2024 3:08:12 PM - HttpRequest is missing or has invalid Authorization Token:::
Monitor - ProVal - Production - SVC-CWAIISMgrUrgentRemote MonitorOn-PremSince CWAIISMgr is one of the important services for the Automate server. So, this monitor set is designed to create an urgent ticket in our (ProVal's) Autotask portal after attempting to restart it.
Alert Template: △ Custom - Autofix - Restart Service - Automate Server Monitoring
Email Subject Success: URGENT - SVC - @FieldName@ - SUCCESS - Automate Server - %ComputerName% (%Computerid%)
Email Subject Failure: URGENT - SVC - @FieldName@ - FAILED - Automate Server - %ComputerName% (%Computerid%)
Purge IIS Log Files Older than X days[Param]ScriptOn-PremIt will remove the IIS logs older than Days(Global Variable) days if the size of the "c:\inetpub\logs\logfiles\w3svc" folder is greater than Size(Global Variable) MB. Preferred is to schedule against the "Labtech Server" Group to run once per week.
By default, it will remove the logs older than 30 days if the size of the directory is greater than 1024 MB.
*Log Entries need fixing
*Change threshold to 16GB? Homefield is always failing because it drops it to 15GB used instead of 19GB.
△ Custom - Autofix - Restart Service - Automate Server MonitoringAlert TemplateOn-PremThis alert template should be assigned to the ProVal - Development - SVC-CWAFileService, ProVal - Development - SVC-LTRedirSVC, ProVal - Development - SVC-CWAMessageQueue, and monitor sets. It will attempt to restart the service and will send an Email for Autofix failure to Alerts@ProValtech.com which in turn will generate a ticket in our (ProVal's) Autotask portal.
Email Subject Success: URGENT - SVC - @FieldName@ - SUCCESS - Automate Server - %ComputerName% (%Computerid%)
Email Subject Failure: URGENT - SVC - @FieldName@ - FAILED - Automate Server - %ComputerName% (%Computerid%)

Implementation

  1. Import the following Alert Templates using the ProSync Plugin:

    • △ Custom - Email RAWSQL Monitor set results to ProVal
    • △ Custom - Ticket Creation - Without Computer Details
    • If the partner is On-Prem - Import this alert template as well:
      • △ Custom - Autofix - Restart Service - Automate Server Monitoring
  2. Modify the following System Properties - If any of these values are not provided by the consultant, reach out to clarify:

    • Unsynced_Ticket_Email_Address - This is where the partner would like alerts for any ticket sync issues to go to.
    • AutomateBackup_Computerid - This is going to be the AgentID of where the partner would like their content backup to be stored.
    • _sysTicketDefaultEmail - This is a default email address that is set for sending data in the case where the user wants the email to be sent from the script.
    • ProVal_Alerts_Email_Address - This email address is used when the script calls from the alert template "△ Custom - Email RAWSQL Monitor set results to ProVal".
      Note: It is mandatory to use the alerts@provaltech.com with this system property as it is intentionally created for the alerts which is required to be passed on to the ProVal support team from the partner environment for proactive fixes.

    Optional System Properties:

    • AutomateBackup_Base_Directory - If the consultant specified any custom value for this, please update it. Otherwise, it will go to the default directory of 'C:\CWA Solutions Backup'.
  3. Import and set the approved content to the partner's environment using the ProSync Plugin. If it is NOT specified to specifically not import certain content, assume it is all approved. The content required for import has been listed below:

  4. Setup the content that was just imported:

On-Prem Only:

  1. Import and set the following content using the ProSync Plugin:

  2. Setup the content that was just imported:

  3. Import the Remote Monitor using the below SQL statement from a RAWSQL monitor: ProVal - Production - SVC-CWAFileService:

    SET @Alertaction = (SELECT Alertactionid FROM alerttemplate WHERE guid = 'cec8ea1c-dd39-4003-8a18-fa2d6dbddedd');
    SET @groupid = (SELECT MIN(Groupid) FROM mastergroups WHERE NAME = 'Labtech Server');
    INSERT INTO groupagents
    SELECT '' as `AgentID`,
    `groupid` as `GroupID`,
    '0' as `SearchID`,
    'ProVal - Production - SVC-CWAFileService' as `Name`,
    '6' as `CheckAction`,
    @Alertaction as `AlertAction`,
    'URGENT - SVC-CWAFileService is Not Running for Automate Server~~~CWAFileService is now Running Fine.!!!URGENT - SVC-CWAFileService is Not Running for Automate Server~~~CWAFileService is not Running for the Automate Server. Please check it out as soon as possible.' as `AlertMessage`,
    '1' as `ContactID`,
    '60' as `interval`,
    '127.0.0.1' as `Where`,
    '2' as `What`,
    'CWAFileService' as `DataOut`,
    '1' as `Comparor`,
    '1' as `DataIn`,
    '0' as `IDField`,
    '1' as `AlertStyle`,
    '0' as `ScriptID`,
    '' as `datacollector`,
    '0' as `Category`,
    '0' as `TicketCategory`,
    '1' as `ScriptTarget`,
    CONCAT(
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1)
    ) as `GUID`,
    'root' as `UpdatedBy`,
    (NOW()) as `UpdateDate`
    FROM mastergroups m
    WHERE m.groupid = @groupid
    AND m.groupid NOT IN (SELECT DISTINCT groupid FROM groupagents WHERE `Name` = 'ProVal - Production - SVC-CWAFileService');
  4. Import the Remote Monitor using the below SQL statement from a RAWSQL monitor: ProVal - Production - SVC-LTRedirSvc:

    SET @Alertaction = (SELECT Alertactionid FROM alerttemplate WHERE guid = 'cec8ea1c-dd39-4003-8a18-fa2d6dbddedd');
    SET @groupid = (SELECT MIN(Groupid) FROM mastergroups WHERE NAME = 'Labtech Server');
    INSERT INTO groupagents
    SELECT '' as `AgentID`,
    `groupid` as `GroupID`,
    '0' as `SearchID`,
    'ProVal - Production - SVC-LTRedirSvc' as `Name`,
    '6' as `CheckAction`,
    @Alertaction as `AlertAction`,
    'URGENT - SVC-LTRedirSvc is Not Running for Automate Server~~~LTRedirSvc is now Running Fine.!!!URGENT - SVC-LTRedirSvc is Not Running for Automate Server~~~LTRedirSvc is not Running for the Automate Server. Please check it out as soon as possible.' as `AlertMessage`,
    '1' as `ContactID`,
    '60' as `interval`,
    '127.0.0.1' as `Where`,
    '2' as `What`,
    'LTRedirSvc' as `DataOut`,
    '1' as `Comparor`,
    '1' as `DataIn`,
    '0' as `IDField`,
    '1' as `AlertStyle`,
    '0' as `ScriptID`,
    '' as `datacollector`,
    '0' as `Category`,
    '0' as `TicketCategory`,
    '1' as `ScriptTarget`,
    CONCAT(
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1)
    ) as `GUID`,
    'root' as `UpdatedBy`,
    (NOW()) as `UpdateDate`
    FROM mastergroups m
    WHERE m.groupid = @groupid
    AND m.groupid NOT IN (SELECT DISTINCT groupid FROM groupagents WHERE `Name` = 'ProVal - Production - SVC-LTRedirSvc');
  5. Import the Remote Monitor using the below SQL statement from a RAWSQL monitor: ProVal - Production - SVC-CWAMessageQueue:

    SET @Alertaction = (SELECT Alertactionid FROM alerttemplate WHERE guid = 'cec8ea1c-dd39-4003-8a18-fa2d6dbddedd');
    SET @groupid = (SELECT MIN(Groupid) FROM mastergroups WHERE NAME = 'Labtech Server');
    INSERT INTO groupagents
    SELECT '' as `AgentID`,
    `groupid` as `GroupID`,
    '0' as `SearchID`,
    'ProVal - Production - SVC-CWAMessageQueue' as `Name`,
    '6' as `CheckAction`,
    @Alertaction as `AlertAction`,
    'URGENT - SVC-CWAMessageQueue is Not Running for Automate Server~~~CWAMessageQueue is now Running Fine.!!!URGENT - SVC-CWAMessageQueue is Not Running for Automate Server~~~CWAMessageQueue is not Running for the Automate Server. Please check it out as soon as possible.' as `AlertMessage`,
    '1' as `ContactID`,
    '60' as `interval`,
    '127.0.0.1' as `Where`,
    '2' as `What`,
    'CWAMessageQueue' as `DataOut`,
    '1' as `Comparor`,
    '1' as `DataIn`,
    '0' as `IDField`,
    '1' as `AlertStyle`,
    '0' as `ScriptID`,
    '' as `datacollector`,
    '0' as `Category`,
    '0' as `TicketCategory`,
    '1' as `ScriptTarget`,
    CONCAT(
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1)
    ) as `GUID`,
    'root' as `UpdatedBy`,
    (NOW()) as `UpdateDate`
    FROM mastergroups m
    WHERE m.groupid = @groupid
    AND m.groupid NOT IN (SELECT DISTINCT groupid FROM groupagents WHERE `Name` = 'ProVal - Production - SVC-CWAMessageQueue');
  6. Import the Remote Monitor using the below SQL statement from a RAWSQL monitor: ProVal - Production - SVC-CWAIISMgr:

    SET @Alertaction = (SELECT Alertactionid FROM alerttemplate WHERE guid = 'cec8ea1c-dd39-4003-8a18-fa2d6dbddedd');
    SET @groupid = (SELECT MIN(Groupid) FROM mastergroups WHERE NAME = 'Labtech Server');
    INSERT INTO groupagents
    SELECT '' as `AgentID`,
    `groupid` as `GroupID`,
    '0' as `SearchID`,
    'ProVal - Production - SVC-CWAIISMgr' as `Name`,
    '6' as `CheckAction`,
    @Alertaction as `AlertAction`,
    'URGENT - SVC-CWAIISMgr is Not Running for Automate Server~~~CWAIISMgr is now Running Fine.!!!URGENT - SVC-CWAIISMgr is Not Running for Automate Server~~~CWAIISMgr is not Running for the Automate Server. Please check it out as soon as possible.' as `AlertMessage`,
    '1' as `ContactID`,
    '60' as `interval`,
    '127.0.0.1' as `Where`,
    '2' as `What`,
    'CWAIISMgr' as `DataOut`,
    '1' as `Comparor`,
    '1' as `DataIn`,
    '0' as `IDField`,
    '1' as `AlertStyle`,
    '0' as `ScriptID`,
    '' as `datacollector`,
    '0' as `Category`,
    '0' as `TicketCategory`,
    '1' as `ScriptTarget`,
    CONCAT(
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    '-',
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1),
    SUBSTRING('abcdef0123456789', FLOOR(RAND()*16+1), 1)
    ) as `GUID`,
    'root' as `UpdatedBy`,
    (NOW()) as `UpdateDate`
    FROM mastergroups m
    WHERE m.groupid = @groupid
    AND m.groupid NOT IN (SELECT DISTINCT groupid FROM groupagents WHERE `Name` = 'ProVal - Production - SVC-CWAIISMgr');
  7. Import the Remote Monitor using the documentation below:

Deprecated Content - November 2023

ContentPriorityTypeSupported EnvironmentFunction
Deprecated: △ Autofix - Ticket Sync FailedAlert TemplateBothThis alert template should be assigned to the ProVal - Production - Automate - Ticket Sync Unsuccessful monitor set. It will execute the Ticket Sync Failed [Autofix, Globals] script.
Deprecated: ProVal - Development - Automate - Unsynced Ticket ContentHighInternal MonitorBothThe main objective of the monitor set is to alert the partners of any unsynced ticket comments for a ticket that has already been synchronized to CW Manage.
Alert Template: ~Custom Email RAWSQL Monitor set results to the Partner.
Subject: Ticket Comment Failed to Sync to Manage for %ExternalID%
Deprecated: △ Email RAWSQL Monitor set results to the PartnerAlert TemplateBothThis alert template should be assigned to the ProVal - Development - Automate - Unsynced Ticket Content monitor set. It will execute the Email RAWSQL Monitor Set Failures* [Autofix] script to send an email to the selected template contact/user.
Deprecated: ProVal - Development - CW Manage Plugin ErrorsMediumInternal MonitorBothThe internal monitor is designed to notify alerts@provaltech.com of any critical errors and issues with the ConnectWise Manage Plugin.
Alert Template: ***** use Default - Do Nothing for now until we have an opportunity to look further into these action items from this monitor.
Subject: CW Manage Plugin Errors Detected for %Result%
e.g., CW Manage Plugin Errors Detected for Contacts on 2022-08-09
Deprecated: ~Custom Email RAWSQL Monitor set results to ProValAlert TemplateBothThis alert template should be assigned to the ProVal - Development - CW Manage Plugin Errors and ProVal - Development - Control - Broken Integration monitor sets. It will execute the Email RAWSQL Monitor Set Failures* [Autofix] script to send an email to Alerts@provaltech.com.
Deprecated: ProVal - Development - Automate Server - Unwanted Event Logs MonitoringMediumRemote MonitorOn-PremThe purpose of this remote monitor is to generate an Urgent ticket in our (ProVal's) Autotask portal if an error or critical event from either of "DBAgent", "ASPWCC2", or "MySQL" event sources is generated more than 10 times within the past 60 minutes on Automate server.
Alert Template: ***** use Default - Do Nothing for now until we have an opportunity to look further into these action items from this monitor.
Subject: Urgent - Automate Server - Unwanted Event Logs Detected
Deprecated: Automate Server - Event Log Monitoring [Autofix]Autofix ScriptOn-PremThe purpose of the script is to send the information of the event logs detected by the "ProVal - Development - Automate Server - Unwanted Event Logs Monitoring" monitor set.
The result sometimes crosses the character limit of 100 characters and hence, the script was needed for the alerting purpose. Also, this is not designed to send any notifications for the Success status of the monitor set.
Deprecated: △ Automate Server - Event Log Monitoring [Autofix]Alert TemplateOn-PremThis alert template should be assigned to the ProVal - Development - Automate Server - Unwanted Event Logs Monitoring monitor set. It will execute the Automate Server - Event Log Monitoring [Autofix] script to send the event log's information to alerts@provaltech.com as an urgent ticket.
Deprecated: Database size increased by 5%*[Global]MediumScriptBothThe ultimate goal of this script is to create a ticket in our (ProVal's) AutoTask portal if the overall size of the Labtech Database increases by 5% (threshold is flexible) within the last 24 hours (it depends on the frequency of the schedule).
Subject: Database size increased by @SizeToCompare@ Percent within the last @Hours@ Hour
e.g., Database size increased by 5 Percent within the last 24 Hour
Deprecated: Volume Free Space - Monitor Creation - Automate Server OnlyMediumScriptOn-PremThis is an exact copy of the CWM - Automate - Script - Volume Free Space - Monitor Creation script with a few changes. The purpose here is to use the dynamic monitor generated by the CWM - Automate - Script - Volume Free Space - Monitor Creation script to monitor the Automate server's drives and to generate a ticket in our (ProVal's) Autotask portal for the failures. We would like to proactively monitor the drive and perform the basic actions (like removing some unnecessary files logs or folders ) to free up some space for our partners.
Subject: Volume Space - %FieldName%: (%ComputerName%-%Computerid%)
e.g, Volume Space - C: (CW-Computer-200)
Deprecated: ConnectWise Manage Plugin Sync/Mapping AuditMediumScriptBothThis script will send an email to alerts@provaltech.com if it finds any necessary component as unsynced or unmapped in the CW Manage plugin. The Email will contain all the necessary details to act upon.
Alert Template: ***** use Default - Do Nothing for now until we have an opportunity to look further into these action items from this monitor.
Subject: Unmapped/Unsynced entity detected in CW Manage Plugin