Skip to content

MetricNotFoundException - SqlDatabase - deadlock and storage_percent #2709

@slideroh

Description

@slideroh

Report

[12:47:56 FTL] Failed to scrape resource for metric 'azure_sql_database_deadlock'. Details: Promitor.Integrations.AzureMonitor.Exceptions.MetricNotFoundException: The metric 'deadlock' was not found
[14:00:01 FTL] Failed to scrape resource for metric 'azure_sql_database_storage_percent'. Details: Promitor.Integrations.AzureMonitor.Exceptions.MetricNotFoundException: The metric 'storage_percent' was not found

Both metrics are visible in official documentation: https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-metrics/microsoft-sql-servers-databases-metrics
Both metrics are also visible in Azure Portal (Monitoring -> Metrics) with same MetricId. I have many more metrics add the same way and all works, except those two.

Any idea why? I have following versions:
Scraper-v2.15.0
Promitor Resource Discovery v0.15.0

Expected Behavior

Fetch metrics, the same way it's done for other metrics available in the documentation

Actual Behavior

-Promitor.Integrations.AzureMonitor.Exceptions.MetricNotFoundException: The metric 'storage_percent' was not found
-Promitor.Integrations.AzureMonitor.Exceptions.MetricNotFoundException: The metric 'deadlock' was not found

Steps to Reproduce the Problem

  1. Run standard setup
  2. Add above metrics for SqlDatabase
  3. Validate name of metric: https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-metrics/microsoft-sql-servers-databases-metrics
  4. Run pods
  5. Check error

Component

Scraper, Resource Discovery

Version

2.15.0, 0.15.0

Configuration

Configuration:

Setup ResourceDiscovery:

resourceDiscoveryGroups:
- name: sql-database-landscape
  type: SqlDatabase
  criteria:
    include:
      subscriptionIds:
      - aaaaaa-bbbb-cccc-dddd-eeeeee

Setup Scraper:

metrics:
  - name: azure_sql_database_cpu_percent
    description: "The CPU percentage"
    resourceType: SqlDatabase
    azureMetricConfiguration:
      metricName: cpu_percent
      aggregation:
        type: Average
    resourceDiscoveryGroups:
    - name: sql-database-landscape
  - name: azure_sql_database_deadlock
    description: "The database deadlocks"
    resourceType: SqlDatabase
    azureMetricConfiguration:
      metricName: deadlock
      aggregation:
        type: Total
    resourceDiscoveryGroups:
    - name: sql-database-landscape

Logs

[20:25:09 INF] Parsed SDK Config True
[20:25:09 FTL] Failed to scrape resource for metric 'azure_sql_database_storage_percent'. Details: Promitor.Integrations.AzureMonitor.Exceptions.MetricNotFoundException: The metric 'storage_percent' was not found
   at Promitor.Integrations.AzureMonitor.AzureMonitorQueryClient.QueryMetricAsync(String metricName, List`1 metricDimensions, PromitorMetricAggregationType aggregationType, TimeSpan aggregationInterval, String resourceId, String metricFilter, Nullable`1 metricLimit) in /src/Promitor.Integrations.AzureMonitor/AzureMonitorQueryClient.cs:line 105
   at Promitor.Core.Scraping.AzureMonitorScraper`1.ScrapeResourceAsync(String subscriptionId, ScrapeDefinition`1 scrapeDefinition, TResourceDefinition resourceDefinition, PromitorMetricAggregationType aggregationType, TimeSpan aggregationInterval) in /src/Promitor.Core.Scraping/AzureMonitorScraper.cs:line 63
   at Promitor.Core.Scraping.Scraper`1.ScrapeAsync(ScrapeDefinition`1 scrapeDefinition) in /src/Promitor.Core.Scraping/Scraper.cs:line 80
Promitor.Integrations.AzureMonitor.Exceptions.MetricNotFoundException: The metric 'storage_percent' was not found
   at Promitor.Integrations.AzureMonitor.AzureMonitorQueryClient.QueryMetricAsync(String metricName, List`1 metricDimensions, PromitorMetricAggregationType aggregationType, TimeSpan aggregationInterval, String resourceId, String metricFilter, Nullable`1 metricLimit) in /src/Promitor.Integrations.AzureMonitor/AzureMonitorQueryClient.cs:line 105
   at Promitor.Core.Scraping.AzureMonitorScraper`1.ScrapeResourceAsync(String subscriptionId, ScrapeDefinition`1 scrapeDefinition, TResourceDefinition resourceDefinition, PromitorMetricAggregationType aggregationType, TimeSpan aggregationInterval) in /src/Promitor.Core.Scraping/AzureMonitorScraper.cs:line 63
   at Promitor.Core.Scraping.Scraper`1.ScrapeAsync(ScrapeDefinition`1 scrapeDefinition) in /src/Promitor.Core.Scraping/Scraper.cs:line 80

