Skip to content

Commit 6c8c101

Browse files
committed
cleanup
1 parent 6ab7026 commit 6c8c101

File tree

2 files changed

+29
-16
lines changed

2 files changed

+29
-16
lines changed

articles/azure-monitor/best-practices-cost.md

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,12 @@ This article describes [Cost optimization](/azure/architecture/framework/cost/)
2727

2828
## Azure resources
2929

30+
3031
### Design checklist
3132

3233
> [!div class="checklist"]
33-
> - Use diagnostic settings and transformations to collect only critical resource log data from Azure resources.
34-
> - Configure VM agents to collect only critical events.
35-
> - Use transformations to filter resource logs for [supported tables](logs/tables-feature-support.md).
36-
> - Ensure that VMs aren't sending data to multiple workspaces.
34+
> - Collect only critical resource log data from Azure resources.
35+
3736

3837
### Configuration recommendations
3938

@@ -45,31 +44,52 @@ This article describes [Cost optimization](/azure/architecture/framework/cost/)
4544

4645
### Design checklist
4746

47+
48+
> [!div class="checklist"]
49+
> - Configure VM agents to collect only important events.
50+
> - Ensure that VMs aren't sending data to multiple workspaces.
51+
> - Use transformations to filter unnecessary data from collected events.
52+
4853
### Configuration recommendations
4954

