Monitoring your SharePoint Pages with Azure Insight Apps

Monitoring a SharePoint Server park was never a really exciting job for Administrators; expect if you really knew about System Centre Operations Manager – aka SCOM, compared to SharePoint Pages with Azure Insight Apps. You had to install the Management Pack that basically enables administrators to manage Microsoft SharePoint Server 2016. The Management Pack is designed to be used for MCR (Monitor – Collect – Raise if necessary):

· Monitoring events
· Collecting SharePoint component-specific performance counters
· Raising alerts.

By MCR critical events, this management pack helps you and prevent possible service outages allowing you to proactively manage SharePoint servers and identify issues before they become critical. If you are using SCOM and want to add the management pack; please follow this hyperlink for more information https://www.microsoft.com/en-us/download/details.aspx?id=52043 .

I’m currently working for one of the biggest clients in the financial sector, and their need was to have monitoring on each application – my case: SharePoint Sites – and no resource were available for installing, configuring and managing SCOM for SharePoint servers. So I presented and tested Azure Application Insights (App Insights) with SharePoint Pages for my client.
What is Azure Application Insights?
To make is simple – App Insights is an extensible Application Performance Management service for web developers on multiple platforms.

What does Application Insights? Here the answer in a few bullet points:

· App Insights will automatically detect performance anomalies.
· App Insights includes powerful analytics tools to help you diagnose issues.
· App Insights has been designed to help you continuously improve performance
· App Insights works a wide variety of platforms including .NET, Node.js and J2EE, hosted on-premises or in the cloud.

Application Insight Azure Insight

Application Insight

How to integrate Azure Application Insights?
First of all we need to create our App Insight App. Sign up to Microsoft Azure, go to the Preview portal and add an Application Insights resource. Once your App Insight is created hit on Getting Started under Configure. You’ll see that you can monitor and diagnose your app from the server side but as well as the client side.

What can Application Insights do?

What can Application Insights do?

