Skip to content

Commit 47c7177

Browse files
authored
Update NGINXaaS documentation for native-metrics integration (#292)
* Update NGINXaaS documentation for native-metrics integration * Fix missing metrics and aggregation type in metric catalog * Move listener_backlog to nginxaas statistics
1 parent e41e05a commit 47c7177

File tree

4 files changed

+122
-113
lines changed

4 files changed

+122
-113
lines changed

content/nginxaas-azure/changelog.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ To see a list of currently active issues, visit the [Known issues]({{< ref "/ngi
1313

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

16+
17+
## May 20, 2025
18+
19+
- {{% icon-feature %}} **Azure Monitor Platform Metrics**
20+
21+
NGINXaaS now publishes platform metrics directly to Azure Monitor. Compared to legacy monitoring based on custom metrics, platform metrics offers reduced latency and higher reliability. 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">}}).
22+
1623
## April 22, 2025
1724

1825
### What's New

content/nginxaas-azure/monitoring/configure-alerts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ type:
1111

1212
## Overview
1313

14-
{{<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>}}
14+
{{<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>}}
1515

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

content/nginxaas-azure/monitoring/enable-monitoring.md

Lines changed: 37 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -8,75 +8,54 @@ type:
88
- how-to
99
---
1010

11-
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+
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.
1212

13-
- Review Metrics: Examine the performance data collected from your application.
14-
- Correlate Data: Connect different data points to gain insights into application performance trends.
15-
- Analyze Performance: Dive deep into metrics to gain a comprehensive understanding of how your application operates.
16-
- Create Alerts: Set up proactive monitoring by configuring alerts that notify you of potential issues before they escalate.
13+
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.
1714

18-
{{<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>}}
15+
### Prerequisites
1916

17+
- A system assigned managed identity with `Monitoring Metrics Publisher` role.
2018

21-
### Prerequisites
19+
{{<note>}} When a system assigned managed identity is added to the deployment through portal, this role is automatically added.{{</note>}}
2220

23-
- A user assigned managed identity or a system assigned managed identity with `Monitoring Metrics Publisher` role.
21+
## Collection
2422

25-
{{<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>}}
23+
Azure Monitor will collects metrics from the NGINXaaS deployment automatically if the prerequisites are met. No configuration is required.
2624

27-
- User must be an owner or user access administrator for NGINX deployment resource to complete this set up.
25+
## Exporting
26+
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).
2827

29-
- 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.
28+
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).
3029

31-
## Enable monitoring
30+
{{<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>}}
3231

33-
1. Log in to the Azure portal and navigate to your NGINXaaS for Azure deployment.
34-
2. In the navigation pane under **Settings**, select the **NGINX monitoring** section.
35-
3. Turn on the **Send metrics to Azure Monitor** setting.
3632

37-
## View metrics with Azure Monitor metrics explorer
33+
## Cost and retention
34+
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/).
3835

39-
1. In the navigation pane under **Monitoring**, select the **Metrics** section to access the Azure Monitor metrics explorer for your NGINXaaS deployment.
40-
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.
4136

42-
{{<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>}}
37+
## View metrics with Azure Monitor metrics explorer
4338

44-
## Retrieve metrics through Azure Monitor API
39+
Access the [Microsoft Azure portal](https://portal.azure.com)
4540

46-
This section shows you how to effectively discover, gather and analyze NGINXaaS metrics through the Azure Monitor API.
41+
1. Go to your NGINXaaS for Azure deployment.
42+
2. In the navigation pane under **Monitoring**, select the **Metrics** section to access the Azure Monitor metrics explorer for your NGINXaaS deployment.
4743

48-
{{<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>}}
44+
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.
4945

50-
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:
46+
{{<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>}}
5147

52-
```bash
53-
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"
54-
```
48+
## Retrieve metrics through Azure Monitor REST API
5549

56-
The following JSON shows an example response body:
50+
This section shows you how to effectively discover, gather and analyze NGINXaaS metrics through the Azure Monitor REST API.
5751

58-
```json
59-
{
60-
"value": [
61-
...
62-
{
63-
"id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/microsoft.insights/metricNamespaces/NGINX Connections Statistics",
64-
"name": "nginx connections statistics",
65-
"type": "Microsoft.Insights/metricNamespaces",
66-
"classification": "Custom",
67-
"properties": {
68-
"metricNamespaceName": "nginx connections statistics"
69-
}
70-
},
71-
...
72-
]
73-
}
74-
```
52+
{{<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>}}
7553

76-
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:
54+
55+
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:
7756

7857
```bash
79-
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"
58+
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"
8059
```
8160

8261
The following JSON shows an example response body:
@@ -88,50 +67,51 @@ This section shows you how to effectively discover, gather and analyze NGINXaaS
8867
{
8968
"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",
9069
"resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-deployment",
91-
"namespace": "NGINX Connections Statistics",
70+
"namespace": "NGINX.NGINXPLUS/nginxDeployments",
71+
"category":"nginx connections statistics",
9272
"name": {
9373
"value": "nginx.conn.current",
94-
"localizedValue": "nginx.conn.current"
74+
"localizedValue": "Current connections"
9575
},
9676
...
97-
},
77+
}
9878
...
9979
]
10080
}
10181
```
10282

103-
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:
83+
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:
10484

10585
```bash
106-
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"
86+
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"
10787
```
10888

10989
The following JSON shows an example response body:
11090

11191
```json
11292
{
11393
"cost": 9,
114-
"timespan": "2024-03-27T20:00:00Z/2024-03-27T20:10:00Z",
94+
"timespan": "2025-03-27T20:00:00Z/2025-03-27T20:10:00Z",
11595
"interval": "PT5M",
11696
"value": [
11797
{
11898
"id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/my-nginx-rg/providers/NGINX.NGINXPLUS/nginxDeployments/my-nginx-dep/providers/Microsoft.Insights/metrics/nginx.conn.current",
11999
"type": "Microsoft.Insights/metrics",
120100
"name": {
121101
"value": "nginx.conn.current",
122-
"localizedValue": "nginx.conn.current"
102+
"localizedValue": "Current connections"
123103
},
124-
"unit": "Unspecified",
104+
"unit": "Count",
125105
"timeseries": [
126106
{
127107
"metadatavalues": [],
128108
"data": [
129109
{
130-
"timeStamp": "2024-03-27T20:00:00Z",
110+
"timeStamp": "2025-03-27T20:00:00Z",
131111
"average": 4
132112
},
133113
{
134-
"timeStamp": "2024-03-27T20:05:00Z",
114+
"timeStamp": "2025-03-27T20:05:00Z",
135115
"average": 4
136116
}
137117
]
@@ -140,7 +120,7 @@ This section shows you how to effectively discover, gather and analyze NGINXaaS
140120
"errorCode": "Success"
141121
}
142122
],
143-
"namespace": "nginx connections statistics",
123+
"namespace": "NGINX.NGINXPLUS/nginxDeployments",
144124
"resourceregion": "eastus2"
145125
}
146126
```

0 commit comments

Comments
 (0)