Skip to content

Commit 2355e40

Browse files
authored
Merge pull request #226902 from bwren/vm-arg
Resource Graph VM availability
2 parents 7f3aec2 + 48783db commit 2355e40

File tree

7 files changed

+130
-203
lines changed

7 files changed

+130
-203
lines changed

articles/azure-monitor/toc.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -324,24 +324,24 @@ items:
324324
- name: Troubleshoot
325325
items:
326326
- name: Linux VM
327-
href: agents/azure-monitor-agent-troubleshoot-linux-vm.md
327+
href: agents/azure-monitor-agent-troubleshoot-linux-vm.md?context=/azure/virtual-machines/context/context
328328
- name: Linux Rsyslog issues
329-
href: agents/azure-monitor-agent-troubleshoot-linux-vm-rsyslog.md
329+
href: agents/azure-monitor-agent-troubleshoot-linux-vm-rsyslog.md?context=/azure/virtual-machines/context/context
330330
- name: Windows VM
331-
href: agents/azure-monitor-agent-troubleshoot-windows-vm.md
331+
href: agents/azure-monitor-agent-troubleshoot-windows-vm.md?context=/azure/virtual-machines/context/context
332332
- name: Windows Arc-enabled server
333-
href: agents/azure-monitor-agent-troubleshoot-windows-arc.md
333+
href: agents/azure-monitor-agent-troubleshoot-windows-arc.md?context=/azure/virtual-machines/context/context
334334
- name: Troubleshoot legacy Agents
335335
displayName: Troublshooting guidance
336336
items:
337337
- name: Log Analytics VM Extension
338338
displayName: troubleshoot, troubleshooting
339-
href: visualize/vmext-troubleshoot.md
339+
href: visualize/vmext-troubleshoot.md?context=/azure/virtual-machines/context/context
340340
- name: Log Analytics Windows agent
341341
displayName: troubleshoot, troubleshooting
342-
href: agents/agent-windows-troubleshoot.md
342+
href: agents/agent-windows-troubleshoot.md?context=/azure/virtual-machines/context/context
343343
- name: Log Analytics Linux agent
344-
displayName: troubleshoot, troubleshooting
344+
displayName: troubleshoot, troubleshooting?context=/azure/virtual-machines/context/context
345345
href: agents/agent-linux-troubleshoot.md
346346
- name: Logs ingestion API
347347
items:

