Skip to content

Commit bcf877a

Browse files
authored
Merge pull request #267203 from EdB-MSFT/pormetheus-case-sensitivity
updated case sesnitivity statements
2 parents 77f4d15 + 0c7c214 commit bcf877a

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: EdB-MSFT
55
ms.service: azure-monitor
66
ms-author: edbaynash
77
ms.topic: conceptual
8-
ms.date: 05/10/2023
8+
ms.date: 01/25/2024
99
---
1010

1111
# Azure Monitor managed service for Prometheus
@@ -45,13 +45,14 @@ See [Azure Monitor service limits](../service-limits.md#prometheus-metrics) for
4545
## Limitations/Known issues - Azure Monitor managed Service for Prometheus
4646

4747
- Scraping and storing metrics at frequencies less than 1 second isn't supported.
48-
- Metrics with the same label names but different cases are rejected during ingestion (ex;- `diskSize(cluster="eastus", node="node1", filesystem="usr_mnt", FileSystem="usr_opt")` is invalid due to `filesystem` and `FileSystem` labels, and are rejected).
4948
- Microsoft Azure operated by 21Vianet cloud and Air gapped clouds aren't supported for Azure Monitor managed service for Prometheus.
5049
- To monitor Windows nodes & pods in your cluster(s), follow steps outlined [here](../containers/kubernetes-monitoring-enable.md#enable-windows-metrics-collection-preview).
5150
- Azure Managed Grafana isn't currently available in the Azure US Government cloud.
5251
- Usage metrics (metrics under `Metrics` menu for the Azure Monitor workspace) - Ingestion quota limits and current usage for any Azure monitor Workspace aren't available yet in US Government cloud.
5352
- During node updates, you might experience gaps lasting 1 to 2 minutes in some metric collections from our cluster level collector. This gap is due to a regular action from Azure Kubernetes Service to update the nodes in your cluster. This behavior is expected and occurs due to the node it runs on being updated. None of our recommended alert rules are affected by this behavior.
5453

54+
[!INCLUDE [case sensitivity](../includes/prometheus-case-sensitivity.md)]
55+
5556
## Prometheus references
5657
Following are links to Prometheus documentation.
5758

@@ -88,4 +89,4 @@ If you use the Azure portal to enable Prometheus metrics collection and install
8889

8990
- [Enable Azure Monitor managed service for Prometheus on your Kubernetes clusters](../containers/kubernetes-monitoring-enable.md).
9091
- [Configure Prometheus alerting and recording rules groups](prometheus-rule-groups.md).
91-
- [Customize scraping of Prometheus metrics](prometheus-metrics-scrape-configuration.md).
92+
- [Customize scraping of Prometheus metrics](prometheus-metrics-scrape-configuration.md).
Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
---
22
ms.service: azure-monitor
33
ms.topic: include
4-
ms.date: 04/01/2023
4+
ms.date: 01/25/2024
55
ms.author: edbaynash
66
author: EdB-MSFT
77
---
88

99
## Case sensitivity
10-
Azure managed Prometheus is a case insensitive system. If one time series differs from another only by a difference in the case of a string (metric name, label name, label value, etc), it's treated as the same time series. This behavior is different from native open source Prometheus, which is a case sensitive system.
10+
Azure managed Prometheus is a case insensitive system. It treats strings, such as metric names, label names, or label values, as the same time series if they differ from another time series only by the case of the string.
11+
12+
> [!NOTE]
13+
> This behavior is different from native open source Prometheus, which is a case sensitive system.
1114
1215
In Azure managed Prometheus the following time series are considered the same:
1316

@@ -16,10 +19,10 @@ In Azure managed Prometheus the following time series are considered the same:
1619

1720
The above examples are a single time series in a time series database.
1821
- Any samples ingested against them are stored as if they're scraped/ingested against a single time series.
19-
- If the examples above are ingested with the same timestamp, one of them is randomly dropped.
22+
- If the preceding examples are ingested with the same timestamp, one of them is randomly dropped.
2023
- The casing that's stored in the time series database and returned by a query is unpredictable. Different casing may be returned at different times for the same time series.
2124
- Any metric name or label name/value matcher present in the query is retrieved from time series database by making a case-insensitive comparison. If there's a case sensitive matcher in a query, it's automatically treated as a case-insensitive matcher when making string comparisons.
2225

23-
It is best practice to ensure that a time series is produced or scraped using a single consistent case.
26+
It's best practice to ensure that a time series is produced or scraped using a single consistent case.
2427

25-
In OSS Prometheus, the above time series are treated as two different time series. Any samples scraped/ingested against them are stored separately.
28+
In Open Source Prometheus, the above time series are treated as two different time series. Any samples scraped/ingested against them are stored separately.

articles/azure-monitor/includes/prometheus-faq-i-am-missing-metrics-with-same-name-different-casing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ author: EdB-MSFT
88

99
### Why am I missing metrics that have two labels with the same name but different casing?
1010

11-
Metrics that have two label names that are the same except for their casing will be treated as having duplicate label names. These time series will be dropped upon ingestion since the two labels are seen as the same. For example, the time series `my_metric{ExampleLabel="label_value_0", examplelabel="label_value_1}` will be dropped due to duplicate labels since `ExampleLabel` and `examplelabel` will be seen as the same label name.
11+
Azure managed Prometheus is a case insensitive system. It treats strings, such as metric names, label names, or label values, as the same time series if they differ from another time series only by the case of the string. For more information, see [Prometheus metrics overview](/azure/azure-monitor/essentials/prometheus-metrics-overview#case-sensitivity).

includes/azure-monitor-limits-metrics.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ ms.custom: "include file"
1212

1313
### Ingestion
1414

15+
Azure managed Prometheus is a case insensitive system. It treats strings, such as metric names, label names, or label values, as the same time series if they differ from another time series only by the case of the string. For more information, see [Prometheus metrics overview](/azure/azure-monitor/essentials/prometheus-metrics-overview#case-sensitivity).
16+
1517
The following limits apply to the Azure Monitor workspace ingesting your Prometheus metrics.
1618

1719
| Limit | Value |

0 commit comments

Comments
 (0)