Azure monitor
Azure Monitor is a monitoring solution that collects and aggregates data for further interpretation and response.
Nobl9 integration with Azure Monitor supports collecting Azure Monitor metrics, including Application Insights. With it, Nobl9 users can retrieve metrics and build SLOs based on them.
Azure Monitor parameters and supported features in Nobl9
- General support:
- Release channel: Beta
- Connection method: Agent, Direct
- Replay and SLI Analyzer: Historical data limit 30 days
- Event logs: Supported
- Query checker: Not supported
- Query parameters retrieval: Supported
- Timestamp cache persistence: Supported
- Query parameters:
- Query interval: 1 min
- Query delay: 5 min
- Jitter: 15 sec
- Timeout: 60 sec
- Agent details and minimum required versions for supported features:
- Plugin name: n9azure_monitor
- Query delay environment variable: AZURE_MONITOR_QUERY_DELAY
- Replay and SLI Analyzer: 0.69.0-beta01
- Query parameters retrieval: 0.71.0-beta
- Timestamp cache persistence: 0.69.0-beta01
- Additional notes:
- Support for Azure Monitor Metrics and Azure Monitor Logs
- Learn more
Ensure the metrics you use support a one-minute (1-minute) aggregation window (time grain).
Authentication
To set up the Nobl9 direct connection,
you must provide your Azure application's client ID
and client secret
.
For this:
- Register an Azure application.
- To use Azure Monitor Logs, set up Log Analytics API permission.
- Assign your Azure application the Monitoring Reader role for the Azure resources
you want to read metrics from.
This role meets the Nobl9 requirements for metric collection. - Grant your application the
Microsoft.Resources/subscriptions/resourceGroups/read
permission.
It enables resource and metric autocompletion during SLO creation.
You can also use sloctl
.
This way, you can configure SLOs for your Azure Cloud application without the resource and metric autocompletion.
We recommend granting the Monitoring Reader role on the subscription or resource group level rather than a specific resource. A broader scope provides a more comprehensive choice of subscriptions, resource groups, resources, and metrics in the Nobl9 platform.
Adding Azure Monitor as a data source
You can add the Azure Monitor data source using the direct or agent connection methods.
Direct connection method
Nobl9 Web
- Navigate to Integrations > Sources.
- Click .
- Click the required Source button.
- Choose Direct.
-
Enter your Azure Tenant ID.
It is an8-4-4-4-12
-character code containing digits0-9
and lettersAa-Ff
. -
Enter your Microsoft Entra Client ID and Client Secret.
To retrieve Azure application's client ID and client secret, find your required application under App Registrations within the Azure Portal.
- Select a Project.
Specifying a project is helpful when multiple users are spread across multiple teams or projects. When the Project field is left blank, Nobl9 uses thedefault
project. - Enter a Display Name.
You can enter a user-friendly name with spaces in this field. - Enter a Name.
The name is mandatory and can only contain lowercase, alphanumeric characters, and dashes (for example,my-project-1
). Nobl9 duplicates the display name here, transforming it into the supported format, but you can edit the result. - Enter a Description.
Here you can add details such as who is responsible for the integration (team/owner) and the purpose of creating it. - Specify the Query delay to set a customized delay for queries when pulling the data from the data source.
- The default value in Azure Monitor integration for Query delay is
5 minutes
.
infoChanging the Query delay may affect your SLI data. For more details, check the Query delay documentation. - The default value in Azure Monitor integration for Query delay is
- Enter a Maximum Period for Historical Data Retrieval.
- This value defines how far back in the past your data will be retrieved when replaying your SLO based on this data source.
- The maximum period value depends on the data source.
Find the maximum value for your data source. - A greater period can extend the loading time when creating an SLO.
- The value must be a positive integer.
- Enter a Default Period for Historical Data Retrieval.
- It is used by SLOs connected to this data source.
- The value must be a positive integer or
0
. - By default, this value is set to 0. When you set it to
>0
, you will create SLOs with Replay.
- Click Add Data Source
sloctl
- Create a YAML definition to set up a direct connection with Azure Monitor. For this, refer to the following example:
apiVersion: n9/v1alpha
kind: Direct
metadata:
name: azure-monitor
displayName: Azure Monitor Direct
project: default
spec:
description: Example Azure Monitor Direct
releaseChannel: beta
azureMonitor:
tenantId: 5cdecca3-c2c5-4072-89dd-5555faf05202
clientId: 70747025-9367-41a5-98f1-59b18b5793c3
clientSecret: "[secret]"
historicalDataRetrieval:
maxDuration:
value: 30
unit: Day
defaultDuration:
value: 15
unit: Day
triggeredBySloCreation:
value: 15
unit: Day
triggeredBySloEdit:
value: 15
unit: Day
queryDelay:
value: 6
unit: Minute
Field | Type | Description |
---|---|---|
queryDelay.unit mandatory | enum | Specifies the unit for the query delay. Possible values: Second | Minute . • Check query delay documentation for default unit of query delay for each source. |
queryDelay.value mandatory | numeric | Specifies the value for the query delay. • Must be a number less than 1440 minutes (24 hours). • Check query delay documentation for default unit of query delay for each source. |
logCollectionEnabled optional | boolean | Optional. Defaults to false . Set to true if you'd like your direct to collect event logs. Contact us to activate it. |
releaseChannel mandatory | enum | Specifies the release channel. Accepted values: beta | stable . |
Source-specific fields | ||
azureMonitor.tenantID mandatory | string, secret | The identifier of your Microsoft Entra tenant. |
azureMonitor.clientID mandatory | string | See authentication section above for more details. |
azureMonitor.clientSecret mandatory | string | See authentication section above for more details. |
Replay-related fields | ||
historicalDataRetrieval optional | n/a | Optional structure related to configuration related to Replay. ❗ Use only with supported sources. • If omitted, Nobl9 uses the default values of value: 0 and unit: Day for maxDuration and defaultDuration . |
maxDuration.value optional | numeric | Specifies the maximum duration for historical data retrieval. Must be integer ≥ 0 . See Replay documentation for values of max duration per data source. |
maxDuration.unit optional | enum | Specifies the unit for the maximum duration of historical data retrieval. Accepted values: Minute | Hour | Day . |
defaultDuration.value optional | numeric | Specifies the default duration for historical data retrieval. Must be integer ≥ 0 and ≤ maxDuration . |
defaultDuration.unit optional | enum | Specifies the unit for the default duration of historical data retrieval. Accepted values: Minute | Hour | Day . |
- Apply your YAML definition using the
sloctl apply
command.
Agent connection method
Nobl9 Web
- Navigate to Integrations > Sources.
- Click .
- Click the required Source button.
- Choose Agent.
- Enter your Azure Tenant ID.
It is an8-4-4-4-12
-character code containing digits0-9
and lettersAa-Ff
.
- Select a Project.
Specifying a project is helpful when multiple users are spread across multiple teams or projects. When the Project field is left blank, Nobl9 uses thedefault
project. - Enter a Display Name.
You can enter a user-friendly name with spaces in this field. - Enter a Name.
The name is mandatory and can only contain lowercase, alphanumeric characters, and dashes (for example,my-project-1
). Nobl9 duplicates the display name here, transforming it into the supported format, but you can edit the result. - Enter a Description.
Here you can add details such as who is responsible for the integration (team/owner) and the purpose of creating it. - Specify the Query delay to set a customized delay for queries when pulling the data from the data source.
- The default value in Azure Monitor integration for Query delay is
5 minutes
.
infoChanging the Query delay may affect your SLI data. For more details, check the Query delay documentation. - The default value in Azure Monitor integration for Query delay is
- Enter a Maximum Period for Historical Data Retrieval.
- This value defines how far back in the past your data will be retrieved when replaying your SLO based on this data source.
- The maximum period value depends on the data source.
Find the maximum value for your data source. - A greater period can extend the loading time when creating an SLO.
- The value must be a positive integer.
- Enter a Default Period for Historical Data Retrieval.
- It is used by SLOs connected to this data source.
- The value must be a positive integer or
0
. - By default, this value is set to 0. When you set it to
>0
, you will create SLOs with Replay.
- Click Add Data Source
- Deploy your agent in a Kubernetes cluster or Docker container.
sloctl
- Create a YAML definition to set up an agent connection with Azure Monitor. For this, refer to the following example:
apiVersion: n9/v1alpha
kind: Agent
metadata:
name: azure-monitor
displayName: Azure Monitor Agent
project: default
spec:
description: Example Azure Monitor Agent
releaseChannel: beta
azureMonitor:
tenantId: 5cdecca3-c2c5-4072-89dd-5555faf05202
historicalDataRetrieval:
maxDuration:
value: 30
unit: Day
defaultDuration:
value: 15
unit: Day
queryDelay:
value: 6
unit: Minute
Field | Type | Description |
---|---|---|
queryDelay.unit mandatory | enum | Specifies the unit for the query delay. Possible values: Second | Minute . • Check query delay documentation for default unit of query delay for each source. |
queryDelay.value mandatory | numeric | Specifies the value for the query delay. • Must be a number less than 1440 minutes (24 hours). • Check query delay documentation for default unit of query delay for each source. |
releaseChannel mandatory | enum | Specifies the release channel. Accepted values: beta | stable . |
Source-specific fields | ||
azureMonitor.tennantID mandatory | string, secret | It's the identifier of your Microsoft Entra tenant. |
Replay-related fields | ||
historicalDataRetrieval optional | n/a | Optional structure related to configuration related to Replay. ❗ Use only with supported sources. • If omitted, Nobl9 uses the default values of value: 0 and unit: Day for maxDuration and defaultDuration . |
maxDuration.value optional | numeric | Specifies the maximum duration for historical data retrieval. Must be integer ≥ 0 . See Replay documentation for values of max duration per data source. |
maxDuration.unit optional | enum | Specifies the unit for the maximum duration of historical data retrieval. Accepted values: Minute | Hour | Day . |
defaultDuration.value optional | numeric | Specifies the default duration for historical data retrieval. Must be integer ≥ 0 and ≤ maxDuration . |
defaultDuration.unit optional | enum | Specifies the unit for the default duration of historical data retrieval. Accepted values: Minute | Hour | Day . |
- Apply your YAML definition using the
sloctl apply
command. - Deploy your agent in a Kubernetes cluster or Docker container.