Azure Monitor Baseline Alerts
Download AlertsGlossaryGitHubGitHub IssuesToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

amlFilesystems

NameTypeDescription
MDT Bytes UsedLogLog an alert if MDTBytesUsed is above 85%
MDT Files AvailableLogLog an alert if MDTBytesAvailable is below 15%
MDT Files FreeLogLog an alert if MDTFilesFree is below 15%
MDT Files UsedLogLog an alert if MDTFilesUsed is above 85%
OST Bytes AvailableLogLog an alert if OSTBytesAvailable is below 15%
OST Bytes UsedLogLog an alert if OSTByteUsed is above 85%
OST Files FreeLogLog an alert if OSTFilesFree is below 15%
OST Files UsedLogLog an alert if OSTFilesUsed is above 85%
UptimeMetricTotal number of client input/output operations per second

Dashboards:

Click a tab to view the dashboard template

{
  "__inputs": [],
  "__elements": {},
  "__requires": [
    {
      "type": "panel",
      "id": "bargauge",
      "name": "Bar gauge",
      "version": ""
    },
    {
      "type": "grafana",
      "id": "grafana",
      "name": "Grafana",
      "version": "9.5.12"
    },
    {
      "type": "datasource",
      "id": "grafana-azure-monitor-datasource",
      "name": "Azure Monitor",
      "version": "1.0.0"
    }
  ],
  "title": "Aml filesystems",
  "editable": true,
  "links": [],
  "liveNow": false,
  "panels": [
    {
      "title": "MDT Bytes Used",
      "datasource": {
        "type": "grafana-azure-monitor-datasource",
        "uid": "${ds}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#808080",
                "value": null
              },
              {
                
                "color": "dark-green",                
                "value": 0
              },
              {
                
                "color": "dark-red",                
                "value": 85
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 0,
        "y": 0
      },
      "id": 1,
      "options": {
        "displayMode": "basic",
        "minVizHeight": 10,
        "minVizWidth": 0,
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "valueMode": "color"
      },
      "pluginVersion": "9.5.12",
      "targets": [
        {
          "azureLogAnalytics": {

            "query": " let threshold_used = 0.85; AzureMetrics | where MetricName == \"MDTBytesTotal\" or MetricName == \"MDTBytesUsed\" | summarize MDTBytesTotal = maxif(Total, MetricName == \"MDTBytesTotal\"), MDTBytesUsed = maxif(Total, MetricName == \"MDTBytesUsed\") | extend UsedRatio = MDTBytesUsed / MDTBytesTotal | where UsedRatio \u003e threshold_used | project UsedRatio, MDTBytesUsed, MDTBytesTotal ",
            "resources": [
              "/subscriptions/$sub"
            ]
          },
          "azureMonitor": {
            "allowedTimeGrainsMs": [],
            "timeGrain": "auto"
          },
          "datasource": {
            "type": "grafana-azure-monitor-datasource",
            "uid": "${ds}"
          },
          "queryType": "Azure Log Analytics",
          "refId": "A"
        }
      ],
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {
              "_ResourceId": true
            },
            "indexByName": {},
            "renameByName": {}
          }
        }
      ],
      "type": "bargauge"
    },
    {
      "title": "MDT Files Available",
      "datasource": {
        "type": "grafana-azure-monitor-datasource",
        "uid": "${ds}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#808080",
                "value": null
              },
              {

                "color": "dark-red",                
                "value": 0
              },
              {

                "color": "dark-green",                
                "value": 15
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 12,
        "y": 0
      },
      "id": 2,
      "options": {
        "displayMode": "basic",
        "minVizHeight": 10,
        "minVizWidth": 0,
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "valueMode": "color"
      },
      "pluginVersion": "9.5.12",
      "targets": [
        {
          "azureLogAnalytics": {

            "query": " let threshold_used = 0.15; AzureMetrics | where MetricName == \"MDTBytesAvailable\" or MetricName == \"MDTBytesTotal\" | summarize MDTBytesAvailable = maxif(Total, MetricName == \"MDTBytesAvailable\"), MDTBytesTotal = maxif(Total, MetricName == \"MDTBytesTotal\") | extend AvailableRatio = MDTBytesAvailable / MDTBytesTotal | where AvailableRatio \u003c threshold_available | project AvailableRatio, MDTBytesAvailable, MDTBytesTotal ",
            "resources": [
              "/subscriptions/$sub"
            ]
          },
          "azureMonitor": {
            "allowedTimeGrainsMs": [],
            "timeGrain": "auto"
          },
          "datasource": {
            "type": "grafana-azure-monitor-datasource",
            "uid": "${ds}"
          },
          "queryType": "Azure Log Analytics",
          "refId": "A"
        }
      ],
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {
              "_ResourceId": true
            },
            "indexByName": {},
            "renameByName": {}
          }
        }
      ],
      "type": "bargauge"
    },
    {
      "title": "MDT Files Free",
      "datasource": {
        "type": "grafana-azure-monitor-datasource",
        "uid": "${ds}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#808080",
                "value": null
              },
              {

                "color": "dark-red",                
                "value": 0
              },
              {

                "color": "dark-green",                
                "value": 15
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 0,
        "y": 8
      },
      "id": 3,
      "options": {
        "displayMode": "basic",
        "minVizHeight": 10,
        "minVizWidth": 0,
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "valueMode": "color"
      },
      "pluginVersion": "9.5.12",
      "targets": [
        {
          "azureLogAnalytics": {

            "query": " let threshold_used = 0.15; AzureMetrics | where MetricName == \"MDTFilesFree\" or MetricName == \"MDTFilesTotal\" | summarize MDTFilesFree = maxif(Total, MetricName == \"MDTFilesFree\"), MDTFilesTotal = maxif(Total, MetricName == \"MDTFilesTotal\") | extend FreeRatio = MDTFilesFree / MDTFilesTotal | where FreeRatio \u003c threshold_free | project FreeRatio, MDTFilesFree, MDTFilesTotal ",
            "resources": [
              "/subscriptions/$sub"
            ]
          },
          "azureMonitor": {
            "allowedTimeGrainsMs": [],
            "timeGrain": "auto"
          },
          "datasource": {
            "type": "grafana-azure-monitor-datasource",
            "uid": "${ds}"
          },
          "queryType": "Azure Log Analytics",
          "refId": "A"
        }
      ],
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {
              "_ResourceId": true
            },
            "indexByName": {},
            "renameByName": {}
          }
        }
      ],
      "type": "bargauge"
    },
    {
      "title": "MDT Files Used",
      "datasource": {
        "type": "grafana-azure-monitor-datasource",
        "uid": "${ds}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#808080",
                "value": null
              },
              {
                
                "color": "dark-green",                
                "value": 0
              },
              {
                
                "color": "dark-red",                
                "value": 85
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 12,
        "y": 8
      },
      "id": 4,
      "options": {
        "displayMode": "basic",
        "minVizHeight": 10,
        "minVizWidth": 0,
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "valueMode": "color"
      },
      "pluginVersion": "9.5.12",
      "targets": [
        {
          "azureLogAnalytics": {

            "query": " let threshold_used = 0.85; AzureMetrics | where MetricName == \"MDTFilesTotal\" or MetricName == \"MDTFilesUsed\" | summarize MDTFilesTotal = maxif(Total, MetricName == \"MDTFilesTotal\"), MDTFilesUsed = maxif(Total, MetricName == \"MDTFilesUsed\") | extend FreeRatio = MDTFilesFree / MDTFilesTotal | where UsedRatio \u003e threshold_used | project UsedRatio, MDTFilesUsed, MDTFilesTotal ",
            "resources": [
              "/subscriptions/$sub"
            ]
          },
          "azureMonitor": {
            "allowedTimeGrainsMs": [],
            "timeGrain": "auto"
          },
          "datasource": {
            "type": "grafana-azure-monitor-datasource",
            "uid": "${ds}"
          },
          "queryType": "Azure Log Analytics",
          "refId": "A"
        }
      ],
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {
              "_ResourceId": true
            },
            "indexByName": {},
            "renameByName": {}
          }
        }
      ],
      "type": "bargauge"
    },
    {
      "title": "OST Bytes Available",
      "datasource": {
        "type": "grafana-azure-monitor-datasource",
        "uid": "${ds}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#808080",
                "value": null
              },
              {

                "color": "dark-red",                
                "value": 0
              },
              {

                "color": "dark-green",                
                "value": 15
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 0,
        "y": 16
      },
      "id": 5,
      "options": {
        "displayMode": "basic",
        "minVizHeight": 10,
        "minVizWidth": 0,
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "valueMode": "color"
      },
      "pluginVersion": "9.5.12",
      "targets": [
        {
          "azureLogAnalytics": {

            "query": " let threshold_free = 0.15; AzureMetrics | where MetricName == \"OSTBytesAvailable\" or MetricName == \"OSTBytesTotal\" | summarize OSTBytesAvailable = maxif(Total, MetricName == \"OSTBytesAvailable\"), OSTBytesTotal = maxif(Total, MetricName == \"OSTBytesTotal\") | extend AvailableRatio = OSTBytesAvailable / OSTBytesTotal | where AvailableRatio \u003c threshold_available | project AvailableRatio, OSTBytesAvailable, OSTBytesTotal ",
            "resources": [
              "/subscriptions/$sub"
            ]
          },
          "azureMonitor": {
            "allowedTimeGrainsMs": [],
            "timeGrain": "auto"
          },
          "datasource": {
            "type": "grafana-azure-monitor-datasource",
            "uid": "${ds}"
          },
          "queryType": "Azure Log Analytics",
          "refId": "A"
        }
      ],
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {
              "_ResourceId": true
            },
            "indexByName": {},
            "renameByName": {}
          }
        }
      ],
      "type": "bargauge"
    },
    {
      "title": "OST Bytes Used",
      "datasource": {
        "type": "grafana-azure-monitor-datasource",
        "uid": "${ds}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#808080",
                "value": null
              },
              {
                
                "color": "dark-green",                
                "value": 0
              },
              {
                
                "color": "dark-red",                
                "value": 85
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 12,
        "y": 16
      },
      "id": 6,
      "options": {
        "displayMode": "basic",
        "minVizHeight": 10,
        "minVizWidth": 0,
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "valueMode": "color"
      },
      "pluginVersion": "9.5.12",
      "targets": [
        {
          "azureLogAnalytics": {

            "query": " let threshold_used = 0.85; AzureMetrics | where MetricName == \"OSTBytesTotal\" or MetricName == \"OSTBytesUsed\" | summarize OSTBytesTotal = maxif(Total, MetricName == \"OSTBytesTotal\"), OSTBytesUsed = maxif(Total, MetricName == \"OSTBytesUsed\") | extend UsedRatio = OSTBytesUsed / OSTBytesTotal | where UsedRatio \u003e threshold_used | project UsedRatio, OSTBytesUsed, OSTBytesTotal ",
            "resources": [
              "/subscriptions/$sub"
            ]
          },
          "azureMonitor": {
            "allowedTimeGrainsMs": [],
            "timeGrain": "auto"
          },
          "datasource": {
            "type": "grafana-azure-monitor-datasource",
            "uid": "${ds}"
          },
          "queryType": "Azure Log Analytics",
          "refId": "A"
        }
      ],
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {
              "_ResourceId": true
            },
            "indexByName": {},
            "renameByName": {}
          }
        }
      ],
      "type": "bargauge"
    },
    {
      "title": "OST Files Free",
      "datasource": {
        "type": "grafana-azure-monitor-datasource",
        "uid": "${ds}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#808080",
                "value": null
              },
              {

                "color": "dark-red",                
                "value": 0
              },
              {

                "color": "dark-green",                
                "value": 15
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 0,
        "y": 24
      },
      "id": 7,
      "options": {
        "displayMode": "basic",
        "minVizHeight": 10,
        "minVizWidth": 0,
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "valueMode": "color"
      },
      "pluginVersion": "9.5.12",
      "targets": [
        {
          "azureLogAnalytics": {

            "query": " let threshold_free = 0.15; AzureMetrics | where MetricName == \"OSTFilesFree\" or MetricName == \"OSTFilesTotal\" | summarize OSTFilesFree = maxif(Total, MetricName == \"OSTFilesFree\"), OSTFilesTotal = maxif(Total, MetricName == \"OSTFilesTotal\") | extend FreeRatio = OSTFilesFree / OSTFilesTotal | where FreeRatio \u003c threshold_free | project FreeRatio, OSTFilesFree, OSTFilesTotal ",
            "resources": [
              "/subscriptions/$sub"
            ]
          },
          "azureMonitor": {
            "allowedTimeGrainsMs": [],
            "timeGrain": "auto"
          },
          "datasource": {
            "type": "grafana-azure-monitor-datasource",
            "uid": "${ds}"
          },
          "queryType": "Azure Log Analytics",
          "refId": "A"
        }
      ],
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {
              "_ResourceId": true
            },
            "indexByName": {},
            "renameByName": {}
          }
        }
      ],
      "type": "bargauge"
    },
    {
      "title": "OST Files Used",
      "datasource": {
        "type": "grafana-azure-monitor-datasource",
        "uid": "${ds}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#808080",
                "value": null
              },
              {
                
                "color": "dark-green",                
                "value": 0
              },
              {
                
                "color": "dark-red",                
                "value": 85
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 12,
        "y": 24
      },
      "id": 8,
      "options": {
        "displayMode": "basic",
        "minVizHeight": 10,
        "minVizWidth": 0,
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "valueMode": "color"
      },
      "pluginVersion": "9.5.12",
      "targets": [
        {
          "azureLogAnalytics": {

            "query": " let threshold_used = 0.85; AzureMetrics | where MetricName == \"OSTFilesTotal\" or MetricName == \"OSTFilesUsed\" | summarize OSTFilesTotal = maxif(Total, MetricName == \"OSTFilesTotal\"), OSTFilesUsed = maxif(Total, MetricName == \"OSTFilesUsed\") | extend UsedRatio = OSTFilesUsed / OSTFilesTotal | where UsedRatio \u003e threshold_used | project UsedRatio, OSTFilesUsed, OSTFilesTotal ",
            "resources": [
              "/subscriptions/$sub"
            ]
          },
          "azureMonitor": {
            "allowedTimeGrainsMs": [],
            "timeGrain": "auto"
          },
          "datasource": {
            "type": "grafana-azure-monitor-datasource",
            "uid": "${ds}"
          },
          "queryType": "Azure Log Analytics",
          "refId": "A"
        }
      ],
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {
              "_ResourceId": true
            },
            "indexByName": {},
            "renameByName": {}
          }
        }
      ],
      "type": "bargauge"
    },
    {
      "title": "Uptime",
      "datasource": {
        "type": "grafana-azure-monitor-datasource",
        "uid": "${ds}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#808080",
                "value": null
              },
              {

                "color": "dark-red",                
                "value": 0
              },
              {

                "color": "dark-green",                
                "value": 99
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 8,
        "w": 12,
        "x": 0,
        "y": 32
      },
      "id": 9,
      "options": {
        "displayMode": "basic",
        "minVizHeight": 10,
        "minVizWidth": 0,
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "valueMode": "color"
      },
      "pluginVersion": "9.5.12",
      "targets": [
        {
          "azureLogAnalytics": {

            "query": "AzureMetrics\r\n| where _ResourceId has 'Microsoft.StorageCache/caches'\r\n| where MetricName has 'Uptime'\r\n| summarize metric = avg(Total) by _ResourceId, Resource",
            "resources": [
              "/subscriptions/$sub"
            ]
          },
          "azureMonitor": {
            "allowedTimeGrainsMs": [],
            "timeGrain": "auto"
          },
          "datasource": {
            "type": "grafana-azure-monitor-datasource",
            "uid": "${ds}"
          },
          "queryType": "Azure Log Analytics",
          "refId": "A"
        }
      ],
      "transformations": [
        {
          "id": "organize",
          "options": {
            "excludeByName": {
              "_ResourceId": true
            },
            "indexByName": {},
            "renameByName": {}
          }
        }
      ],
      "type": "bargauge"
    }
  ],
  "refresh": "",
  "schemaVersion": 38,
  "style": "dark",
  "tags": [],
  "templating": {
    "list": [
      {
        "current": {},
        "hide": 0,
        "includeAll": false,
        "label": "Datasource",
        "multi": false,
        "name": "ds",
        "options": [],
        "query": "grafana-azure-monitor-datasource",
        "queryValue": "",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "type": "datasource"
      },
      {
        "current": {},
        "datasource": {
          "type": "grafana-azure-monitor-datasource",
          "uid": "${ds}"
        },
        "definition": "",
        "hide": 0,
        "includeAll": false,
        "label": "Subscription",
        "multi": false,
        "name": "sub",
        "options": [],
        "query": {
          "azureLogAnalytics": {
            "query": "",
            "resources": []
          },
          "queryType": "Azure Subscriptions",
          "refId": "A"
        },
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "type": "query"
      }
    ]
  },
  "time": {
    "from": "now-6h",
    "to": "now"
  },
  "timepicker": {},
  "timezone": "",
  "version": null
}



