Jump to content

Search the Community

Showing results for tags 'internal monitor'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • MSPGeek
    • Announcements
    • The Geek Cast
  • ConnectWise Automate / Labtech
    • ConnectWise Automate / LabTech
    • ConnectWise Automate / LabTech - Development

Categories

  • ConnectWise Automate
    • Scripts
    • Plugins
    • SQL Snippets
    • Role Definitions
    • Automate PowerShell Code
    • Reports
    • Internal Monitors
    • Remote Monitors
  • ConnectWise Manage
    • API Interacting Code

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Location


Agent Count


INTERESTS


OCCUPATION


ICQ


WEBSITE


WLM


YAHOO


AOL


FACEBOOK


GOOGLEPLUS


SKYPE


TWITTER


YOUTUBE

Found 9 results

  1. Once a role has been detected for an agent, it will remain in the list of roles for that system even if the detection rule no longer applies. There are no timestamps, so it is impossible to know if the non-detection state is short term or permanent. This Internal Monitor will identify every inactive role on an agent, which adds a separate active alert for that role on the agent with a timestamp for when the role was first found missing. The RAWSQL monitor is three queries in one. The first one checks for any role that was reported missing more than 7 days ago, and deletes the role from the agent. The second query deletes role alerts from the history if the role is found to be active, or no longer exists on that agent. The last query detects missing roles to generate alerts. With the expired roles and alerts removed from the agent by the first queries, the active alert in the monitor will clear (heal) for that role also. The role must be continuously non-detected.. If it is ever found to be a detected role before 7 days has passed, the alert will clear (query #2) and the monitor will start the clock again the if the role becomes missing again. Manually assigned "Apply" and "Ignore" Roles are preserved, only automatically detected roles are candidates for cleanup. UPDATE - This monitor has been moved to the Downloads section. Please see https://www.labtechgeek.com/files/file/42-manage-roledetections-that-are-no-longer-detected/
  2. Thanks to WNichols for the idea. An Internal Monitor to detect hardwired connections that are not operating at Gigabit speeds. Because who still uses Fast Ethernet? To help reduce noise, only agents that are at their assigned location network (Agent public Router IP matches Location Router IP). Virtual Adapters, WiFi adapters, etc. are ignored. I restricted the monitor to only consider the primary NIC (the NIC with the IP Address matching the agents LocalAddress). I like these types of monitors myself not so much for creating tickets/work, but to organize this information in a way that I can spot check it and identify trends/areas for improvement. Once you have everything dialed though in it can be used to trigger tickets or emails when systems that aren't operating to your standards appear. Import using Control Panel -> Tools -> Import SQL. Tweak as you prefer. Monitor - NIC Speed on Company Network Less Than Gigabit.zip Hypothetically, if you had Computer, Location, and Client EDFs to disable this check (of course Group Targeting in the Monitor and Monitor Agent Exclusions are also functional), you could add this SQL into the Additional Conditions Field to support this. This block checks the computer, computer default, location, location default, client, and client default EDF values looking for a checkbox that disables the check for the computer, location, or client. AND computers.computerid NOT IN (SELECT DISTINCT computerid FROM computers LEFT JOIN extrafielddata AS e ON (e.ID=computers.computerid AND e.ExtraFieldID=(SELECT ID FROM extrafield WHERE `Name`='Disable Gigabit NIC Check' AND Form=1)) LEFT JOIN extrafielddata AS ed ON (ed.ID=0 AND e.ExtraFieldID=(SELECT ID FROM extrafield WHERE `Name`='Disable Gigabit NIC Check' AND Form=1)) LEFT JOIN extrafielddata AS el ON (el.ID=computers.locationid AND el.ExtraFieldID=(SELECT ID FROM extrafield WHERE `Name`='Disable Gigabit NIC Check' AND Form=2)) LEFT JOIN extrafielddata AS eld ON (eld.ID=0 AND el.ExtraFieldID=(SELECT ID FROM extrafield WHERE `Name`='Disable Gigabit NIC Check' AND Form=2)) LEFT JOIN extrafielddata AS ec ON (ec.ID=computers.clientid AND ec.ExtraFieldID=(SELECT ID FROM extrafield WHERE `Name`='Disable Gigabit NIC Check' AND Form=3)) LEFT JOIN extrafielddata AS ecd ON (ecd.ID=0 AND ecd.ExtraFieldID=(SELECT ID FROM extrafield WHERE `Name`='Disable Gigabit NIC Check' AND Form=3)) WHERE IF(IFNULL(e.Value,IFNULL(ed.Value,0))=1,1,IF(IFNULL(el.Value,IFNULL(eld.Value,0))=1,1,IF(IFNULL(ec.Value,IFNULL(ecd.Value,0))=1,1,0)))=1)
  3. This monitor identifies the current agent version for OSX, Linux and Windows Agents. Each hour the monitor checks for agents that are not at the current version, and issues the Agent Update command to a small batch of online agents. It will only issue the command once per day for any particular agent, and only if there are no pending/executing update commands already in the queue. This has been moved to the File Download section. You can download it here: https://www.mspgeek.com/files/file/45-cwa-agent-version-update-monitor/
  4. Hello, we're looking for a way to take different actions based on how many results show up in the monitor that calls this script. To be more specific, we want to execute a SQL stored proc if there are fewer than 10 results, and if there are more than 10, we want to send an alert email. The way I understand it, though, when you call a script based on the results of an internal monitor, the script simply receives one row at a time and executes based on the data in that row, rather than receiving all of the rows at once and running on each one in a loop. Am I understanding this correctly, and is there a way to accomplish what we're trying to do? Thanks!
  5. Hello All, Is it possible to pass %FIELDNAME% from a monitor to a script? Example would be - low disk internal monitor. It uses %FIELDNAME% to represent the drive letter that is throwing the alert. If I allow the monitor itself to create the ticket, this variable works. If I have the monitor run a script, the %FIELDNAME% variable does not function within the script. Any ideas? Thank you! Arthur
  6. Hi All, Spent a lot of time working this one out but believe I have it, in case anyone else wants it. The below Internal Monitor has to be RAWSQL and it will return a list of all computers that have had over 500 'Failed Logins' (defined by the event ID's of the pre-built Internal Monitor) in a 1 day period Create Temporary Table IF NOT EXISTS Tcomp (INDEX (Computerid)) SELECT computerid FROM computers WHERE ComputerID NOT IN (Select ComputerID from AgentIgnore Where AgentID=4114); Select DISTINCT computers.computerid as TestValue,eventlogs.Message as IdentityField,computers.computerid,Computers.Name as computername,locations.locationid,locations.name as locationname,clients.Clientid,clients.name as clientname,agentcomputerdata.NoAlerts,AgentComputerData.UpTimeStart,AgentComputerData.UpTimeEnd FROM ((Computers LEFT JOIN Locations ON Locations.LocationID=Computers.Locationid) LEFT JOIN Clients ON Clients.ClientID=Computers.clientid) JOIN AgentComputerData on Computers.ComputerID=AgentComputerData.ComputerID INNER JOIN eventlogs ON Computers.ComputerID = eventlogs.ComputerID WHERE eventlogs.EventID IN (529, 644, 681, 4625) and eventlogs.timegen > DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY) GROUP BY Computers.ComputerID, Computers.Name, eventlogs.EventID HAVING COUNT(EventID) > 500 AND Computers.ComputerID IN (Select ComputerID From Tcomp) I hope this saves someone many hours! Cheers, James
  7. This monitor will identify (16gb minimum) drives that have grown or shrunk. This can be used to generate a ticket if backup software will need settings adjusted after the drive size was changed. By default this monitor should raise an alert for any disks identified. Import in Control Center -> Tools -> Import -> SQL File. A monitor named "Detect Drive Size Change" will be created. MONITOR - Detect Drive Size Change.zip
  8. I thought this one of mine was worth sharing, especially helpful if you need a method of mass generating alerts/tickets/warnings for clients running Office 2007 or earlier. https://gavsto.com/internal-monitor-rawsql-machines-running-office-2007-v12-or-earlier/ Instructions and download above!
  9. This query can be used as an Additional Condition for an Internal Monitor, or merged with other queries. It attempts to identify computers that are "at their home" by looking at their public IP. It determines what the public IP should be for each location by selecting the probe for each location, and domain controllers in each location. If the computer's public IP matches with the probe's public IP, the computer is considered to be at it's assigned location. If this does not match, it will check the public IP for DC's at that location. If the computer's public IP matches with a Domain Controller's public IP, the computer is considered to be at it's assigned location Both tests check the last time the other computer was online. Probe's must have been online within the past 2 days. Domain Controllers must be online right now. Just add this into the Additional Conditions: AND computers.computerID IN (SELECT DISTINCT c.computerid AS ComputersAtLocation FROM computers AS c JOIN locations AS l ON c.locationid=l.locationid LEFT JOIN computers AS probes ON probes.computerid=l.probeid AND SUBSTRING_INDEX(probes.routeraddress, '.', 3)=SUBSTRING_INDEX(c.routeraddress, '.', 3) AND probes.lastcontact>DATE_ADD(NOW(),INTERVAL -2 DAY) LEFT JOIN computers AS dc ON dc.locationid=c.locationid AND dc.domain LIKE 'DC:%' AND SUBSTRING_INDEX(dc.routeraddress, '.', 3)=SUBSTRING_INDEX(c.routeraddress, '.', 3) AND dc.lastcontact>DATE_ADD(NOW(),INTERVAL -15 MINUTE) WHERE IFNULL(IFNULL(probes.computerid,dc.computerid),0)>0) To only include computers OUTSIDE of the "office", reverse the results with: AND NOT computers.computerID IN (SELECT DISTINCT c.computerid AS ComputersAtLocation FROM computers AS c JOIN locations AS l ON c.locationid=l.locationid LEFT JOIN computers AS probes ON probes.computerid=l.probeid AND SUBSTRING_INDEX(probes.routeraddress, '.', 3)=SUBSTRING_INDEX(c.routeraddress, '.', 3) AND probes.lastcontact>DATE_ADD(NOW(),INTERVAL -2 DAY) LEFT JOIN computers AS dc ON dc.locationid=c.locationid AND dc.domain LIKE 'DC:%' AND SUBSTRING_INDEX(dc.routeraddress, '.', 3)=SUBSTRING_INDEX(c.routeraddress, '.', 3) AND dc.lastcontact>DATE_ADD(NOW(),INTERVAL -15 MINUTE) WHERE IFNULL(IFNULL(probes.computerid,dc.computerid),0)>0)
×