Once you hit the second option, you’ll get a JavaScript and you simply have to add it into your Master Page – if you are still on-premises. Place this code immediately before the closing </head> tag and before any other scripts. Your first data should appear automatically in just a few seconds if there is no block from Firewall or any load balancing issues – as I had. Please follow this hyperlink for expectations: (https://docs.microsoft.com/en-us/azure/application-insights/app-insights-ip-addresses).

Application Insight

Application Insight

If you are using Office 365 you can simply edit your page and add an Embed the code into your page. You can find the Image reference as technical how-to for classic SharePoint Team sites in Office 365: https://docs.microsoft.com/en-us/azure/application-insights/app-insights-sharepoint. Unfortunately – this option doesn’t work for Modern Teams sites, today!

Why today? According to Microsoft: the User custom actions / Custom JavaScript will be available in a more controlled way to embed JavaScript on the pages through the SharePoint Framework (not only client-side web parts). So please take this point with a grain of salt.

Application Insight

Application Insight

And basically that’s it – really no more to do from a client side perspective to have a decent monitoring on your Applications. I’m not going to show how to configure reports or add some crucial metrics on your dashboard as a new experience, but rather than that, I’ll give you some insights from my client why they accepted to do a POC.

1 – Application Map
We have a lot of teams working together into one application. One Application is sometimes designed by several teams to serve business needs. With the Application Map, you simply don’t have heed to drawings, Visio’s etc. No headache between different teams about the communication between different components between stacks. The Application map show you the Client-side component (monitored with the JavaScript SDK) – as well as the client side dependencies. Each component’s node has relevant performance indicators for:

· Load
· Performance
· Failure rates

And each component’s node can be filtered on a time range. By default, the map summarises all the data available for the chosen time range. But you can filter it to include only specific operation names or dependencies.

Filter component’s node

Filter component’s node

2 – Next-Gen Administrators
What my client also loved that App Insights is not only meant for the Monitoring nor for the SharePoint guys. The metrics are clear and let you deduct powerful statements. If the node gives you a communication issue between your SharePoint Server and Active Directory, you know that don’t have to go to the SQL guys. Not a real expertise is needed for a first estimation.

3 – Power BI Integration
Having insights is cool. But it’s way better to combine this with the business analytics suite of office 365: Power BI. From your Azure App Insights you can connect to Power BI, get your metrics and show them in next-gen live reports (after the initial import, the dashboard and the reports continue to update daily. You can modify the refresh schedule on the dataset).

Power BI Integration

Power BI Integration

You can edit your dashboard, combining the Application Insights charts with other sources. There’s a visualisation gallery where you can get more charts, and each chart has a parameters you can set.

Once you’ve got your reports, you can easily publish those reports to the web (SharePoint). This is maybe not the securest way, as everybody who has the hyperlink can see your data; but hey sharing reports/metrics/non critical data has never been so simple (as it’s a financial sector, I can’t show you any real report unfortunately). As an example: publish it on a Modern team site, and you can share the metrics to any partner and vendors.

BI Reports

BI Reports

When the connection is done between App Insights and Power BI, here is how a ready-to-go report looks like. You can see the Page views, Unique Users by country and way more. Every single section is customisable and adapted for a smoothly running experience.

Connection between App Insights and Power BI

Connection between App Insights and Power BI

What my client loved is the “Ask a Question” part of the report. Application Insight has some built-in queries that you – as an end user – can request and see the results.

Ask a Question report

Ask a Question report

As an example if you hit on “Page views daily last 30 days”, this is the result that you’ll get. My client as me where amazed by the combination of Azure Insights and Power Bi!

Ask a Question result

Ask a Question result

4- Live Metrics Stream Application Insights
Something for developers in a built phase. Something for IT Pro’s after the build phase. This immediate monitoring is very useful when you’re releasing a new build and want to make sure that everything is working as expected, or investigating an incident in real time. I even had developers in the room who had the idea to combine this with other tools like AvePoint or Rencore. Unlike Metrics Explorer (which is the last point), Live Metrics Stream displays a fixed set of metrics. The data persists only for as long as it’s on the chart, and is then discarded.

Live Metrics Stream

Live Metrics Stream

5- Analytics
So, this was the golden shot. When I showed them the Analytics page on Azure Application Insights they literally went KO.

 Analytics page on Azure Application

Analytics page on Azure Application

Being able to query your metrics and get customisable charts is something they always want to have. As SCOM was not configured correctly inside the corporate, no data was shown in any report. A typical query that they use is – for example – let’s find out the top 10 countries by traffic in the past 24h who visited our website. Impressive isn’t it?

Query your metrics

Query your metrics

Conclusion
My customer is happy. Extremely happy as this solution can be used in any other application as well (don’t only think SharePoint) and how intuitive/easy it is to get your metrics from your application. The extensibility (being able to create reports in Power BI) and the REST API for developers is another good and valid point for Application Insights. Last but not least, the price seems also be far less than dedicated SCOM servers for the SharePoint Park.

The POC has started to check if App Insights fits for the whole corporate. So let’s hope and see what the future will say, as a POC in Belgium can literally take a while before finish ;)… And NO, Azure Application Insights can also be used by Administrators 🙂

References:
Ozcifci, G. (2017). Monitoring your SharePoint Pages with Azure Insight Apps – Why my client loves it! – xGokan. [online] Available at: http://gokan.ms/monitoring-your-sharepoint-pages-with-azure-insight-apps-why-my-client-loves-it/ [Accessed 10 May 2017].

Wills, A.C. (2017). What is Azure Application Insights?. [online] Available at: https://docs.microsoft.com/en-us/azure/application-insights/app-insights-overview [Accessed 10 May 2017].

Ghelani, K. (2017). Understand your SharePoint usage with Application Insights. [online] Azure.microsoft.com. Available at: https://azure.microsoft.com/en-us/blog/understand-your-sharepoint-usage-with-application-insights-2/ [Accessed 10 May 2017].

Docs.microsoft.com. (2016). Export to Power BI from Application Insights. [online] Available at: https://docs.microsoft.com/en-us/azure/application-insights/app-insights-export-power-bi [Accessed 10 May 2017].

Share this on...

Rate this Post:

Share: