You develop an Azure web app. You monitor performance of the web app by using Application Insights.
You need to ensure the cost for Application Insights does not exceed a preset budget.
What should you do?
You develop an Azure web app. You monitor performance of the web app by using Application Insights.
You need to ensure the cost for Application Insights does not exceed a preset budget.
What should you do?
To ensure the cost for Application Insights does not exceed a preset budget, you should set a daily cap for the Application Insights instance. This daily cap controls the maximum amount of data that can be ingested by Application Insights each day, providing a clear limit and preventing any unexpected costs due to high data volumes. This is the most direct way to manage and ensure that the monitoring expenses do not surpass the predefined budget.
The answer should be B: setting daily cap will prevent exceeding predefined limit. E is incorrect, as it only reduces the amount of data, but not limits it to specific max amount.
Agree. Website is 'being developed' and need to monitor performance while not exceeding the preset budget.
Sorry it wil be E only. You can use the daily volume cap to limit the data collected. However, if the cap is met, a loss of all telemetry sent from your application for the remainder of the day occurs. It is not advisable to have your application hit the daily cap. You can't track the health and performance of your application after it reaches the daily cap. Instead of using the daily volume cap, use sampling to tune the data volume to the level you want. Then, use the daily cap only as a "last resort" in case your application unexpectedly begins to send much higher volumes of telemetry.
While your answer is best practice it does not meet the requirement. The requirement is to "ensure the cost for Application Insights does not exceed a preset budget." You cannot do this with adaptive sampling alone.
B & E seem right to me, together. Otherwise only B. E is good practice but doesn't keep the cost down which is what the question is asking.
https://docs.microsoft.com/en-us/azure/azure-monitor/app/pricing
Website is 'being developed' and need to monitor performance while not exceeding the preset budget. I will go with "B"
As per following article, this is absolutely correct. https://docs.microsoft.com/en-us/azure/azure-monitor/app/pricing
correct answer: E
correct answer is B.
Agree. "The daily cap is intended to be used as a way to manage an unexpected increase in data volume from your managed resources and stay within your limit, or when you want to limit unplanned charges for your workspace. It is not appropriate to set a daily cap so that it is met each day on a workspace." https://docs.microsoft.com/en-us/azure/azure-monitor/platform/manage-cost-storage#understand-your-usage-and-estimate-costs
Types of sampling There are three different sampling methods: Adaptive sampling automatically adjusts the volume of telemetry sent from the SDK in your ASP.NET/ASP.NET Core app, and from Azure Functions. This is the default sampling when you use the ASP.NET or ASP.NET Core SDK. Adaptive sampling is currently only available for ASP.NET server-side telemetry, and for Azure Functions. Fixed-rate sampling reduces the volume of telemetry sent from both your ASP.NET or ASP.NET Core or Java server and from your users' browsers. You set the rate. The client and server will synchronize their sampling so that, in Search, you can navigate between related page views and requests. Ingestion sampling happens at the Application Insights service endpoint. 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, but helps you keep within your monthly quota. The main advantage of ingestion sampling is that you can set the sampling rate without redeploying your app. Ingestion sampling works uniformly for all servers and clients, but it does not apply when any other types of sampling are in operation.
From this, are you saying ingestion sampling is correct?
There is no information about the web app. Adaptive sampling is only available for ASP.NET applications. Ingestion sampling available if no other sampling is in effect. However I guess it should be B, since it is the only way to ensure it.
The answer should be B
This one is tricky, i'm pretty sure that given answer is correct, since it's described in best practices as follows: "Sampling is a feature in Azure Application Insights. It is the recommended way to reduce telemetry traffic, data costs, and storage costs, while preserving a statistically correct analysis of application data"
Reason for choosing B. https://docs.microsoft.com/en-us/azure/azure-monitor/platform/manage-cost-storage#understand-your-usage-and-estimate-costs. The daily cap is intended to be used as a way to manage an unexpected increase in data volume from your managed resources and stay within your limit, or when you want to limit unplanned charges for your workspace.
Once Daily cap is reached, it will stop pumping info. Loss. Ingestion sampling is for server side. Adaptive Sampling seems right. To be done using SDK. I'll go with E.
B should be the answer
here are the steps given in the documentation for dealing with the issue: A. Review your data volume for the month. This includes all the data that's received and retained (after any sampling) from your server and client apps, and from availability tests. B. A separate charge is made for multi-step web tests. (This doesn't include simple availability tests, which are included in the data volume charge.) C. View data volume trends for the past month. D. Enable data ingestion sampling. E. Set the daily data volume cap. https://docs.microsoft.com/en-us/azure/azure-monitor/app/pricing From this, both ingestion sampling and setting a daily cap volume seem to be correct.
From this, they seem to be correct when used together
"Adaptive sampling is enabled by default in all the latest versions of the Application Insights ASP.NET and ASP.NET Core Software Development Kits (SDKs). It is also used by Azure Functions." https://docs.microsoft.com/en-us/azure/azure-monitor/app/pricing If its enabled by default, then it's already implemented, which begs the question if the default answer is correct for this question.
The main advantages of sampling are: 1.Application Insights service drops ("throttles") data points when your app sends a very high rate of telemetry in a short time interval. Sampling reduces the likelihood that your 2.application will see throttling occur. 3.To keep within the quota of data points for your pricing tier. 4.To reduce network traffic from the collection of telemetry. https://docs.microsoft.com/en-us/azure/azure-monitor/app/sampling As per 3rd point sampling has to be used to keep data withing limit and preferred sampling is always adaptive. So answer should be E
Answer is B: You can set a daily cap to ensure that the cost does not exceed a budget. You can go to “Usage and estimated costs” for your Application Insights resource and then hit on Daily cap.
I would go with E due to the operational impact when setting a cap on the Application Insight. During the high traffic volume, the cap limit would be easily reached and application insight would stop collecting data.
With the ASP.NET SDK's adaptive sampling, the data volume is adjusted automatically to keep within a specified maximum rate of traffic for default Application Insights monitoring. If the application produces a low amount of telemetry, such as when debugging or due to low usage, items won't be dropped by the sampling processor as long as volume is below the configured events per second level. For a high volume application, with the default threshold of five events per second, adaptive sampling will limit the number of daily events to 432,000. Using a typical average event size of 1 KB, this corresponds to 13.4 GB of telemetry per 31-day month per node hosting your application (since the sampling is done local to each node.) https://docs.microsoft.com/en-us/azure/azure-monitor/app/pricing so, cost limit can be decided using adaptive sampling also. Also, the questions says we need to monitor the web app which wont be possible if daily cap is met.
Why not A? A can control the quota Ingestion sampling happens at the Application Insights service endpoint. 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, but helps you keep within your monthly quota. The main advantage of ingestion sampling is that you can set the sampling rate without redeploying your app. Ingestion sampling works uniformly for all servers and clients, but it does not apply when any other types of sampling are in operation.
Sorry, A is wrong coz it happens on server side, only can be configued in portal rather than SDK on client side.
Why not D an option here, pls suggest?
I think D. You can implement after observation of volume of metrics, how to set sampling .. as stated in documentation
Answer should be B
'B' is the correct answer here.