Skip to content

Commit ee99b45

Browse files
Merge pull request #227409 from EdB-MSFT/patch-1
Patch 1
2 parents 4b4bfe0 + d33f725 commit ee99b45

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

articles/azure-monitor/essentials/metrics-custom-overview.md

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ ms.reviewer: priyamishra
1010
---
1111
# Custom metrics in Azure Monitor (preview)
1212

13-
As you deploy resources and applications in Azure, you'll want to start collecting telemetry to gain insights into their performance and health. Azure makes some metrics available to you out of the box. These metrics are called [standard or platform](./metrics-supported.md). However, they're limited.
13+
As you deploy resources and applications in Azure, start collecting telemetry to gain insights into their performance and health. Azure makes some metrics available to you out of the box. These metrics are called [standard or platform](./metrics-supported.md).
1414

15-
You might want to collect some custom performance indicators or business-specific metrics to provide deeper insights. These *custom* metrics can be collected via your application telemetry, an agent that runs on your Azure resources, or even an outside-in monitoring system. They can then be submitted directly to Azure Monitor. After custom metrics are published to Azure Monitor, you can browse, query, and alert on custom metrics for your Azure resources and applications side by side with the standard Azure metrics.
15+
Collect custom performance indicators or business-specific metrics to provide deeper insights. These *custom* metrics can be collected via your application telemetry, an agent that runs on your Azure resources, or even an outside-in monitoring system. They can then be submitted directly to Azure Monitor. Once custom metrics are published to Azure Monitor, you can browse, query, and alert on them for your Azure resources and applications along side the standard Azure metrics.
1616

1717
Azure Monitor custom metrics are currently in public preview.
1818

@@ -22,13 +22,13 @@ Custom metrics can be sent to Azure Monitor via several methods:
2222

2323
- Instrument your application by using the Azure Application Insights SDK and send custom telemetry to Azure Monitor.
2424
- Install the Azure Monitor agent (preview) on your [Windows or Linux Azure VM](../agents/azure-monitor-agent-overview.md). Use a [data collection rule](../agents/data-collection-rule-azure-monitor-agent.md) to send performance counters to Azure Monitor metrics.
25-
- Install the Azure Diagnostics extension on your [Azure VM](../essentials/collect-custom-metrics-guestos-resource-manager-vm.md), [virtual machine scale set](../essentials/collect-custom-metrics-guestos-resource-manager-vmss.md), [classic VM](../essentials/collect-custom-metrics-guestos-vm-classic.md), or [classic cloud service](../essentials/collect-custom-metrics-guestos-vm-cloud-service-classic.md). Then send performance counters to Azure Monitor.
25+
- Install the Azure Diagnostics extension on your [Azure VM](../essentials/collect-custom-metrics-guestos-resource-manager-vm.md), [Virtual Machine Scale Set](../essentials/collect-custom-metrics-guestos-resource-manager-vmss.md), [classic VM](../essentials/collect-custom-metrics-guestos-vm-classic.md), or [classic cloud service](../essentials/collect-custom-metrics-guestos-vm-cloud-service-classic.md). Then send performance counters to Azure Monitor.
2626
- Install the [InfluxData Telegraf agent](../essentials/collect-custom-metrics-linux-telegraf.md) on your Azure Linux VM. Send metrics by using the Azure Monitor output plug-in.
2727
- Send custom metrics [directly to the Azure Monitor REST API](./metrics-store-custom-rest-api.md), `https://<azureregion>.monitoring.azure.com/<AzureResourceID>/metrics`.
2828

2929
## Pricing model and retention
3030

