At first glance this looks like a reasonable question. I’ve created my own custom monitor – I have an existing Distributed Application but it doesn’t give me the option to add a monitor. Why? The reason is that a monitor impacts state for an entity. A monitor itself is NOT an entity.

When architecting Distributed Applications we add various entities (servers, synthetic transactions, websites, databases, etc) and show how they are interrelated. So if I can’t add the monitor, how do integrate this into a Distributed Application? The key on this is where the custom monitor was targeted at. As an example, we created a monitor which ran a test of a database to validate it was functional. We originally targeted this monitor to the instance which contained the database. When we tried to add this to the Distributed Application we were going to have to add the instance to the Distributed Application which provided a lot more information (and not relevant information) than we wanted.

To avoid this we re-created the monitor and re-targeted it to the specific database which we wanted to test. So now we can add the new target (the actual database) into the Distributed Application. If the monitor fails it will impact the state of the database which will be shown within the Distributed Application and viewable when we explore the database in Health Explorer.

Summary: Created a custom monitor and want to add it to a Distributed Application? Find the target of the monitor and integrate that target entity into your Distributed Application.