5055
| Recommendation | Description |
5156
|:---|:---|
52-
| Configure VM agents to collect only critical events. | Virtual machines can vary significantly in the amount of data they collect, depending on the amount of telemetry generated by the applications and services they have installed. See [Monitor virtual machines with Azure Monitor: Workloads](vm/monitor-virtual-machine-data-collection.md#controlling-costs) for guidance on data to collect and strategies for using XPath queries and transformations to limit it.|
57+
| Configure VM agents to collect only important events. | Virtual machines can vary significantly in the amount of data they collect, depending on the amount of telemetry generated by the applications and services they have installed. See [Monitor virtual machines with Azure Monitor: Workloads](vm/monitor-virtual-machine-data-collection.md#controlling-costs) for guidance on data to collect and strategies for using [XPath queries](agents/data-collection-rule-azure-monitor-agent.md#filter-events-using-xpath-queries) to limit it.|
5358
| Ensure that VMs aren't sending duplicate data. | Any configuration that uses multiple agents on a single machine or where you multi-home agents to send data to multiple workspaces may incur charges for the same data multiple times. If you do multi-home agents, make sure you're sending unique data to each workspace. See [Analyze usage in Log Analytics workspace](logs/analyze-usage.md) for guidance on analyzing your collected data to make sure you aren't collecting duplicate data. If you're migrating between agents, continue to use the Log Analytics agent until you [migrate to the Azure Monitor agent](./agents/azure-monitor-agent-migration.md) rather than using both together unless you can ensure that each is collecting unique data. |
59+
| Use transformations to filter unnecessary data from collected events. | [Transformations](essentials/data-collection-transformations.md) can be used in data collection rules to remove unnecessary data or even entire columns from events collected from the virtual machine which can significantly reduce the cost for their ingestion and retention. |
5460

5561
## Container insights
5662

5763
### Design checklist
5864

65+
> [!div class="checklist"]
66+
> - Configure agent collection to remove unneeded data.
67+
> - Modify settings for collection of metric data.
68+
> - Limit Prometheus metrics collected.
69+
> - Configure Basic Logs.
5970
### Configuration recommendations
6071

6172
| Recommendation | Description |
6273
|:---|:---|
6374
| Configure agent collection to remove unneeded data. | Analyze the data collected by Container insights as described in [Controlling ingestion to reduce cost](containers/container-insights-cost.md#control-ingestion-to-reduce-cost) and adjust your configuration to stop collection of data in ContainerLogs you don't need. |
64-
| Modify settings for collection of metric data | You can reduce your costs by modifying the default collection settings Container insights uses for the collection of metric data. See [Enable cost optimization settings (preview)](containers/container-insights-cost-config.md) for details on modifying both the frequency that metric data is collected and the namespaces that are collected. |
65-
| Limit Prometheus metrics collected | If you configured Prometheus metric scraping, then follow the recommendations at [Controlling ingestion to reduce cost](containers/container-insights-cost.md#prometheus-metrics-scraping) to optimize your data collection for cost. |
66-
| Configure Basic Logs | [Convert your schema to ContainerLogV2](containers/container-insights-logging-v2.md) which is compatible with Basic logs and can provide significant cost savings as described in [Controlling ingestion to reduce cost](containers/container-insights-cost.md#configure-basic-logs). |
75+
| Modify settings for collection of metric data. | You can reduce your costs by modifying the default collection settings Container insights uses for the collection of metric data. See [Enable cost optimization settings (preview)](containers/container-insights-cost-config.md) for details on modifying both the frequency that metric data is collected and the namespaces that are collected. |
76+
| Limit Prometheus metrics collected. | If you configured Prometheus metric scraping, then follow the recommendations at [Controlling ingestion to reduce cost](containers/container-insights-cost.md#prometheus-metrics-scraping) to optimize your data collection for cost. |
77+
| Configure Basic Logs. | [Convert your schema to ContainerLogV2](containers/container-insights-logging-v2.md) which is compatible with Basic logs and can provide significant cost savings as described in [Controlling ingestion to reduce cost](containers/container-insights-cost.md#configure-basic-logs). |
6778

6879

6980
## Application Insights
7081

7182
### Design checklist
7283

84+
> [!div class="checklist"]
85+
> - Use sampling to tune the amount of data collected.
86+
> - Use sampling to tune the amount of data collected.
87+
> - Limit the number of Ajax calls.
88+
> - Disable unneeded modules.
89+
> - Pre-aggregate metrics from any calls to TrackMetric.
90+
> - Limit the use of custom metrics.
91+
> - Ensure use of updated SDKs.
92+
7393
### Configuration recommendations
7494

7595
| Recommendation | Description |
@@ -82,13 +102,6 @@ This article describes [Cost optimization](/azure/architecture/framework/cost/)
82102
| Limit the use of custom metrics. | The Application Insights option to [Enable alerting on custom metric dimensions](app/pre-aggregated-metrics-log-metrics.md#custom-metrics-dimensions-and-pre-aggregation) can increase costs. Using this option can result in the creation of more pre-aggregation metrics. |
83103
| Ensure use of updated SDKs. | Earlier versions of the ASP.NET Core SDK and Worker Service SDK [collect many counters by default](app/eventcounters.md#default-counters-collected), which were collected as custom metrics. Use later versions to specify [only required counters](app/eventcounters.md#customizing-counters-to-be-collected). |
84104

85-
#### All log data collection
86-
87-
| Recommendation | Description |
88-
|:---|:---|
89-
| Remove unnecssary data during data ingestion | After following all of the preveious recommendations, consider using Azure Monitor [data collection transformations](essentials/data-collection-transformations.md) to reduce the size of your data during ingestion. |
90-
91-
92105

93106

94107
## Next step

articles/azure-monitor/faq.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,7 @@ sections:
506506
answer: |
507507
Yes, for experimental use. In the basic pricing plan, your application can send a certain allowance of data each month free of charge. The free allowance is large enough to cover development and publishing an app for a few users. You can set a cap to prevent more than a specified amount of data from being processed.
508508
509-
Larger volumes of telemetry are charged by the gigabyte. We provide some tips on how to [limit your charges](best-practices-cost.md#data-collection).
509+
Larger volumes of telemetry are charged by the gigabyte. We provide some tips on how to [limit your charges](best-practices-cost.md#application-insights).
510510
511511
The Enterprise plan incurs a charge for each day that each web server node sends telemetry. It's suitable if you want to use Continuous Export on a large scale.
512512

0 commit comments

Comments
 (0)