Using Azure Application Insights to alert on non web service downtime RRS feed

  • Question

  • So my team and I are looking for a solution to monitor several systems, both web service and windows service running on a remote server, and make sure that the appropriate people are notified if one of those systems go down.  Most systems I've looked at, including the built in Azure Monitor, do their checks based on a web service ping and response back to make sure the application is healthy.  However, this doesn't work for our window services running.

    Looking at Application Insights, I like how this works by having each application report to it, and how I can look at the metrics for each resource that reports in.  Unfortunately, I don't see a way in the online documentation for an alert to be created if a known resource has not submitted a report in a set interval.  I did see that like Azure Monitor, you can set up an availability test by pinging the website, but I want to know if the reverse is possible in Insights.


    • Moved by Md Shihab Wednesday, October 25, 2017 4:13 AM Better suited in Application Insights
    Tuesday, October 24, 2017 9:02 PM

All replies

  • There are several techniques one can use to see if non web service is still reporting in, they are somewhat "hacks" in nature because there is no easy way to alert on absence of something:

    - Implement a ping interface in this windows service and expose this port for external pings to still use Web Tests pipeline;

    - Write an Analytics query that groups data per instance and role at the same time and then use it in on of the following ways: 1. Write an Azure Function (there is a template for it) that will execute this query and submit a metric back to AI every N minutes that says if data from the service is there or not. Then setup alert on that new metric. 2. Write Microsoft Flow workflow that queries AI and checks for data per instance and then emails/initiates alert workflow based on the result. 3. Use this query in the Web Test that queries an API and produces pass/fail result based on the query output. Then use this web test to alert on in AI.

    - Wait for AI SDK to get Heartbeat event (in review currently) and rely on absence of this metric as a trigger for an alert (might still require Azure Functions or Microsoft Flow alerting to detect that no values has been sent)

    Dmitry Matveev

    Friday, October 27, 2017 10:52 PM