[20:25:08 FTL] Failed to scrape resource for metric 'azure_sql_database_deadlock'. Details: Promitor.Integrations.AzureMonitor.Exceptions.MetricNotFoundException: The metric 'deadlock' was not found
   at Promitor.Integrations.AzureMonitor.AzureMonitorQueryClient.QueryMetricAsync(String metricName, List`1 metricDimensions, PromitorMetricAggregationType aggregationType, TimeSpan aggregationInterval, String resourceId, String metricFilter, Nullable`1 metricLimit) in /src/Promitor.Integrations.AzureMonitor/AzureMonitorQueryClient.cs:line 105
   at Promitor.Core.Scraping.AzureMonitorScraper`1.ScrapeResourceAsync(String subscriptionId, ScrapeDefinition`1 scrapeDefinition, TResourceDefinition resourceDefinition, PromitorMetricAggregationType aggregationType, TimeSpan aggregationInterval) in /src/Promitor.Core.Scraping/AzureMonitorScraper.cs:line 63
   at Promitor.Core.Scraping.Scraper`1.ScrapeAsync(ScrapeDefinition`1 scrapeDefinition) in /src/Promitor.Core.Scraping/Scraper.cs:line 80
Promitor.Integrations.AzureMonitor.Exceptions.MetricNotFoundException: The metric 'deadlock' was not found
   at Promitor.Integrations.AzureMonitor.AzureMonitorQueryClient.QueryMetricAsync(String metricName, List`1 metricDimensions, PromitorMetricAggregationType aggregationType, TimeSpan aggregationInterval, String resourceId, String metricFilter, Nullable`1 metricLimit) in /src/Promitor.Integrations.AzureMonitor/AzureMonitorQueryClient.cs:line 105
   at Promitor.Core.Scraping.AzureMonitorScraper`1.ScrapeResourceAsync(String subscriptionId, ScrapeDefinition`1 scrapeDefinition, TResourceDefinition resourceDefinition, PromitorMetricAggregationType aggregationType, TimeSpan aggregationInterval) in /src/Promitor.Core.Scraping/AzureMonitorScraper.cs:line 63
   at Promitor.Core.Scraping.Scraper`1.ScrapeAsync(ScrapeDefinition`1 scrapeDefinition) in /src/Promitor.Core.Scraping/Scraper.cs:line 80

Helm Setup:

image:
  repository: ghcr.io/tomkerkhove/promitor-agent-resource-discovery
  pullPolicy: Always
  pullSecrets: []
  tag: 0.15.0
image:
  repository: ghcr.io/tomkerkhove/promitor-agent-scraper
  pullPolicy: Always
  pullSecrets: []
  tag: 2.15.0

Validation

██████╗ ██████╗  ██████╗ ███╗   ███╗██╗████████╗ ██████╗ ██████╗ 
██╔══██╗██╔══██╗██╔═══██╗████╗ ████║██║╚══██╔══╝██╔═══██╗██╔══██╗
██████╔╝██████╔╝██║   ██║██╔████╔██║██║   ██║   ██║   ██║██████╔╝
██╔═══╝ ██╔══██╗██║   ██║██║╚██╔╝██║██║   ██║   ██║   ██║██╔══██╗
██║     ██║  ██║╚██████╔╝██║ ╚═╝ ██║██║   ██║   ╚██████╔╝██║  ██║
╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚═╝     ╚═╝╚═╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝
[20:41:47 INF] Booting up Promitor v2.15.0 running .NET .NET 8.0.21 - Thank you for using Promitor!
[20:41:47 INF] Running .NET 8.0.21 on Linux (linux-x64 | CBL-Mariner/Linux).
[20:41:47 INF] Using configuration folder '/config/'
[20:41:47 INF] The following metric sinks were configured and are being enabled:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┓
┃ Metric Sink                  │ Details        ┃
┠──────────────────────────────┼────────────────┨
┃ Prometheus Scraping Endpoint │ Url: /metrics. ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┛
             Configured Metric Sinks             
[20:41:48 INF] Starting validation of Promitor setup
[20:41:48 INF] Scrape configuration found at '/config/metrics-declaration.yaml'
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Name                              │ Outcome │ Details                        ┃
┠───────────────────────────────────┼─────────┼────────────────────────────────┨
┃ Metrics Declaration Path          │ Success │ Everything is well-configured. ┃
┃ Azure Authentication              │ Success │ Everything is well-configured. ┃
┃ Metrics Declaration               │ Success │ Everything is well-configured. ┃
┃ Resource Discovery                │ Success │ Everything is well-configured. ┃
┃ Atlassian Statuspage Metric Sink  │ Success │ Everything is well-configured. ┃
┃ OpenTelemetry Collector Metric    │ Success │ Everything is well-configured. ┃
┃ Sink                              │         │                                ┃
┃ Prometheus Scraping Endpoint      │ Success │ Everything is well-configured. ┃
┃ Metric Sink                       │         │                                ┃
┃ StatsD Metric Sink                │ Success │ Everything is well-configured. ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
                                   Validation                                   

Platform

Microsoft Azure

Contact Details

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions