1

We are building a enterprise application using UWP technology. We would like to monitor the application performance using Microsoft Application Insights. App insights telemetry data directly logged into the Azure portal. For security reason, we do not wanted to log the data to outside the boundary. Is there any way to implement the APM without using AZURE? What i meant is, we have to use app insights services, data should be logged in to on-prem server.That needs to visualized by using any tool

Thanks in advance.

Thanks Sekar

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343
  • You'll probably need to use an on-prem APM product then. At least to me it feels unnecessary to use a cloud APM if you don't want to use cloud. – juunas May 27 '20 at 08:01
  • Thanks juunas for your reply. It's make sense. Any other better product ? Can we go with Elastic search APM stack ? – Sekar Thangavel May 27 '20 at 12:16

2 Answers2

0

You cannot directly send app insights data out of azure. It will be stored and retained in azure app insights purview only. But you can use options like continuous export of app insights data to move the telemtry data to other azure storage options like blobs or data lake store.

https://learn.microsoft.com/en-us/azure/azure-monitor/app/export-telemetry

App insights are various performance counters and other telemetry that we collect from the applications. If you are sure what metrics you want to collect then turn of application insights and you can have those perf counter data custom logged to blobs or put them into some queue from where they will be sent to your on premises storage (by some process). Or if you can setup some log ingestion engine on-prem to which the apps in the cloud can send the data.

Having said that app insights are a cloud native approach to application monitoring on azure which I believe would work better than other custom approaches. So you can explore the security concerns you have on app insights and see how to mitigate them.

Aravind
  • 4,125
  • 1
  • 28
  • 39
  • Aravind, Thanks for your answer . It looks like based on your answer we can not directly push the data to any other storage . We can not bypass it. Our primary concern is our data should not go to outside of the boundary. Since the system is running in fully controlled environment. So i think we have to go for other products/tools. – Sekar Thangavel May 27 '20 at 12:14
0

you could if you want to invent your own whole ingestion/storage system. in the appinsights configuration you can affect the endpoint where the data created by the sdk is sent.

in the javascript sdk it is something like this

        let config: ApplicationInsights_Types.IConfiguration = {
            // endpoint by default is something like this:
            endpointUrl: "https://dc.services.visualstudio.com/v2/track",
            instrumentationKey: this._instrumentationKey
        };

you'd have to find the corresponding thing in whatever SDK you are using. then invent the whole backend and storage and query system to keep all that data.

the point of APM services like Application Insights and others it to not do all that work yourself.

John Gardner
  • 24,225
  • 5
  • 58
  • 76