MDT Bytes Used - Log Alert

Log an alert if MDTBytesUsed is above 85%

Properties:

autoMitigatetrue
autoResolvetrue
autoResolveTime0:10:00
dimensions
[
  {
    "name": "UsedRatio",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "MDTBytesUsed",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "MDTBytesTotal",
    "operator": "Include",
    "values": [
      "*"
    ]
  }
]
evaluationFrequencyPT5M
failingPeriods
{
  "minFailingPeriodsToAlert": 1,
  "numberOfEvaluationPeriods": 1
}
metricMeasureColumnAggregatedValue
operatorGreaterThan
query

let threshold_used = 0.85;
AzureMetrics
| where MetricName == "MDTBytesTotal" or MetricName == "MDTBytesUsed"
| summarize
MDTBytesTotal = maxif(Total, MetricName == "MDTBytesTotal"),
MDTBytesUsed = maxif(Total, MetricName == "MDTBytesUsed")
| extend UsedRatio = MDTBytesUsed / MDTBytesTotal
| where UsedRatio > threshold_used
| project UsedRatio, MDTBytesUsed, MDTBytesTotal
severity2
threshold85
timeAggregationAverage
windowSizePT1M

References:

Templates:




MDT Files Available - Log Alert

Log an alert if MDTBytesAvailable is below 15%