articles/azure-monitor/vm/monitor-virtual-machine-analyze.md

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -146,76 +146,6 @@ For instructions on how to create your own custom workbooks, see [Create interac
146146
:::image type="content" source="media/monitor-virtual-machines/workbook-example.png" alt-text="Screenshot that shows virtual machine workbooks." lightbox="media/monitor-virtual-machines/workbook-example.png":::
147147

148148

149-
## VM availability information in Azure Resource Graph
150-
[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:
151-
152-
- Query the latest snapshot of VM availability together across all your Azure subscriptions.
153-
- Assess the impact to business SLAs and trigger decisive mitigation actions, in response to disruptions and type of failure signature.
154-
- 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.
155-
- 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.
156-
157-
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.
158-
159-
:::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" :::
160-
161-
To view the details for a record, scroll to the right and select **See details**.
162-
163-
:::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" :::
164-
165-
There will be two types of events populated in the HealthResources table:
166-
167-
### microsoft.resourcehealth/availabilitystatuses
168-
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:
169-
170-
- **Available**: The VM is up and running as expected.
171-
- **Unavailable**: A disruption to the normal functioning of the VM has been detected.
172-
- **Unknown**: The platform is unable to accurately detect the health of the VM. Check back in a few minutes.
173-
174-
The availability state is in the `properties` field of the record which includes the following properties:
175-
176-
| Field | Description |
177-
|:---|:---|
178-
| targetResourceType | Type of resource for which health data is flowing |
179-
| targetResourceId | Resource ID |
180-
| occurredTime | Timestamp when the latest availability state is emitted by the platform |
181-
| previousAvailabilityState | Previous availability state of the VM |
182-
| availabilityState | Current availability state of the VM |
183-
184-
A sample `properties` value looks similar to the following:
185-
186-
```json
187-
{
188-
"targetResourceType": "Microsoft.Compute/virtualMachines",
189-
"previousAvailabilityState": "Available",
190-
"targetResourceId": "/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Compute/virtualMachines/<VMName>",
191-
"occurredTime": "2022-10-11T11:13:59.9570000Z",
192-
"availabilityState": "Unavailable"
193-
}
194-
195-
```
196-
197-
### microsoft.resourcehealth/resourceannotations
198-
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).
199-
200-
These annotations can be broadly classified into the following:
201-
202-
- **Downtime Annotations**: Emitted when the platform detects VM availability transitioning to Unavailable. Examples include host crashes or reboot operations.
203-
- **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.
204-
- **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.
205-
206-
| Field | Description |
207-
|:---|:---|
208-
| targetResourceType | Type of resource for which health data is flowing |
209-
| targetResourceId | Resource ID |
210-
| occurredTime | Timestamp when the latest availability state is emitted by the platform |
211-
| annotationName | Name of the Annotation emitted |
212-
| reason | Brief overview of the availability impact observed by the customer |
213-
| 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 |
214-
| 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 |
215-
| summary | Statement detailing the cause for annotation emission, along with remediation steps that can be taken by users |
216-
217-
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.
218-
219149
## Next steps
220150

221151
* [Create alerts from collected data](monitor-virtual-machine-alerts.md)

articles/virtual-machines/TOC.yml

Lines changed: 37 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -984,14 +984,6 @@
984984
href: ../azure-monitor/agents/azure-monitor-agent-manage.md?context=/azure/virtual-machines/context/context
985985
- name: Diagnostics extension
986986
href: ../azure-monitor/agents/diagnostics-extension-overview.md?context=/azure/virtual-machines/context/context
987-
- name: Log Analytics
988-
items:
989-
- name: Linux
990-
displayName: Log Analytics, extension
991-
href: ./extensions/oms-linux.md
992-
- name: Windows
993-
displayName: Log Analytics, extension
994-
href: ./extensions/oms-windows.md
995987
- name: VM insights
996988
items:
997989
- name: Linux Dependency agent
@@ -1000,6 +992,16 @@
1000992
- name: Windows Dependency agent
1001993
displayName: Azure Monitor
1002994
href: ./extensions/agent-dependency-windows.md
995+
- name: Legacy extensions
996+
items:
997+
- name: Log Analytics
998+
items:
999+
- name: Linux
1000+
displayName: Log Analytics, extension
1001+
href: ./extensions/oms-linux.md
1002+
- name: Windows
1003+
displayName: Log Analytics, extension
1004+
href: ./extensions/oms-windows.md
10031005
- name: PowerShell DSC
10041006
href: ./extensions/dsc-overview.md
10051007
items:
@@ -1839,129 +1841,38 @@
18391841
href: monitor-vm.md?context=/azure/virtual-machines/context/context
18401842
- name: Monitor virtual machine reference
18411843
href: monitor-vm-reference.md?context=/azure/virtual-machines/context/context
1844+
- name: Availability with Resource Graph
1845+
href: resource-graph-availability.md
18421846
- name: Tutorials
18431847
items:
1844-
- name: Enable monitoring
1845-
href: ../azure-monitor/vm/tutorial-monitor-vm-enable.md?context=/azure/virtual-machines/context/context
1846-
- name: Alert on machine down
1847-
href: ../azure-monitor/vm/tutorial-monitor-vm-alert.md?context=/azure/virtual-machines/context/context
1848+
- name: Enable recommended alerts
1849+
href: ../azure-monitor/vm/tutorial-monitor-vm-alert-recommended.md?context=/azure/virtual-machines/context/context
1850+
- name: Create availability alert
1851+
href: ../azure-monitor/vm/tutorial-monitor-vm-alert-availability.md?context=/azure/virtual-machines/context/context
1852+
- name: Enable VM insights
1853+
href: ../azure-monitor/vm/tutorial-monitor-vm-enable-insights.md?context=/azure/virtual-machines/context/context
18481854
- name: Collect guest logs and metrics
18491855
href: ../azure-monitor/vm/tutorial-monitor-vm-guest.md?context=/azure/virtual-machines/context/context
1850-
- name: Agents
1856+
- name: Monitor virtual machines guide
18511857
items:
1852-
- name: Agents overview
1853-
href: ../azure-monitor/agents/agents-overview.md?context=/azure/virtual-machines/context/context
1854-
- name: FAQ
1855-
displayName: Agents
1856-
href: ../azure-monitor/faq.yml
1857-
- name: Azure Monitor Agent
1858-
items:
1859-
- name: Overview
1860-
href: ../azure-monitor/agents/azure-monitor-agent-overview.md?context=/azure/virtual-machines/context/context
1861-
displayname: Azure Monitor agent
1862-
- name: Install and manage
1863-
href: ../azure-monitor/agents/azure-monitor-agent-manage.md?context=/azure/virtual-machines/context/context
1864-
displayname: Azure Monitor agent
1865-
- name: Data collection
1866-
href: ../azure-monitor/agents/data-collection-rule-azure-monitor-agent.md?context=/azure/virtual-machines/context/context
1867-
displayname: data collection rule,Azure Monitor agent
1868-
- name: Migrate from legacy agents
1869-
href: ../azure-monitor/agents/azure-monitor-agent-migration.md?context=/azure/virtual-machines/context/context
1870-
displayname: Migrate to Azure Monitor agent
1871-
- name: FAQ
1872-
href: ../azure-monitor/faq.yml?context=/azure/virtual-machines/context/context
1873-
displayname: Azure Monitor agent FAQ
1874-
- name: Log Analytics agent
1875-
items:
1876-
- name: Overview
1877-
displayName: Log Analytics Agent
1878-
href: ../azure-monitor/agents/log-analytics-agent.md?context=/azure/virtual-machines/context/context
1879-
- name: Linux agents
1880-
href: ../azure-monitor/agents/agent-linux.md?context=/azure/virtual-machines/context/context
1881-
- name: Log Analytics gateway
1882-
href: ../azure-monitor/agents/gateway.md?context=/azure/virtual-machines/context/context
1883-
- name: Agent management
1884-
href: ../azure-monitor/agents/agent-manage.md?context=/azure/virtual-machines/context/context
1885-
- name: Agent Health
1886-
href: ../azure-monitor/insights/solution-agenthealth.md?context=/azure/virtual-machines/context/context
1887-
- name: Data sources
1888-
items:
1889-
- name: Overview
1890-
displayName: Data sources, log Analytics
1891-
href: ../azure-monitor/agents/agent-data-sources.md?context=/azure/virtual-machines/context/context
1892-
- name: Custom JSON data
1893-
displayName: Data sources, log Analytics
1894-
href: ../azure-monitor/agents/data-sources-json.md?context=/azure/virtual-machines/context/context
1895-
- name: collect performance data
1896-
displayName: Data sources, log Analytics
1897-
href: ../azure-monitor/agents/data-sources-collectd.md?context=/azure/virtual-machines/context/context
1898-
- name: Syslog
1899-
displayName: Data sources, log Analytics
1900-
href: ../azure-monitor/agents/data-sources-syslog.md?context=/azure/virtual-machines/context/context
1901-
- name: Performance counters
1902-
displayName: Data sources, log Analytics
1903-
href: ../azure-monitor/agents/data-sources-performance-counters.md?context=/azure/virtual-machines/context/context
1904-
- name: Linux application performance
1905-
displayName: Data sources, log Analytics
1906-
href: ../azure-monitor/agents/data-sources-linux-applications.md?context=/azure/virtual-machines/context/context
1907-
- name: Custom logs
1908-
displayName: Data sources, log Analytics
1909-
href: ../azure-monitor/agents/data-sources-custom-logs.md?context=/azure/virtual-machines/context/context
1910-
- name: Custom fields
1911-
displayName: Data sources, log Analytics
1912-
href: ../azure-monitor/logs/custom-fields.md?context=/azure/virtual-machines/context/context
1913-
- name: Troubleshoot
1914-
items:
1915-
- name: Log Analytics VM Extension
1916-
href: ../azure-monitor/visualize/vmext-troubleshoot.md?context=/azure/virtual-machines/context/context
1917-
- name: Log Analytics Linux agent
1918-
href: ../azure-monitor/agents/agent-linux-troubleshoot.md?context=/azure/virtual-machines/context/context
1919-
- name: VM insights
1920-
items:
1921-
- name: Overview
1922-
displayName: VM insights
1923-
href: ../azure-monitor/vm/vminsights-overview.md?context=/azure/virtual-machines/context/context
1924-
- name: FAQ
1925-
displayName: VM insights
1926-
href: ../azure-monitor/faq.yml?context=/azure/virtual-machines/context/context
1927-
- name: Enable monitoring
1928-
items:
1929-
- name: Enable monitoring overview
1930-
displayName: Azure monitor, monitoring
1931-
href: ../azure-monitor/vm/vminsights-enable-overview.md?context=/azure/virtual-machines/context/context
1932-
- name: Enable for single Azure VM
1933-
displayName: Azure monitor, monitoring
1934-
href: ../azure-monitor/vm/vminsights-enable-portal.md?context=/azure/virtual-machines/context/context
1935-
- name: Enable using Azure Policy
1936-
displayName: Azure monitor, monitoring
1937-
href: ../azure-monitor/vm/vminsights-enable-policy.md?context=/azure/virtual-machines/context/context
1938-
- name: Enable using Azure PowerShell
1939-
displayName: Azure monitor, monitoring
1940-
href: ../azure-monitor/vm/vminsights-enable-powershell.md?context=/azure/virtual-machines/context/context
1941-
- name: Enable for Hybrid environment
1942-
displayName: Azure monitor, monitoring
1943-
href: ../azure-monitor/vm/vminsights-enable-hybrid.md?context=/azure/virtual-machines/context/context
1944-
- name: Map dependencies
1945-
displayName: Azure monitor, monitoring
1946-
href: ../azure-monitor/vm/vminsights-maps.md?context=/azure/virtual-machines/context/context
1947-
- name: Monitor performance
1948-
displayName: Azure monitor, monitoring
1949-
href: ../azure-monitor/vm/vminsights-performance.md?context=/azure/virtual-machines/context/context
1950-
- name: Analyze data with log queries
1951-
displayName: Azure monitor, monitoring
1952-
href: ../azure-monitor/vm/vminsights-log-query.md
1953-
- name: Visualize data with workbooks
1954-
displayName: Azure monitor, monitoring
1955-
href: ../azure-monitor/vm/vminsights-workbooks.md?context=/azure/virtual-machines/context/context
1956-
- name: Create alert rules
1957-
displayName: Azure monitor, monitoring
1958-
href: ../azure-monitor/vm/monitor-virtual-machine-alerts.md?context=/azure/virtual-machines/context/context
1959-
- name: Upgrade Dependency agent
1960-
displayName: Azure monitor, monitoring
1961-
href: ../azure-monitor/vm/vminsights-dependency-agent-maintenance.md?context=/azure/virtual-machines/context/context
1962-
- name: Disable monitoring
1963-
displayName: Azure monitor, monitoring
1964-
href: ../azure-monitor/vm/vminsights-optout.md?context=/azure/virtual-machines/context/context
1858+
- name: Overview
1859+
href: ../azure-monitor/vm/monitor-virtual-machine.md
1860+
- name: Deploy agents
1861+
href: ../azure-monitor/vm/monitor-virtual-machine-agent.md
1862+
- name: Collect data
1863+
href: ../azure-monitor/vm/monitor-virtual-machine-data-collection.md
1864+
- name: Analyze data
1865+
href: ../azure-monitor/vm/monitor-virtual-machine-analyze.md
1866+
- name: Create alerts
1867+
href: ../azure-monitor/vm/monitor-virtual-machine-alerts.md
1868+
- name: Migrate management pack logic
1869+
href: ../azure-monitor/vm/monitor-virtual-machine-management-packs.md
1870+
- name: VM insights
1871+
href: ../azure-monitor/vm/vminsights-overview.md
1872+
- name: Azure Monitor Agent
1873+
href: ../azure-monitor/agents/agents-overview.md
1874+
- name: Analyze availability
1875+
href: resource-graph-availability.md
19651876
- name: VM usage
19661877
href: vm-usage.md
19671878
- name: Tag a VM

0 commit comments

Comments
 (0)