Skip to content

Commit 16cfdbb

Browse files
committed
Update NGINXaaS documentation for native-metrics integration
1 parent 82045bb commit 16cfdbb

File tree

3 files changed

+44
-57
lines changed

3 files changed

+44
-57
lines changed

Diff for: content/nginxaas-azure/changelog.md

+7
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ To see a list of currently active issues, visit the [Known issues]({{< relref "/
1313

1414
To review older entries, visit the [Changelog archive]({{< relref "/nginxaas-azure/changelog-archive" >}}) section.
1515

16+
## TODO: March XX, 2025
17+
18+
- {{% icon-resolved %}} **Azure Monitor Platform Metrics**
19+
20+
NGINXaaS now publishes platform metrics directly to Azure Monitor. Legacy monitoring based on custom metrics is deprecated, and we strongly recommend migrating your alerts to use platform metrics for improved monitoring and management. For more details on enabling platform metrics, please refer to [Enable Monitoring]({{< relref "/nginxaas-azure/monitoring/enable-monitoring.md">}}).
21+
22+
1623
## March 13, 2025
1724

1825
- {{% icon-resolved %}} **Percentage capacity metric**

Diff for: content/nginxaas-azure/monitoring/configure-alerts.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ url: /nginxaas/azure/monitoring/configure-alerts/
1010

1111
## Overview
1212

13-
{{<note>}}F5 NGINX as a Service for Azure (NGINXaaS) publishes custom metrics to Azure Monitor. To learn more about how to create and manage metrics-based alert rules, refer to the [Alerts section in Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-create-new-alert-rule?tabs=metric) documentation from Microsoft. {{</note>}}
13+
{{<note>}}F5 NGINX as a Service for Azure (NGINXaaS) publishes platform metrics to Azure Monitor. To learn more about how to create and manage metrics-based alert rules, refer to the [Alerts section in Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/alerts-create-new-alert-rule?tabs=metric) documentation from Microsoft. {{</note>}}
1414

1515
This guide explains how to create and configure metrics-based alerts for your NGINXaaS for Azure deployment using Azure Monitor.
1616

Diff for: content/nginxaas-azure/monitoring/enable-monitoring.md

+36-56
Original file line numberDiff line numberDiff line change
@@ -7,75 +7,54 @@ docs: "DOCS-876"
77
url: /nginxaas/azure/monitoring/enable-monitoring/
88
---
99

10-
Monitoring your application's performance is crucial for maintaining its reliability and efficiency. F5 NGINX as a Service for Azure (NGINXaaS) seamlessly integrates with Azure Monitor, allowing you to collect, correlate, and analyze metrics for a thorough understanding of your application's health and behavior. With Azure Monitor, you gain access to a wealth of information regarding your application's operations. You can:
11-
12-
- Review Metrics: Examine the performance data collected from your application.
13-
- Correlate Data: Connect different data points to gain insights into application performance trends.
14-
- Analyze Performance: Dive deep into metrics to gain a comprehensive understanding of how your application operates.
15-
- Create Alerts: Set up proactive monitoring by configuring alerts that notify you of potential issues before they escalate.
16-
17-
{{<note>}}NGINXaaS for Azure publishes *custom* metrics to Azure Monitor. To learn about the differences between standard and custom metrics, refer to the [Custom metrics in Azure Monitor overview](https://docs.microsoft.com/en-us/azure/azure-monitor/essentials/metrics-custom-overview) documentation from Microsoft. Azure Monitor custom metrics are currently in public preview.{{</note>}}
10+
Monitoring your application's performance is crucial for maintaining its reliability and efficiency. F5 NGINX as a Service for Azure (NGINXaaS) seamlessly integrates with Azure Monitor, allowing you to collect, correlate, and analyze metrics for a thorough understanding of your application's health and behavior.
1811

12+
Refer to the [Azure monitor overview](https://docs.microsoft.com/en-us/azure/azure-monitor/overview) documentation from Microsoft to learn more about Azure Monitor.
1913

2014
### Prerequisites
2115

2216
- A user assigned managed identity or a system assigned managed identity with `Monitoring Metrics Publisher` role.
2317

2418
{{<note>}} When a user assigned managed identity or a system assigned managed identity is added to the deployment through portal, this role is automatically added.{{</note>}}
2519

26-
- User must be an owner or user access administrator for NGINX deployment resource to complete this set up.
20+
## Collection
2721

28-
- If you're unfamiliar with Azure Monitor, refer to the [Azure monitor overview](https://docs.microsoft.com/en-us/azure/azure-monitor/overview) documentation from Microsoft.
22+
Azure Monitor will collects metrics from the NGINXaaS deployment automatically if the prerequisites are met. No configuration is required.
2923

30-
## Enable monitoring
24+
## Exporting
25+
You can export Azure Monitor metrics to other destinations like Log Analytics workspace, Azure Storage Account, Azure Event Hubs or Azure Monitor partner solutions using Diagnostic Setting. For more information, see the [Metrics diagnostic setting](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings).
3126

32-
1. Log in to the Azure portal and navigate to your NGINXaaS for Azure deployment.
33-
2. In the navigation pane under **Settings**, select the **NGINX monitoring** section.
34-
3. Turn on the **Send metrics to Azure Monitor** setting.
27+
To configure diagnostic settings for a service, see [Create diagnostic settings in Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/create-diagnostic-settings).
3528

36-
## View metrics with Azure Monitor metrics explorer
29+
{{<note>}} Not all metrics are exportable via diagnostic settings, for a list of exportable metrics, see [NGINXaaS exportable metrics](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-metrics/nginx-nginxplus-nginxdeployments-metrics).{{</note>}}
3730

38-
1. In the navigation pane under **Monitoring**, select the **Metrics** section to access the Azure Monitor metrics explorer for your NGINXaaS deployment.
39-
2. Refer to the [Azure Monitor metrics explorer](https://docs.microsoft.com/en-us/azure/azure-monitor/essentials/metrics-getting-started) documentation from Microsoft to learn how you can create queries.
4031

41-
{{<note>}}Many of NGINX Plus's advanced statistics need to be enabled in the "nginx.conf" file before they will appear in the metrics explorer, for example "plus.http.request.bytes_*". Refer to [Gathering Data to Appear in Statistics](https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/#gathering-data-to-appear-in-statistics) to learn more.{{</note>}}
32+
## Cost and retention
33+
Azure Monitor platform metrics are ingested and stored free of charge, with a standard retention period of 93 days. Adding alerts, querying Azure Monitor using REST API or exporting metrics using Azure Monitor's diagnostic settings would incurs costs. For detailed pricing, you can refer to the [Azure Monitor pricing page](https://azure.microsoft.com/en-us/pricing/details/monitor/).
4234

43-
## Retrieve metrics through Azure Monitor API
4435

45-
This section shows you how to effectively discover, gather and analyze NGINXaaS metrics through the Azure Monitor API.
36+
## View metrics with Azure Monitor metrics explorer
4637

47-
{{<note>}}Refer to [Authenticate Azure Monitor requests](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/rest-api-walkthrough?tabs=portal#authenticate-azure-monitor-requests) for instructions on authenticating your API requests against the Azure Monitor API endpoint.{{</note>}}
38+
Access the [Microsoft Azure portal](https://portal.azure.com)
4839

49-
1. **Retrieve metric namespaces:** Each metric belongs to a category, or "namespace", which groups similar types of metrics together. We recommend listing all namespaces for NGINXaaS to locate the metrics you're interested in. The following `curl` example shows how to retrieve all metrics namespaces on your NGINXaaS deployment:
40+
1. Go to your NGINXaaS for Azure deployment.
41+
2. In the navigation pane under **Monitoring**, select the **Metrics** section to access the Azure Monitor metrics explorer for your NGINXaaS deployment.
5042

51-
```bash
52-
curl --request GET --header "Authorization: Bearer $TOKEN" "https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metricNamespaces?api-version=2024-02-01"
53-
```
43+
Refer to the [Azure Monitor metrics explorer](https://docs.microsoft.com/en-us/azure/azure-monitor/essentials/metrics-getting-started) documentation from Microsoft to learn how you can create queries.
5444

55-
The following JSON shows an example response body:
45+
{{<note>}}Many of NGINX Plus's advanced statistics need to be enabled in the "nginx.conf" file before they will appear in the metrics explorer, for example "plus.http.request.bytes_*". Refer to [Gathering Data to Appear in Statistics](https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/#gathering-data-to-appear-in-statistics) to learn more.{{</note>}}
5646

57-
```json
58-
{
59-
"value": [
60-
...
61-
{
62-
"id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metricNamespaces/NGINX Connections Statistics",
63-
"name": "nginx connections statistics",
64-
"type": "Microsoft.Insights/metricNamespaces",
65-
"classification": "Custom",
66-
"properties": {
67-
"metricNamespaceName": "nginx connections statistics"
68-
}
69-
},
70-
...
71-
]
72-
}
73-
```
47+
## Retrieve metrics through Azure Monitor REST API
7448

75-
2. **Retrieve metric definitions:** Metrics definitions give you insights into the various metrics available for NGINXaaS within a namespace and what they represent. The following `curl` example shows how to retrieve all metrics definitions within the `nginx connections statistics` namespace for your NGINXaaS deployment:
49+
This section shows you how to effectively discover, gather and analyze NGINXaaS metrics through the Azure Monitor REST API.
50+
51+
{{<note>}}Refer to [Authenticate Azure Monitor requests](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/rest-api-walkthrough?tabs=portal#authenticate-azure-monitor-requests) for instructions on authenticating your API requests against the Azure Monitor API endpoint.{{</note>}}
52+
53+
54+
1. **Retrieve metric definitions:** Metrics definitions give you insights into the various metrics available for NGINXaaS within a namespace and what they represent. The following `curl` example shows how to retrieve all metrics definitions within the `nginx connections statistics` namespace for your NGINXaaS deployment:
7655

7756
```bash
78-
curl --request GET --header "Authorization: Bearer $TOKEN" "https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metricDefinitions?metricnamespace=nginx%20connections%20statistics&api-version=2024-02-01"
57+
curl --request GET --header "Authorization: Bearer $TOKEN" "https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metricDefinitions?api-version=2024-02-01"
7958
```
8059

8160
The following JSON shows an example response body:
@@ -87,50 +66,51 @@ This section shows you how to effectively discover, gather and analyze NGINXaaS
8766
{
8867
"id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metricdefinitions/Nginx Connections Statistics/nginx.conn.current",
8968
"resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-deployment",
90-
"namespace": "NGINX Connections Statistics",
69+
"namespace": "NGINX.NGINXPLUS/nginxDeployments",
70+
"category":"nginx connections statistics",
9171
"name": {
9272
"value": "nginx.conn.current",
93-
"localizedValue": "nginx.conn.current"
73+
"localizedValue": "Current connections"
9474
},
9575
...
96-
},
76+
}
9777
...
9878
]
9979
}
10080
```
10181

102-
3. **Metric values:** Finally, you can obtain the actual metric values which represent real-time or historical data points that tell you how your NGINXaaS is performing. The following `curl` example shows how to retrieve the value of metric `nginx.conn.current` within the `nginx connections statistics` namespace over a 10-minute time window averaged over 5 minute intervals:
82+
2. **Metric values:** You can obtain the actual metric values which represent real-time or historical data points that tell you how your NGINXaaS is performing. The following `curl` example shows how to retrieve the value of metric `nginx.conn.current` over a 10-minute time window averaged over 5 minute intervals:
10383

10484
```bash
105-
curl --request GET --header "Authorization: Bearer $TOKEN" "https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metrics?metricnamespace=nginx%20connections%20statistics&metricnames=nginx.conn.current&timespan=2024-03-27T20:00:00Z/2024-03-27T20:10:00Z&aggregation=Average&interval=PT5M&api-version=2024-02-01"
85+
curl --request GET --header "Authorization: Bearer $TOKEN" "https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metrics?metricnames=nginx.conn.current&timespan=2025-03-27T20:00:00Z/2025-03-27T20:10:00Z&aggregation=Average&interval=PT5M&api-version=2024-02-01"
10686
```
10787

10888
The following JSON shows an example response body:
10989

11090
```json
11191
{
11292
"cost": 9,
113-
"timespan": "2024-03-27T20:00:00Z/2024-03-27T20:10:00Z",
93+
"timespan": "2025-03-27T20:00:00Z/2025-03-27T20:10:00Z",
11494
"interval": "PT5M",
11595
"value": [
11696
{
11797
"id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/Microsoft.Insights/metrics/nginx.conn.current",
11898
"type": "Microsoft.Insights/metrics",
11999
"name": {
120100
"value": "nginx.conn.current",
121-
"localizedValue": "nginx.conn.current"
101+
"localizedValue": "Current connections"
122102
},
123-
"unit": "Unspecified",
103+
"unit": "Count",
124104
"timeseries": [
125105
{
126106
"metadatavalues": [],
127107
"data": [
128108
{
129-
"timeStamp": "2024-03-27T20:00:00Z",
109+
"timeStamp": "2025-03-27T20:00:00Z",
130110
"average": 4
131111
},
132112
{
133-
"timeStamp": "2024-03-27T20:05:00Z",
113+
"timeStamp": "2025-03-27T20:05:00Z",
134114
"average": 4
135115
}
136116
]
@@ -139,7 +119,7 @@ This section shows you how to effectively discover, gather and analyze NGINXaaS
139119
"errorCode": "Success"
140120
}
141121
],
142-
"namespace": "nginx connections statistics",
122+
"namespace": "NGINX.NGINXPLUS/nginxDeployments",
143123
"resourceregion": "eastus2"
144124
}
145125
```

0 commit comments

Comments
 (0)