Properties:

autoMitigatetrue
autoResolvetrue
autoResolveTime0:10:00
dimensions
[
  {
    "name": "AvailableRatio",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "MDTBytesAvailable",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "MDTBytesTotal",
    "operator": "Include",
    "values": [
      "*"
    ]
  }
]
evaluationFrequencyPT5M
failingPeriods
{
  "minFailingPeriodsToAlert": 1,
  "numberOfEvaluationPeriods": 1
}
metricMeasureColumnAggregatedValue
operatorLessThan
query

let threshold_used = 0.15;
AzureMetrics
| where MetricName == "MDTBytesAvailable" or MetricName == "MDTBytesTotal"
| summarize
MDTBytesAvailable = maxif(Total, MetricName == "MDTBytesAvailable"),
MDTBytesTotal = maxif(Total, MetricName == "MDTBytesTotal")
| extend AvailableRatio = MDTBytesAvailable / MDTBytesTotal
| where AvailableRatio < threshold_available
| project AvailableRatio, MDTBytesAvailable, MDTBytesTotal
severity2
threshold15
timeAggregationAverage
windowSizePT1M

References:

Templates:




MDT Files Free - Log Alert

Log an alert if MDTFilesFree is below 15%

Properties:

autoMitigatetrue
autoResolvetrue
autoResolveTime0:10:00
dimensions
[
  {
    "name": "FreeRatio",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "MDTFilesFree",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "MDTFilesTotal",
    "operator": "Include",
    "values": [
      "*"
    ]
  }
]
evaluationFrequencyPT5M
failingPeriods
{
  "minFailingPeriodsToAlert": 1,
  "numberOfEvaluationPeriods": 1
}
metricMeasureColumnAggregatedValue
operatorLessThan
query

