Skip to content

Commit f62b807

Browse files
committed
Resource Graph VM availability
1 parent efa99e6 commit f62b807

File tree

3 files changed

+115
-134
lines changed

3 files changed

+115
-134
lines changed

articles/azure-monitor/toc.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -328,24 +328,24 @@ items:
328328
- name: Troubleshoot
329329
items:
330330
- name: Linux VM
331-
href: agents/azure-monitor-agent-troubleshoot-linux-vm.md
331+
href: agents/azure-monitor-agent-troubleshoot-linux-vm.md?context=/azure/virtual-machines/context/context
332332
- name: Linux Rsyslog issues
333-
href: agents/azure-monitor-agent-troubleshoot-linux-vm-rsyslog.md
333+
href: agents/azure-monitor-agent-troubleshoot-linux-vm-rsyslog.md?context=/azure/virtual-machines/context/context
334334
- name: Windows VM
335-
href: agents/azure-monitor-agent-troubleshoot-windows-vm.md
335+
href: agents/azure-monitor-agent-troubleshoot-windows-vm.md?context=/azure/virtual-machines/context/context
336336
- name: Windows Arc-enabled server
337-
href: agents/azure-monitor-agent-troubleshoot-windows-arc.md
337+
href: agents/azure-monitor-agent-troubleshoot-windows-arc.md?context=/azure/virtual-machines/context/context
338338
- name: Troubleshoot legacy Agents
339339
displayName: Troublshooting guidance
340340
items:
341341
- name: Log Analytics VM Extension
342342
displayName: troubleshoot, troubleshooting
343-
href: visualize/vmext-troubleshoot.md
343+
href: visualize/vmext-troubleshoot.md?context=/azure/virtual-machines/context/context
344344
- name: Log Analytics Windows agent
345345
displayName: troubleshoot, troubleshooting
346-
href: agents/agent-windows-troubleshoot.md
346+
href: agents/agent-windows-troubleshoot.md?context=/azure/virtual-machines/context/context
347347
- name: Log Analytics Linux agent
348-
displayName: troubleshoot, troubleshooting
348+
displayName: troubleshoot, troubleshooting?context=/azure/virtual-machines/context/context
349349
href: agents/agent-linux-troubleshoot.md
350350
- name: Logs ingestion API
351351
items:

articles/virtual-machines/TOC.yml

