Collectors

A collector is effectively a gatherer of some source of information about a resource/service that needs to be 'measured'. It implements the IAgent and ICollector interfaces (via CollectorBase) and is housed inside a CollectorEntry for configration.

Creating a new Collector

In order to implement a new collector the following steps must be taken:
  • Open the Monitor pack management window to get to the Edit collector entry window.
  • Create a new (or add to) class library that reference the QuickMonShared assembly.
  • (Optionally) Set the default namespace to QuickMon (recommended to ease development)
  • (Optionally) Set project properties - like Title, description etc.
  • Inherit from the CollectorBase class (in stead of the ICollector interface directly since some common functionality is already included in CollectorBase)
  • Implement methods that need to be overridden (tip - use existing collectors as example e.g. HttpPing is a good example)
  • Provide a custom configuration user interface (recommended to call it EditConfig to ease 'standard' set by existing collectors
  • Provide a custom ShowDetail user interface to display more details (and optionally manage) of the resource the collector is polling
  • When implementing the main GetState() method remember to also implement the build-up of the alert detail information using the LastDetailMsg (type CollectorMessage) property

Existing collectors

General
  • Folder - is a special placeholder (or virtual) agent that does no 'work' by itself and simply acts to group dependent child collectors.
  • Disk space – local (only) drive space available
  • Event log - count number of matching event log entries
  • File count and size – file/directory size
  • Performance counters – monitor performance counters
  • Ping – ping machine response times
  • Httpping - like ping except for http/https protocol
  • Soap Web Service - Simple pinging/polling Soap Web services
  • SQL Query - Run SQL query and compare the return value
  • Windows service state – are specified services running or not
  • WMI query – specify some WMI query and compare the return value

Specialized
  • BizTalk ports and orchestrations – check if ports/orchestrations are running
  • BizTalk suspended count – check the suspended instance count
  • SQL server database size – check database size
  • SQL server table size – check row count

Last edited Mar 5, 2013 at 6:46 AM by RudolfHenning, version 17

Comments

No comments yet.