let threshold_used = 0.15;
AzureMetrics
| where MetricName == "MDTFilesFree" or MetricName == "MDTFilesTotal"
| summarize
MDTFilesFree = maxif(Total, MetricName == "MDTFilesFree"),
MDTFilesTotal = maxif(Total, MetricName == "MDTFilesTotal")
| extend FreeRatio = MDTFilesFree / MDTFilesTotal
| where FreeRatio < threshold_free
| project FreeRatio, MDTFilesFree, MDTFilesTotal
severity2
threshold15
timeAggregationAverage
windowSizePT1M

References:

Templates:




MDT Files Used - Log Alert

Log an alert if MDTFilesUsed is above 85%

Properties:

autoMitigatetrue
autoResolvetrue
autoResolveTime0:10:00
dimensions
[
  {
    "name": "UsedRatio",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "MDTFilesUsed",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "MDTFilesTotal",
    "operator": "Include",
    "values": [
      "*"
    ]
  }
]
evaluationFrequencyPT5M
failingPeriods
{
  "minFailingPeriodsToAlert": 1,
  "numberOfEvaluationPeriods": 1
}
metricMeasureColumnAggregatedValue
operatorGreaterThan
query

let threshold_used = 0.85;
AzureMetrics
| where MetricName == "MDTFilesTotal" or MetricName == "MDTFilesUsed"
| summarize
MDTFilesTotal = maxif(Total, MetricName == "MDTFilesTotal"),
MDTFilesUsed = maxif(Total, MetricName == "MDTFilesUsed")
| extend FreeRatio = MDTFilesFree / MDTFilesTotal
| where UsedRatio > threshold_used
| project UsedRatio, MDTFilesUsed, MDTFilesTotal
severity2
threshold85
timeAggregationAverage
windowSizePT1M