Lines changed: 22 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -979,14 +979,6 @@
979979
href: ../azure-monitor/agents/azure-monitor-agent-manage.md?context=/azure/virtual-machines/context/context
980980
- name: Diagnostics extension
981981
href: ../azure-monitor/agents/diagnostics-extension-overview.md?context=/azure/virtual-machines/context/context
982-
- name: Log Analytics
983-
items:
984-
- name: Linux
985-
displayName: Log Analytics, extension
986-
href: ./extensions/oms-linux.md
987-
- name: Windows
988-
displayName: Log Analytics, extension
989-
href: ./extensions/oms-windows.md
990982
- name: VM insights
991983
items:
992984
- name: Linux Dependency agent
@@ -995,6 +987,16 @@
995987
- name: Windows Dependency agent
996988
displayName: Azure Monitor
997989
href: ./extensions/agent-dependency-windows.md
990+
- name: Legacy extensions
991+
items:
992+
- name: Log Analytics
993+
items:
994+
- name: Linux
995+
displayName: Log Analytics, extension
996+
href: ./extensions/oms-linux.md
997+
- name: Windows
998+
displayName: Log Analytics, extension
999+
href: ./extensions/oms-windows.md
9981000
- name: PowerShell DSC
9991001
href: ./extensions/dsc-overview.md
10001002
items:
@@ -1834,129 +1836,22 @@
18341836
href: monitor-vm.md?context=/azure/virtual-machines/context/context
18351837
- name: Monitor virtual machine reference
18361838
href: monitor-vm-reference.md?context=/azure/virtual-machines/context/context
1839+
- name: Availability with Resource Graph
1840+
href: resource-graph-availability.md
18371841
- name: Tutorials
18381842
items:
1839-
- name: Enable monitoring
1840-
href: ../azure-monitor/vm/tutorial-monitor-vm-enable.md?context=/azure/virtual-machines/context/context
1841-
- name: Alert on machine down
1842-
href: ../azure-monitor/vm/tutorial-monitor-vm-alert.md?context=/azure/virtual-machines/context/context
1843+
- name: Enable recommended alerts
1844+
href: ../azure-monitor/vm/tutorial-monitor-vm-alert-recommended.md?context=/azure/virtual-machines/context/context
1845+
- name: Create availability alert
1846+
href: ../azure-monitor/vm/tutorial-monitor-vm-alert-availability.md?context=/azure/virtual-machines/context/context
1847+
- name: Enable VM insights
1848+
href: ../azure-monitor/vm/tutorial-monitor-vm-enable-insights.md?context=/azure/virtual-machines/context/context
18431849
- name: Collect guest logs and metrics
18441850
href: ../azure-monitor/vm/tutorial-monitor-vm-guest.md?context=/azure/virtual-machines/context/context
1845-
- name: Agents
1846-
items:
1847-
- name: Agents overview
1848-
href: ../azure-monitor/agents/agents-overview.md?context=/azure/virtual-machines/context/context
1849-
- name: FAQ
1850-
displayName: Agents
1851-
href: ../azure-monitor/faq.yml
1852-
- name: Azure Monitor Agent
1853-
items:
1854-
- name: Overview
1855-
href: ../azure-monitor/agents/azure-monitor-agent-overview.md?context=/azure/virtual-machines/context/context
1856-
displayname: Azure Monitor agent
1857-
- name: Install and manage
1858-
href: ../azure-monitor/agents/azure-monitor-agent-manage.md?context=/azure/virtual-machines/context/context
1859-
displayname: Azure Monitor agent
1860-
- name: Data collection
1861-
href: ../azure-monitor/agents/data-collection-rule-azure-monitor-agent.md?context=/azure/virtual-machines/context/context
1862-
displayname: data collection rule,Azure Monitor agent
1863-
- name: Migrate from legacy agents
1864-
href: ../azure-monitor/agents/azure-monitor-agent-migration.md?context=/azure/virtual-machines/context/context
1865-
displayname: Migrate to Azure Monitor agent
1866-
- name: FAQ
1867-
href: ../azure-monitor/faq.yml?context=/azure/virtual-machines/context/context
1868-
displayname: Azure Monitor agent FAQ
1869-
- name: Log Analytics agent
1870-
items:
1871-
- name: Overview
1872-
displayName: Log Analytics Agent
1873-
href: ../azure-monitor/agents/log-analytics-agent.md?context=/azure/virtual-machines/context/context
1874-
- name: Linux agents
1875-
href: ../azure-monitor/agents/agent-linux.md?context=/azure/virtual-machines/context/context
1876-
- name: Log Analytics gateway
1877-
href: ../azure-monitor/agents/gateway.md?context=/azure/virtual-machines/context/context
1878-
- name: Agent management
1879-
href: ../azure-monitor/agents/agent-manage.md?context=/azure/virtual-machines/context/context
1880-
- name: Agent Health
1881-
href: ../azure-monitor/insights/solution-agenthealth.md?context=/azure/virtual-machines/context/context
1882-
- name: Data sources
1883-
items:
1884-
- name: Overview
1885-
displayName: Data sources, log Analytics
1886-
href: ../azure-monitor/agents/agent-data-sources.md?context=/azure/virtual-machines/context/context
1887-
- name: Custom JSON data
1888-
displayName: Data sources, log Analytics
1889-
href: ../azure-monitor/agents/data-sources-json.md?context=/azure/virtual-machines/context/context
1890-
- name: collect performance data
1891-
displayName: Data sources, log Analytics
1892-
href: ../azure-monitor/agents/data-sources-collectd.md?context=/azure/virtual-machines/context/context
1893-
- name: Syslog
1894-
displayName: Data sources, log Analytics
1895-
href: ../azure-monitor/agents/data-sources-syslog.md?context=/azure/virtual-machines/context/context
1896-
- name: Performance counters
1897-
displayName: Data sources, log Analytics
1898-
href: ../azure-monitor/agents/data-sources-performance-counters.md?context=/azure/virtual-machines/context/context
1899-
- name: Linux application performance
1900-
displayName: Data sources, log Analytics
1901-
href: ../azure-monitor/agents/data-sources-linux-applications.md?context=/azure/virtual-machines/context/context
1902-
- name: Custom logs
1903-
displayName: Data sources, log Analytics
1904-
href: ../azure-monitor/agents/data-sources-custom-logs.md?context=/azure/virtual-machines/context/context
1905-
- name: Custom fields
1906-
displayName: Data sources, log Analytics
1907-
href: ../azure-monitor/logs/custom-fields.md?context=/azure/virtual-machines/context/context
1908-
- name: Troubleshoot
1909-
items:
1910-
- name: Log Analytics VM Extension
1911-
href: ../azure-monitor/visualize/vmext-troubleshoot.md?context=/azure/virtual-machines/context/context
1912-
- name: Log Analytics Linux agent
1913-
href: ../azure-monitor/agents/agent-linux-troubleshoot.md?context=/azure/virtual-machines/context/context
1914-
- name: VM insights
1915-
items:
1916-
- name: Overview
1917-
displayName: VM insights
1918-
href: ../azure-monitor/vm/vminsights-overview.md?context=/azure/virtual-machines/context/context
1919-
- name: FAQ
1920-
displayName: VM insights
1921-
href: ../azure-monitor/faq.yml?context=/azure/virtual-machines/context/context
1922-
- name: Enable monitoring
1923-
items:
1924-
- name: Enable monitoring overview
1925-
displayName: Azure monitor, monitoring
1926-
href: ../azure-monitor/vm/vminsights-enable-overview.md?context=/azure/virtual-machines/context/context
1927-
- name: Enable for single Azure VM
1928-
displayName: Azure monitor, monitoring
1929-
href: ../azure-monitor/vm/vminsights-enable-portal.md?context=/azure/virtual-machines/context/context
1930-
- name: Enable using Azure Policy
1931-
displayName: Azure monitor, monitoring
1932-
href: ../azure-monitor/vm/vminsights-enable-policy.md?context=/azure/virtual-machines/context/context
1933-
- name: Enable using Azure PowerShell
1934-
displayName: Azure monitor, monitoring
1935-
href: ../azure-monitor/vm/vminsights-enable-powershell.md?context=/azure/virtual-machines/context/context
1936-
- name: Enable for Hybrid environment
1937-
displayName: Azure monitor, monitoring
1938-
href: ../azure-monitor/vm/vminsights-enable-hybrid.md?context=/azure/virtual-machines/context/context
1939-
- name: Map dependencies
1940-
displayName: Azure monitor, monitoring
1941-
href: ../azure-monitor/vm/vminsights-maps.md?context=/azure/virtual-machines/context/context
1942-
- name: Monitor performance
1943-
displayName: Azure monitor, monitoring
1944-
href: ../azure-monitor/vm/vminsights-performance.md?context=/azure/virtual-machines/context/context
1945-
- name: Analyze data with log queries
1946-
displayName: Azure monitor, monitoring
1947-
href: ../azure-monitor/vm/vminsights-log-query.md
1948-
- name: Visualize data with workbooks
1949-
displayName: Azure monitor, monitoring
1950-
href: ../azure-monitor/vm/vminsights-workbooks.md?context=/azure/virtual-machines/context/context
1951-
- name: Create alert rules
1952-
displayName: Azure monitor, monitoring
1953-
href: ../azure-monitor/vm/monitor-virtual-machine-alerts.md?context=/azure/virtual-machines/context/context
1954-
- name: Upgrade Dependency agent
1955-
displayName: Azure monitor, monitoring
1956-
href: ../azure-monitor/vm/vminsights-dependency-agent-maintenance.md?context=/azure/virtual-machines/context/context
1957-
- name: Disable monitoring
1958-
displayName: Azure monitor, monitoring
1959-
href: ../azure-monitor/vm/vminsights-optout.md?context=/azure/virtual-machines/context/context
1851+
- name: Azure Monitor Agent
1852+
href: ../azure-monitor/vm/agents/agents-overview.md
1853+
- name: Analyze availability
1854+
href: resource-graph-availability.md
19601855
- name: VM usage
19611856
href: vm-usage.md
19621857
- name: Tag a VM
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
title: VM availability information in Azure Resource Graph
3+
description: Use Azure Resource Graph to use the same KQL query language used in log queries to query your Azure resources at scale with complex filtering, grouping, and sorting by resource properties.
4+
ms.service: azure-monitor
5+
ms.topic: conceptual
6+
author: bwren
7+
ms.author: bwren
8+
ms.date: 02/08/2023
9+
ms.reviewer: Xema Pathak
10+
11+
---
12+
13+
# VM availability information in Azure Resource Graph
14+
[Azure Resource Graph](../../governance/resource-graph/overview.md) is an Azure service that allows you to use the same KQL query language used in log queries to query your Azure resources at scale with complex filtering, grouping, and sorting by resource properties. You can use [VM health annotations](../../service-health/resource-health-vm-annotation.md) to Azure Resource Graph (ARG) for detailed failure attribution and downtime analysis including the following:
15+
16+
- Query the latest snapshot of VM availability together across all your Azure subscriptions.
17+
- Assess the impact to business SLAs and trigger decisive mitigation actions, in response to disruptions and type of failure signature.
18+
- Set up custom dashboards to supervise the comprehensive health of applications by [joining](../../governance/resource-graph/concepts/work-with-data.md) VM availability information with additional [resource metadata](../../governance/resource-graph/samples/samples-by-table.md?tabs=azure-cli) in Resource Graph.
19+
- Track relevant changes in VM availability across a rolling 14 days window, by using the [change tracking](../../governance/resource-graph/how-to/get-resource-changes.md) mechanism for conducting detailed investigations.
20+
21+
To get started with Resource Graph, open **Resource Graph Explorer** in the Azure portal. Select the **Table** tab and have a look at the [microsoft.resourcehealth/availabilitystatuses](#microsoftresourcehealthavailabilitystatuses) and [microsoft.resourcehealth/resourceannotations](#microsoftresourcehealthresourceannotations) tables which are described below. Click on **healthresources** to create a simple query and then click **Run** to return the records.
22+
23+
:::image type="content" source="media/monitor-virtual-machines/resource-graph-explorer-healthresources.png" alt-text="Screenshot of Azure Resource Graph with simple healthresources query." lightbox="media/monitor-virtual-machines/resource-graph-explorer-healthresources.png" :::
24+
25+
To view the details for a record, scroll to the right and select **See details**.
26+
27+
:::image type="content" source="media/monitor-virtual-machines/resource-graph-explorer-healthresources-detail.png" alt-text="Screenshot of Azure Resource Graph healthresources detailed record." lightbox="media/monitor-virtual-machines/resource-graph-explorer-healthresources-detail.png" :::
28+
29+
There will be two types of events populated in the HealthResources table:
30+
31+
## microsoft.resourcehealth/availabilitystatuses
32+
This event denotes the latest availability status of a VM, based on the [health checks](../../service-health/resource-health-checks-resource-types.md#microsoftcomputevirtualmachines) performed by the underlying Azure platform. The [availability states](../../service-health/resource-health-overview.md#health-status) currently emitted for VMs are as follows:
33+
34+
- **Available**: The VM is up and running as expected.
35+
- **Unavailable**: A disruption to the normal functioning of the VM has been detected.
36+
- **Unknown**: The platform is unable to accurately detect the health of the VM. Check back in a few minutes.
37+
38+
The availability state is in the `properties` field of the record which includes the following properties:
39+
40+
| Field | Description |
41+
|:---|:---|
42+
| targetResourceType | Type of resource for which health data is flowing |
43+
| targetResourceId | Resource ID |
44+
| occurredTime | Timestamp when the latest availability state is emitted by the platform |
45+
| previousAvailabilityState | Previous availability state of the VM |
46+
| availabilityState | Current availability state of the VM |
47+
48+
A sample `properties` value looks similar to the following:
49+
50+
```json
51+
{
52+
"targetResourceType": "Microsoft.Compute/virtualMachines",
53+
"previousAvailabilityState": "Available",
54+
"targetResourceId": "/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Compute/virtualMachines/<VMName>",
55+
"occurredTime": "2022-10-11T11:13:59.9570000Z",
56+
"availabilityState": "Unavailable"
57+
}
58+
59+
```
60+
61+
## microsoft.resourcehealth/resourceannotations
62+
This event contextualizes any changes to VM availability, by detailing necessary failure attributes to help you investigate and mitigate the disruption as needed. The full list of VM health annotations are listed at [Resource Health virtual machine Health Annotations] (../../service-health/resource-health-vm-annotation.md).
63+
64+
These annotations can be broadly classified into the following:
65+
66+
- **Downtime Annotations**: Emitted when the platform detects VM availability transitioning to Unavailable. Examples include host crashes or reboot operations.
67+
- **Informational Annotations**: Emitted during control plane activities with no impact to VM availability. Examples include VM allocation, stop, delete, start. Usually, no additional customer action is required in response.
68+
- **Degraded Annotations**: Emitted when VM availability is detected to be at risk. Examples include when failure prediction models predict a degraded hardware component that can cause the VM to reboot at any given time. You should redeploy by the deadline specified in the annotation message to avoid any unanticipated loss of data or downtime.
69+
70+
| Field | Description |
71+
|:---|:---|
72+
| targetResourceType | Type of resource for which health data is flowing |
73+
| targetResourceId | Resource ID |
74+
| occurredTime | Timestamp when the latest availability state is emitted by the platform |
75+
| annotationName | Name of the Annotation emitted |
76+
| reason | Brief overview of the availability impact observed by the customer |
77+
| category | Denotes whether the platform activity triggering the annotation was either planned maintenance or unplanned repair. This field is not applicable to customer/VM-initiated events.<br><br>Possible values: Planned \| Unplanned \| Not Applicable \| Null |
78+
| context | Denotes whether the activity triggering the annotation was due to an authorized user or process (customer initiated), or due to the Azure platform (platform initiated) or even activity in the guest OS that has resulted in availability impact (VM initiated).<br><br>Possible values: Platform-Initiated \| User-initiated \|VM-initiated \| Not Applicable \| Null |
79+
| summary | Statement detailing the cause for annotation emission, along with remediation steps that can be taken by users |
80+
81+
See [Azure Resource Graph sample queries by table](../../governance/resource-graph/samples/samples-by-table.md?tabs=azure-cli#healthresources) for sample queries using this data.
82+
83+
## Next steps
84+
85+
* [Create alerts from collected data](monitor-virtual-machine-alerts.md)
86+

0 commit comments

Comments
 (0)