Have an idea we're trying to implement (kind of a doozy to be honest, but I'm really at the point where I need some help or suggestions to make it any farther with this, so I'm just throwing this out there in hopes I can be put on the right track). Currently running Control Center v11.0.470 and tickets handled through Manage v 2018.5. In a nutshell here's what we're looking for, and what we'd like. I am absolutely open to suggestions on a better way to achieve this:
Monitoring with alerts working with a PowerShell script to create tickets relating to free disk space on a system.
The ability to stop the check if we want to omit certain systems; I'm thinking we'll need an extra data field check in place for this
When tickets are closed that were created through the monitor, monitor health should be reset to good
If a ticket is created through the monitor, while that ticket is open the monitor shouldn't create more tickets relating to the system
What we have so far:
A PowerShell script which will check drive space available on a system. It classifies the drive by type: system, data, or both in instances. From here it adjusts its free space thresholds accordingly and either classifies free disk space as critical or good for the drive. It then outputs a .txt summary report with its findings. We want this to be what classifies disk space as critical or good.
Categories are in place for tickets created via Control Center to map to the proper board on Manage. We do have the ConnectWise Manage Plugin for syncing as well.
What I've tried:
Method 1: Creating a script on Control Center to execute the PowerShell script, if it finds that the PoSh script has deemed a drive as having critical space, run the Create Ticket function. Control Center script checks Extra Data fields; e.g., System Drive is also Data Drive and sends info for the PoSh script to refer to and set its thresholds accordingly
Problem 1 I had with this: I wasn't able to have this function also set the ticket category at the time of creation. I needed to run the Update Ticket function and set the category from here. This would set it properly at the Control Center side, but I wouldn't see that change reflected on Manage which would ideally move it to the proper board there. Right now tickets created via Control Center are defaulting to a Noise board on Manage, so a ticket created which doesn't immediately have its category set at time of creation ends up here. I would create the ticket, it would default to this board, and even after I updated the ticket category from Control Center it would stay in the Noise board.
Problem 2: If this is handled strictly through a scheduled Control Center script, I'm not sure how to get it to only create the ticket if there already isn't an open one on Manage relating to the system.
Method 2: After the two issues above arose I started thinking it might be better to approach this from having a Monitor / alert system set up for this.
Problem 1 with this: I'm not sure how to create the monitor to have it set status based on the results of a Control Center script. It can monitor exe results, .ps1 script results, etc., but I don't see an option for it to check the results of a Control Center script itself. The reason I'd like this is my PowerShell script takes into account Extra Data fields set at the Control Center level, meaning the Control Center script sends info to the system based on what information it finds through Extra Data fields.
Problem 2: I'm not sure how to get the monitor to only create tickets if there isn't already one open for the system.
Honestly, method 1 noted above almost seems like the easier way to go with this and I would love to get this working as I could think of so many other things I could implement if we're able to get this functioning: A scheduled Control Center script working with PoSh to create tickets as necessary mapped to the proper board on Manage, Control Center could talk to PoSh via its scripting functions and Extra Data Fields, it would be awesome.
Does anyone have any suggestions, tips, etc. to how I can achieve this? I've made it pretty far but am at a point where putting this together has me spinning my wheels a bit and I'm not really sure how to finalize this.