References:

Templates:




OST Bytes Available - Log Alert

Log an alert if OSTBytesAvailable is below 15%

Properties:

autoMitigatetrue
autoResolvetrue
autoResolveTime0:10:00
dimensions
[
  {
    "name": "AvailableRatio",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "OSTBytesAvailable",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "OSTBytesTotal",
    "operator": "Include",
    "values": [
      "*"
    ]
  }
]
evaluationFrequencyPT5M
failingPeriods
{
  "minFailingPeriodsToAlert": 1,
  "numberOfEvaluationPeriods": 1
}
metricMeasureColumnAggregatedValue
operatorLessThan
query

let threshold_free = 0.15;
AzureMetrics
| where MetricName == "OSTBytesAvailable" or MetricName == "OSTBytesTotal"
| summarize
OSTBytesAvailable = maxif(Total, MetricName == "OSTBytesAvailable"),
OSTBytesTotal = maxif(Total, MetricName == "OSTBytesTotal")
| extend AvailableRatio = OSTBytesAvailable / OSTBytesTotal
| where AvailableRatio < threshold_available
| project AvailableRatio, OSTBytesAvailable, OSTBytesTotal
severity2
threshold15
timeAggregationAverage
windowSizePT1M

References:

Templates:




OST Bytes Used - Log Alert

