Hi Brian, First, thanks for the work : that's definitely how the official O365 MP should look like! Now a quick question : is there a reason why you used Windows.Computer as a base class for the watcher node? This results in having a duplicate of all the monitors targeted at that class in addition to the ones which actually are in the O365 MP, hence the possibility to have instances of the watcher in a critical state while everything is actually fine on O365 side... In my opinion, using a LocalApplicatio n base class would have been a better option here :)
Typically, what servers are used to run the Watch Nodes? Do you recommend dedicated servers or can it co-exist with another app?
You can use any Agent Managed computer, once the pre-reqs are installed it will be discovered and added to the O365 Watcher Node class and then you can enable the monitors. You can use machines that host multiple roles with no problem, I use a ConfigMgr Site Server/MDT Server in my lab as a Watcher Node.
The doc doesn't seem to include how to configure the watcher nodes. Do you do it via a resource pool, config file, etc?
Once the three pre-reqs are installed on any agent managed computer the discovery will populate the watcher node class. You can override the workflows for one or all or separate watcher nodes then distribute your run as accounts accordingly.