31-
For details on when billing will be enabled for custom metrics and metrics queries, check the [Azure Monitor pricing page](https://azure.microsoft.com/pricing/details/monitor/). In summary, there's no cost to ingest standard metrics (platform metrics) into an Azure Monitor metrics store, but custom metrics will incur costs when they enter general availability. Queries to the metrics API do incur costs.
31+
For details on when billing is enabled for custom metrics and metrics queries, check the [Azure Monitor pricing page](https://azure.microsoft.com/pricing/details/monitor/). In summary, there's no cost to ingest standard metrics (platform metrics) into an Azure Monitor metrics store, but custom metrics incur costs when they enter general availability. Queries to the metrics API do incur costs.
3232

3333
Custom metrics are retained for the [same amount of time as platform metrics](../essentials/data-platform-metrics.md#retention-of-metrics).
3434

@@ -53,7 +53,7 @@ To submit custom metrics to Azure Monitor, the entity that submits the metric ne
5353
5454
### Subject
5555

56-
The subject property captures which Azure resource ID the custom metric is reported for. This information will be encoded in the URL of the API call. Each API can submit metric values for only a single Azure resource.
56+
The subject property captures which Azure resource ID the custom metric is reported for. This information is encoded in the URL of the API call. Each API can submit metric values for only a single Azure resource.
5757

5858
> [!NOTE]
5959
> You can't emit custom metrics against the resource ID of a resource group or subscription.
@@ -101,7 +101,7 @@ Although dimensions are optional, if a metric post defines dimension keys, corre
101101

102102
Azure Monitor stores all metrics at 1-minute granularity intervals. During a given minute, a metric might need to be sampled several times. An example is CPU utilization. Or a metric might need to be measured for many discrete events, such as sign-in transaction latencies.
103103

104-
To limit the number of raw values that you have to emit and pay for in Azure Monitor, you can locally pre-aggregate and emit the values:
104+
To limit the number of raw values that you have to emit and pay for in Azure Monitor, locally pre-aggregate and emit the aggregated values:
105105

106106
* **Min**: The minimum observed value from all the samples and measurements during the minute.
107107
* **Max**: The maximum observed value from all the samples and measurements during the minute.
@@ -176,10 +176,10 @@ In the following example, you create a custom metric called **Memory Bytes in Us
176176
177177
## Custom metric definitions
178178

179-
There's no need to predefine a custom metric in Azure Monitor before it's emitted. Each metric data point published contains namespace, name, and dimension information. So, the first time a custom metric is emitted to Azure Monitor, a metric definition is automatically created. This metric definition is then discoverable on any resource that the metric is emitted against via the metric definitions.
179+
Each metric data point published contains a namespace, name, and dimension information. The first time a custom metric is emitted to Azure Monitor, a metric definition is automatically created. This new metric definition is then discoverable on any resource that the metric is emitted from via the metric definitions. There's no need to predefine a custom metric in Azure Monitor before it's emitted.
180180

181181
> [!NOTE]
182-
> Azure Monitor doesn't yet support defining **Units** for a custom metric.
182+
> Azure Monitor doesn't support defining **Units** for a custom metric.
183183
184184
## Using custom metrics
185185

@@ -221,9 +221,10 @@ Azure Monitor imposes the following usage limits on custom metrics:
221221

222222
|Category|Limit|
223223
|---|---|
224-
|Total active time series in a subscription across all regions you've deployed to|50,000|
224+
|Total active time series in a subscription per region|50,000|
225225
|Dimension keys per metric|10|
226226
|String length for metric namespaces, metric names, dimension keys, and dimension values|256 characters|
227+
|The combined length of all custom metric names, using utf-8 encoding|64 KB|
227228

228229
An active time series is defined as any unique combination of metric, dimension key, or dimension value that has had metric values published in the past 12 hours.
229230

@@ -246,6 +247,13 @@ Follow the steps below to see your current total active time series metrics, and
246247
1. Select the **Apply** button.
247248
1. Choose either **Active Time Series**, **Active Time Series Limit**, or **Throttled Time Series**.
248249

250+
There is a limit of 64 KB on the combined length of all custom metrics names, assuming utf-8 or 1 byte per character. If the 64-KB limit is exceeded, metadata for additional metrics won't be available. The metric names for additional custom metrics won't appear in the Azure portal in selection fields, and won't be returned by the API in requests for metric definitions. The metric data is still available and can be queried.
251+
252+
When the limit has been exceeded, reduce the number of metrics you're sending or shorten the length of their names. It then takes up to two days for the new metrics' names to appear.
253+
254+
To avoid reaching the limit, don't include variable or dimensional aspects in your metric names.
255+
For example, the metrics for server CPU usage,`CPU_server_12345678-319d-4a50-b27e-1234567890ab` and `CPU_server_abcdef01-319d-4a50-b27e-abcdef012345` should be defined as metric `CPU` and with a `Server` dimension.
256+
249257
## Design limitations and considerations
250258

251259
**Using Application Insights for the purpose of auditing.** The Application Insights telemetry pipeline is optimized for minimizing the performance impact and limiting the network traffic from monitoring your application. As such, it throttles or samples (takes only a percentage of your telemetry and ignores the rest) if the initial dataset becomes too large. Because of this behavior, you can't use it for auditing purposes because some records are likely to be dropped.
@@ -272,7 +280,7 @@ But if high cardinality is essential for your scenario, the aggregated metrics a
272280
Use custom metrics from various services:
273281

274282
- [Virtual machine](../essentials/collect-custom-metrics-guestos-resource-manager-vm.md)
275-
- [Virtual machine scale set](../essentials/collect-custom-metrics-guestos-resource-manager-vmss.md)
283+
- [Virtual Machine Scale Set](../essentials/collect-custom-metrics-guestos-resource-manager-vmss.md)
276284
- [Azure virtual machine (classic)](../essentials/collect-custom-metrics-guestos-vm-classic.md)
277285
- [Linux virtual machine using the Telegraf agent](../essentials/collect-custom-metrics-linux-telegraf.md)
278286
- [REST API](./metrics-store-custom-rest-api.md)

0 commit comments

Comments
 (0)