Log an alert if OSTByteUsed is above 85%

Properties:

autoMitigatetrue
autoResolvetrue
autoResolveTime0:10:00
dimensions
[
  {
    "name": "UsedRatio",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "OSTBytesUsed",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "OSTBytesTotal",
    "operator": "Include",
    "values": [
      "*"
    ]
  }
]
evaluationFrequencyPT5M
failingPeriods
{
  "minFailingPeriodsToAlert": 1,
  "numberOfEvaluationPeriods": 1
}
metricMeasureColumnAggregatedValue
operatorGreaterThan
query

let threshold_used = 0.85;
AzureMetrics
| where MetricName == "OSTBytesTotal" or MetricName == "OSTBytesUsed"
| summarize
OSTBytesTotal = maxif(Total, MetricName == "OSTBytesTotal"),
OSTBytesUsed = maxif(Total, MetricName == "OSTBytesUsed")
| extend UsedRatio = OSTBytesUsed / OSTBytesTotal
| where UsedRatio > threshold_used
| project UsedRatio, OSTBytesUsed, OSTBytesTotal
severity2
threshold85
timeAggregationAverage
windowSizePT1M

References:

Templates:




OST Files Free - Log Alert

Log an alert if OSTFilesFree is below 15%

Properties:

autoMitigatetrue
autoResolvetrue
autoResolveTime0:10:00
dimensions
[
  {
    "name": "FreeRatio",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "OSTFilesFree",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "OSTFilesTotal",
    "operator": "Include",
    "values": [
      "*"
    ]
  }
]
evaluationFrequencyPT5M
failingPeriods
{
  "minFailingPeriodsToAlert": 1,
  "numberOfEvaluationPeriods": 1
}
metricMeasureColumnAggregatedValue
operatorLessThan
query

