Ken WalleweinI've been working on a basic health monitor set I can quickly deploy on all PCs and servers, and it's occurred to me that this is a significant hole in what Kaseya provides.
sam.taylorIt really amazes me when people just 'dont get' kaseya.
sam.taylorIt really amazes me when people just 'dont get' kaseya. ... My only quam with kaseya monitoring is that the views exposed dont allow you to get data directly from the monitor logs (that is really useful). But hey, nothing stops people jumping in and changing that....
sam.taylorIt really amazes me when people just 'dont get' kaseya. (as a side note: when are you over in london next Andrew?)
Ken WalleweinNot sure what it is you think people don't "get". Would you mind clarifying that? Knowing that K uses WMI explains a lot of what it does.
Didnt intend to offend people, but obviously have - sorry. Kaseya is an interface for scripting on multiple computers on disseperate domains. Monitoring is a collection of useful tools with a web front end. The basic 'monitoring' that people do comes directly from Windows Performance Monitor. The real problem is that PerfMon doesnt have any counters for the issues you describe. Kaseya is attempting to be as generic and flexible as possible and this is what makes kaseya extremely powerful. Dont get me wrong, I understand where you are coming from, but if you understand how kaseya does what it does, you soon realise that it is extremely difficult to simply send a message saying 'you need more ram' or 'this machine needs better/faster/more disks'. Having a tool that simply takes over the analytics side of generic monitoring doesnt really work. EG - What if you have a SQL farm with a SAN backend, you want to monitor IOPS for your farm. How is kaseya expected to know which servers are connected to the SAN, which arrays/disk groups/raid types are in use and make appropriate suggestions. We use kaseya monitoring (for base performance) to assist us to judge hardware/software requirements, but do not expect it to complete the analytics as well. Kaseya is an extremely cheap product when you consider what it does. Following are a few simple example monitor sets that we use:
<?xml version="1.0" encoding="ISO-8859-1" ?> <monitor_set_definition version="1.0"> -<MonitorSet name="General Performance" description='General Performance'> -<Counters> <Counter name='Pages/Sec' description='null' counterObject='Memory' counter='Pages/sec' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='-1' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='100' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Current Disk Queue Length' description='null' counterObject='PhysicalDisk' counter='Current Disk Queue Length' counterInstance='_Total' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='-1' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='100' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='% Processor Time' description='null' counterObject='Processor' counter='% Processor Time' counterInstance='_Total' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='90' thresholdDuration='60' thresholdWarning='10' thresholdReArm='3600'/> </Counters> -<Services> </Services> -<Processes> </Processes> </MonitorSet> </monitor_set_definition>
<?xml version="1.0" encoding="ISO-8859-1" ?> <monitor_set_definition version="1.0"> -<MonitorSet name="IOPS" description='IO's Per Second'> -<Counters> <Counter name='IOPS-Write' description='Write OPS' counterObject='System' counter='File Write Operations/sec' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='300' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='IOPS-Read' description='Read OPS' counterObject='System' counter='File Read Operations/sec' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='300' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Queue-Read' description='Avg. Read Queue Length' counterObject='PhysicalDisk' counter='Avg. Disk Read Queue Length' counterInstance='_Total' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='800' thresholdDuration='30' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Queue-Write' description='Avg. Write Queue Length' counterObject='PhysicalDisk' counter='Avg. Disk Write Queue Length' counterInstance='_Total' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='800' thresholdDuration='30' thresholdWarning='10' thresholdReArm='3600'/> </Counters> -<Services> </Services> -<Processes> </Processes> </MonitorSet> </monitor_set_definition>
<?xml version="1.0" encoding="ISO-8859-1" ?> <monitor_set_definition version="1.0"> -<MonitorSet name="IOPS per Disk (Customer X SQL Cluster)" description='Disk IOPS'> -<Counters> <Counter name='Disk Reads C:' description='null' counterObject='LogicalDisk' counter='Disk Reads/sec' counterInstance='C:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Writes C:' description='null' counterObject='LogicalDisk' counter='Disk Writes/sec' counterInstance='C:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Reads D:' description='null' counterObject='LogicalDisk' counter='Disk Reads/sec' counterInstance='D:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Writes D:' description='null' counterObject='LogicalDisk' counter='Disk Writes/sec' counterInstance='D:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Reads E:' description='null' counterObject='LogicalDisk' counter='Disk Reads/sec' counterInstance='E:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Writes E:' description='null' counterObject='LogicalDisk' counter='Disk Writes/sec' counterInstance='E:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Reads F:' description='null' counterObject='LogicalDisk' counter='Disk Reads/sec' counterInstance='F:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Writes F:' description='null' counterObject='LogicalDisk' counter='Disk Writes/sec' counterInstance='F:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Reads J:' description='null' counterObject='LogicalDisk' counter='Disk Reads/sec' counterInstance='J:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Writes J:' description='null' counterObject='LogicalDisk' counter='Disk Writes/sec' counterInstance='J:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Reads L:' description='null' counterObject='LogicalDisk' counter='Disk Reads/sec' counterInstance='L:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Writes L:' description='null' counterObject='LogicalDisk' counter='Disk Writes/sec' counterInstance='L:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Reads M:' description='null' counterObject='LogicalDisk' counter='Disk Reads/sec' counterInstance='M:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Writes M:' description='null' counterObject='LogicalDisk' counter='Disk Writes/sec' counterInstance='M:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Reads Q:' description='null' counterObject='LogicalDisk' counter='Disk Reads/sec' counterInstance='Q:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Writes Q:' description='null' counterObject='LogicalDisk' counter='Disk Writes/sec' counterInstance='Q:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Reads W:' description='null' counterObject='LogicalDisk' counter='Disk Reads/sec' counterInstance='W:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> <Counter name='Disk Writes W:' description='null' counterObject='LogicalDisk' counter='Disk Writes/sec' counterInstance='W:' counterSampleInterval='60' collectionOperator='Over' collectionThreshold='0' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over' thresholdAmount='200' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/> </Counters> -<Services> </Services> -<Processes> </Processes> </MonitorSet> </monitor_set_definition>
- - - -
Ken Wallewein these are pretty basic and important things that just about everybody would want to monitor we all seem to agree that Kaseya doesn't do them very well, especially "out of the box" there's nothing stopping Kaseya from addressing that if they chose to do so -- others have. The items I listed are all technically do-able -- granted, some more easily than others -- by someone who chooses to make the effort.