-
Notifications
You must be signed in to change notification settings - Fork 95
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
ejhenry
committed
Feb 10, 2025
1 parent
2a4c65c
commit dcd7617
Showing
4 changed files
with
193 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
title: Tools (PREVIEW) | ||
weight: 47 | ||
geekdocCollapseSection: true | ||
--- | ||
This section lists all of the guidance for the new APRL tooling and automation released in preview. With this preview release the APRL automation scripts are now included in a PowerShell module available in the PowerShell Gallery. The spreadsheet produced by the analyzer script has also been updated to improve the workload analysis process and customer deliverable. | ||
|
||
The guidance is broken down into the following sections: | ||
|
||
- [WARA Collector Documentation](/Azure-Proactive-Resiliency-Library-v2/tools-preview/collector) | ||
- [WARA Analyzer Documentation](/Azure-Proactive-Resiliency-Library-v2/tools-preview/analyzer) | ||
- [WARA Reports Documentation](/Azure-Proactive-Resiliency-Library-v2/tools-preview/reports) | ||
|
||
{{< toc >}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
title: Analyzer Cmdlet | ||
weight: 20 | ||
geekdocCollapseSection: false | ||
--- | ||
|
||
{{< toc >}} | ||
|
||
## Overview | ||
|
||
This Data Analyzer cmdlet is the second script used during Well-Architected Reliability Assessment (WARA) engagements. Based on the data generated by the Collector cmdlet, the Data Analyzer cmdlet collects the necessary information about recommendations from the Azure Proactive Resiliency Library (APRL) and generates an Action Plan Excel spreadsheet. The goal of this tool is to summarize the collected data and provide actionable insights into the health and resiliency of the Azure environment. | ||
|
||
## Requirements | ||
|
||
- Windows OS | ||
- [PowerShell 7](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.4) | ||
- Microsoft Excel installed | ||
- Role Based Access Control: Reader role to access to resources to be evaluated. Although access to the Azure Subscriptions is not required to run the script, the access will be required for the user to complete some manual validations of configurations of Azure resources after the script generates the Excel file. | ||
|
||
## Quick Start (Local Machine only - Cloud Shell is not supported) | ||
|
||
### Start-WARAAnalyzer | ||
The `Start-WARAAnalyzer` cmdlet is used to analyze the collected data and generate the core WARA Action Plan Excel file. | ||
|
||
{{< hint type=note >}} | ||
Whatever directory you run the `Start-WARAAnalyzer` cmdlet in, the Excel file will be created in that directory. For example: if you run the `Start-WARAAnalyzer` cmdlet in the `C:\Temp` directory, the Excel file will be created in the `C:\Temp` directory. | ||
{{< /hint >}} | ||
|
||
You can review all of the parameters of Start-WARAAnalyzer [here](https://github.com/Azure/Well-Architected-Reliability-Assessment/blob/main/docs/wara/Start-WARAAnalyzer.md). | ||
|
||
#### Examples | ||
|
||
#### Run the analyzer against a specific JSON file. | ||
```PowerShell | ||
Start-WARAAnalyzer -JSONFile 'C:\WARA\WARA_File_2024-04-01_10_01.json' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
--- | ||
title: Collector Cmdlet | ||
weight: 10 | ||
geekdocCollapseSection: false | ||
--- | ||
|
||
{{< toc >}} | ||
|
||
## Overview | ||
|
||
This PowerShell module is part of the Microsoft Well-Architected Reliability Assessment (WARA) engagement. It helps customers validate whether their Azure resources are architected and configured according to Microsoft best practices. The collector cmdlet (Start-WARACollector) achieves this by running Azure Resource Graph queries (Kusto/KQL) against Azure subscriptions and resources. Additionally, it collects information about closed support tickets, active Azure Advisor reliability recommendations, past Azure Service Health retirement and outage notifications, and the configuration of Azure Service Health alerts, all of which are relevant for the reliability recommendations provided at the end of the engagement. The collected data is then structured and exported into a JSON file, which is later used as input for the second step in the analysis process, the Data Analyzer cmdlet (start-WARAAnalyzer). | ||
|
||
{{< hint type=important >}} | ||
These Azure Resource Graph queries only read ARM (Azure Resource Manager) data. They do not access or collect any keys, secrets, passwords, or other confidential information. The queries only gather information about how resources are deployed and configured. If you would like to learn more, you can explore the Azure Resource Graph Explorer and run some of the query examples provided in the Azure portal. | ||
{{< /hint >}} | ||
|
||
## Requirements | ||
|
||
[Requirements for the WARA PowerShell module collector](https://github.com/Azure/Well-Architected-Reliability-Assessment?tab=readme-ov-file#requirements) | ||
- [PowerShell 7.4](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.4) | ||
- [Azure PowerShell modules](https://learn.microsoft.com/en-us/powershell/azure/install-azps-windows?view=azps-12.1.0&tabs=powershell&pivots=windows-psgallery) | ||
- Az.ResourceGraph PowerShell Module 1.0 or later | ||
- Az.Accounts PowerShell Module 3.0 or later | ||
- Role Based Access Control: Reader role to access to resources to be evaluated | ||
|
||
## Quick Start (Cloud Shell or Local Machine) | ||
|
||
### Quick Workflow Example | ||
```PowerShell | ||
# Assume we running from a C:\WARA directory | ||
# Installs the WARA module from the PowerShell Gallery. | ||
Install-Module WARA | ||
# Imports the WARA module to the PowerShell session. | ||
Import-Module WARA | ||
# Start the WARA collector. | ||
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000" | ||
# Assume output from collector is 'C:\WARA\WARA_File_2024-04-01_10_01.json' | ||
Start-WARAAnalyzer -JSONFile 'C:\WARA\WARA_File_2024-04-01_10_01.json' | ||
# Assume output from analyzer is 'C:\WARA\Expert-Analysis-v1-2025-02-04-11-14.xlsx' | ||
Start-WARAReport -ExpertAnalysisFile 'C:\WARA\Expert-Analysis-v1-2025-02-04-11-14.xlsx' | ||
#You will now have your PowerPoint and Excel reports generated under the C:\WARA directory. | ||
``` | ||
|
||
### Start-WARACollector | ||
These instructions are the same for any platform that supports PowerShell. The following instructions have been tested on Azure Cloud Shell, Windows, and Linux. | ||
|
||
You can review all of the parameters on the Start-WARACollector [here](https://github.com/Azure/Well-Architected-Reliability-Assessment/blob/main/docs/wara/Start-WARACollector.md). | ||
|
||
{{< hint type=note >}} | ||
Whatever directory you run the `Start-WARACollector` cmdlet in, the Excel file will be created in that directory. For example: if you run the `Start-WARACollector` cmdlet in the `C:\Temp` directory, the Excel file will be created in the `C:\Temp` directory. | ||
{{< /hint >}} | ||
|
||
1. Install the WARA module from the PowerShell Gallery. | ||
```powershell | ||
# Installs the WARA module from the PowerShell Gallery. | ||
Install-Module WARA | ||
``` | ||
1. Import the WARA module. | ||
```powershell | ||
# Import the WARA module. | ||
Import-Module WARA | ||
``` | ||
1. Start the WARA collector. (Replace these values with your own) | ||
```powershell | ||
# Start the WARA collector. | ||
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000" | ||
``` | ||
|
||
### Examples | ||
|
||
#### Run the collector against a specific subscription. | ||
```PowerShell | ||
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000" | ||
``` | ||
|
||
#### Run the collector against a multiple specific subscriptions. | ||
```PowerShell | ||
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds @("/subscriptions/00000000-0000-0000-0000-000000000000","/subscriptions/00000000-0000-0000-0000-000000000001") | ||
``` | ||
|
||
#### Run the collector against a specific subscription and resource group. | ||
```PowerShell | ||
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000" -ResourceGroups "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RG-001" | ||
``` | ||
|
||
#### Run the collector against a specific subscription and resource group and filtering by tag key/values. | ||
```PowerShell | ||
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000" -ResourceGroups "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RG-001" -Tags "Env||Environment!~Dev||QA" -AVD -SAP -HPC | ||
``` | ||
|
||
#### Run the collector against a specific subscription and resource group, filtering by tag key/values and using the specialized resource types (AVD, SAP, HPC, AVS). | ||
```PowerShell | ||
Start-WARACollector -TenantID "00000000-0000-0000-0000-000000000000" -SubscriptionIds "/subscriptions/00000000-0000-0000-0000-000000000000" -ResourceGroups "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RG-001" -Tags "Env||Environment!~Dev||QA" -AVD -SAP -HPC | ||
``` | ||
|
||
#### Run the collector using a configuration file. | ||
```PowerShell | ||
Start-WARACollector -ConfigFile "C:\path\to\config.txt" | ||
``` | ||
|
||
#### Run the collector using a configuration file and using the specialized resource types (AVD, SAP, HPC, AVS). | ||
```PowerShell | ||
Start-WARACollector -ConfigFile "C:\path\to\config.txt" -SAP -AVD | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
--- | ||
title: Reports Cmdlet | ||
weight: 30 | ||
geekdocCollapseSection: false | ||
--- | ||
|
||
{{< toc >}} | ||
|
||
## Overview | ||
|
||
The Reports cmdlet serves as the final step in a Well-Architected Reliability Assessment (WARA) engagement. It takes the Excel spreadsheet generated by the Data Analyzer cmdlet and converts it into Microsoft Word, PowerPoint, and Excel formats. The Reports cmdlet automates the process of creating comprehensive reports from the analyzed data, making it easier to share insights and recommendations. | ||
|
||
## Requirements | ||
|
||
- [PowerShell 7](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.4) | ||
- Microsoft Excel, Word and PowerPoint installed | ||
- Role Based Access Control: Reader role to access to resources to be evaluated. Although access to the Azure Subscriptions is not required to run the script, the access will be required for the user to complete some manual validations of configurations of Azure resources after the script generates the Excel file. | ||
|
||
## Quick Start (Local Machine only - Cloud Shell is not supported) | ||
|
||
### Start-WARAReport | ||
The `Start-WARAReport` cmdlet is used to generate the WARA reports. | ||
|
||
{{< hint type=note >}} | ||
Whatever directory you run the `Start-WARAReport` cmdlet in, the Word and PowerPoint files will be created in that directory. For example: if you run the `Start-WARAReport` cmdlet in the `C:\Temp` directory, the Word and PowerPoint files will be created in the `C:\Temp` directory. | ||
{{< /hint >}} | ||
|
||
You can review all of the parameters of Start-WARAReport [here](https://github.com/Azure/Well-Architected-Reliability-Assessment/blob/main/docs/wara/Start-WARAReport.md). | ||
#### Examples | ||
|
||
#### Create the Word and PowerPoint reports from the Action Plan Excel output. | ||
```PowerShell | ||
Start-WARAReport -ExpertAnalysisFile 'C:\WARA\Expert-Analysis-v1-2025-02-04-11-14.xlsx' | ||
``` |