let threshold_free = 0.15;
AzureMetrics
| where MetricName == "OSTFilesFree" or MetricName == "OSTFilesTotal"
| summarize
OSTFilesFree = maxif(Total, MetricName == "OSTFilesFree"),
OSTFilesTotal = maxif(Total, MetricName == "OSTFilesTotal")
| extend FreeRatio = OSTFilesFree / OSTFilesTotal
| where FreeRatio < threshold_free
| project FreeRatio, OSTFilesFree, OSTFilesTotal
severity2
threshold15
timeAggregationAverage
windowSizePT1M

References:

Templates:




OST Files Used - Log Alert

Log an alert if OSTFilesUsed is above 85%

Properties:

autoMitigatetrue
autoResolvetrue
autoResolveTime0:10:00
dimensions
[
  {
    "name": "UsedRatio",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "OSTFilesUsed",
    "operator": "Include",
    "values": [
      "*"
    ]
  },
  {
    "name": "OSTFilesTotal",
    "operator": "Include",
    "values": [
      "*"
    ]
  }
]
evaluationFrequencyPT5M
failingPeriods
{
  "minFailingPeriodsToAlert": 1,
  "numberOfEvaluationPeriods": 1
}
metricMeasureColumnAggregatedValue
operatorGreaterThan
query

let threshold_used = 0.85;
AzureMetrics
| where MetricName == "OSTFilesTotal" or MetricName == "OSTFilesUsed"
| summarize
OSTFilesTotal = maxif(Total, MetricName == "OSTFilesTotal"),
OSTFilesUsed = maxif(Total, MetricName == "OSTFilesUsed")
| extend UsedRatio = OSTFilesUsed / OSTFilesTotal
| where UsedRatio > threshold_used
| project UsedRatio, OSTFilesUsed, OSTFilesTotal
severity2
threshold85
timeAggregationAverage
windowSizePT1M

References:

Templates:




Uptime - Metric Alert

Total number of client input/output operations per second

Properties:

autoMitigatefalse
criterionTypeStaticThresholdCriterion
evaluationFrequencyPT1M
metricNameUptime
metricNamespaceMicrosoft.StorageCache/caches
operatorLessThan
severity1
threshold99
timeAggregationTotal
windowSizePT5M

References:

Templates: