We have this UWP app deployed at some client machines with telemetry code.
We now want no telemetry data (if not possible reduce the traffic) to flow into app insights in azure.
By deleting the app insights resource itself, will it help in reducing the traffic through client ISP or will there be data going out of the app but just that we are not monitoring any further?
We tried Ingestion sampling, but it discards some of the telemetry that arrives from your app, at a sampling rate that you set. It doesn't reduce telemetry traffic sent from your app.
Is there a way we could handle this without changing the code?
Even if you delete the application insights resource, your app still can send telemetry data to azure server, but these data will be rejected. By this way, it cannot reduce the telemetry traffic.
The only possible way is using firewall rule.
And in the future, you can use some code like this to dynamically start/stop telemetry data: TelemetryConfiguration.Active.DisableTelemetry = true;
Reduce telemetry traffic sent from your UWP app
The better way is remove telemetry code within client apps. and make new version app and publish the update with store. If you don't want to reduce telemetry with editing code, you could also disable your server api that used to revive telemetry data. And it will make client app filed when posting the data.
Related
So I am creating webjob which will be processed in background of the webapp. I have configured my webjobs with InMemoryChannel because I thought there will be no power-cut issue or issues like latency in memory on App Service. In ServerTelemetryChannel it will store data on disk, which in this case is not possible when hosted on App Service. Am I thinking it right way? Should I continue using InMemoryChannel for production as well when the program is used as a webjob?
Right now with InMemoryChannel I am receiving logs properly with a bit delay on Application Insight when I am running console application on my machine and not on webjob.
We are using azure app service codeless implementation of application insights: https://learn.microsoft.com/en-us/azure/azure-monitor/app/azure-web-apps?tabs=net#enable-agent-based-monitoring
We are also using front door, therefore all the health prob HEAD requests are ending up in application insights creating a lot of noise and extra cost.
I understand if you are using the application insights SDK and have an applicationinsights.config file you can filter these requests out.
But is there a way of doing this using the agent based monitoring, the doc hints that applicationinsights.config settings can be set as application settings in the app service, but does anyone have an example of how to do filtering this way?
Currently, Telemetry processors (preview) feature for filtering out unwanted telemetry data is available only for codeless application monitoring for Java apps via the standalone Java 3.x agent (examples here).
For other environments/languages and advanced configurations, manual instrumentation with the SDK might still be the way to go. Although it would require some management effort, this approach is much more customizable and would give you greater control over the telemetry you want to ingest.
Regardless of the approach, to reduce the volume of telemetry without affecting your statistics, you can try configuring Sampling, either via Application settings or the SDK.
From a Front Door configuration perspective, you could increase the Interval between health checks to reduce the frequency of requests. Or, if you have a single backend in your backend pool, you can choose to disable the health probes. Even if you have multiple backends in the backend pool but only one of them is in enabled state, you can disable health probes. This should help in reducing the load on your application backend, and also the telemetry traffic.
I have a UWP app published to store and is being used by customers. I have hooked application insights for the app which were useful sometime back.
I wanted to disable azure telemetry logging. For this, I have updated the build with a few code changes. But there are machines that are still running on our old builds.
So in that case is there a way to disable applications insights from logging any further, so that I don't have to delete the insights completely.
Thanks in advance
If you don't want to change your code, and the instrumentation key is directly used in the code, I don't think there're any ways to disable the telemetry for a uwp application.
But you can reduce the telemetry data by using Ingestion sampling. You can set the Data sampling value to 1%, so most of the data will be filtered out.
One more suggestion is that, next time, you can put the instrumentation key in a config file. In this case, if you don't want to send the data, just replace it with a false key.
I am exploring the Azure IoT central rest APIs to create a custom Angular client. Is this possible or does it have any limitations? IoT Central is attractive due to its pricing. Specifically, I found that retrieving multiple telemetry values isn't possible as per the following documentation page. Which means you have to send individual "get" requests to fetch multiple telemetry.
Azure IoT Central (get telemetry value)
Is there a possibility to register a call back and receive regular updates of the values like in event hubs? Basically I want to develop a custom client facing app with the IoT Central Pricing. Is it possible?
It is possible, to receive regular updates on telemetry you can use continuous data export. You can export to Service Bus, Event Hubs and Blob Storage. See the documentation here on how to set that up. You can receive those events in any JavaScript application.
Please be aware that continuous data export will give you updates from all devices. If you need to filter them out you will need to build something to filter that out. One example I have built in the past is a .NET Core application that listens to the messages and sends that to the different clients over SignalR.
I have the following resources
One Mobile/API app
One MVC app
Three Logic apps
One Azure function deployment with 5 functions
I want to have a single tracking number (correlation ID) to track across all instances at the same time. I'm looking at the Contoso Insurance sample, but I'm rebuilding it by hand (not using Azure Deploy scripts).
I've read the deployment code, but I'm not sure if I can merge app insight logs together, or if it's a hack of some sort.
Observations
When I right click on visual studio, I can only associate to Application insights instances that aren't already connected to a *app (web | mobile | api).
However, in the configuration, I can give Application insights a direct GUID which might allow me to achieve the goal of one App Insights activity log for the entire process
Question
Is it possible to have one app insights log among all Mobile/API/Logic/MVC sites?
Is there a way to have (or should I have) one standard app insights instance per web app, then a special dedicated shared app insights instance for my code to call into and log?
What is contoso insurance doing with Azure App Insights?
Jeff from Logic Apps team here -- So the answer is yes - but there are some caveats. We are working to make the experience seamless and automatic, but for now it will require the following. First as a heads up:
First, for Logic Apps we have what's called the client tracking ID -- this is a header you can set on an incoming HTTP Request or Service Bus message to track and correlate events across actions. It will be sent to all steps (functions, connectors, etc.) with the x-ms-client-tracking-id header.
Logic Apps emits all logs to Azure Monitor - which unfortunately today only has a sink into Event Hubs, Storage, and Log Analytics -- not App Insights.
With all of that in-mind, here's the architecture we see many following:
Have your web apps just emit to App Insights directly. Use some correlation ID as needed. When firing any Logic Apps, pass in the x-ms-client-tracking-id header so you can correlate events.
Log your events to App Insights in the Function app. This blog details some of how to do that, and it is also being worked on for a better experience soon.
In your logic app - either write a Function to consume events off of Azure monitor and push to App Insights, or write a function that is an App Insight "logger" that you can call in your workflow to also get the data into App Insights.
This is how Contoso Insurance is leveraging App Insights as far as I understand. We are working across all teams (App Insights, Azure Monitor, Azure Functions, Logic Apps) to make this super-simple and integrated in the coming weeks/months, but for now achievable with above. Feel free to reach out for any ?s