azure-health-check

The Health Check Framework is a set of PowerShell scripts that assess the health of Azure resources. The framework is designed to be extensible and can be used to assess many Azure service.

MIT License

Stars
0

Health Check Framework

Project Introduction

The Health Check Framework is a set of PowerShell scripts that assess the health of Azure resources. The framework is designed to be extensible and can be used to assess many Azure service.

Supported services

Service Status Resources Documentation link Owners
Azure Kubernetes Service (AKS) ✅ Complete • Cluster• Node pools Documentation @Nicwalle
Azure Container Apps (ACA) 🚧 WIP • Environment• Apps Documentation @Nicwalle
Azure API Management (APIM) 🚧 WIP Documentation
Azure SQL (SQL) 🚧 WIP • Server• Database Documentation @Nicwalle, @noyasarko

Getting started

Prerequisites

  • PowerShell Core 7+
  • Azure CLI
  • account extension installed on Azure CLI: az extension add --name account

Permissions

In order to complete the assessment, the user/service principal should be Reader on all the subscriptions you want to assess.

Execution

# Optionally specify the output path and the CSV Delimiter as argument
.\StartAssessment.ps1 #-OutPath "C:\MyPath" -csvDelimiter ","

Parameters

Parameter Required Default Value Description
OutPath No out/Assessment_YYYY-MM-DD_HH-mm-ss/ The output path where the assessment results will be saved.
csvDelimiter No , The delimiter to be used in the CSV file generated by the assessment script.
AuthType No user The authentication type to be used. user: prompts the user to authenticate sp: leverage service principal authentication. Requires ClientId, ClientSecret and TenantID none: will not re-authenticate and will leverage the current user of the terminal
ClientId Only if AuthType is sp The client ID for service principal authentication. Required if AuthType is sp
ClientSecret Only if AuthType is sp The client secret for service principal authentication.
TenantId Only if AuthType is sp The tenant ID for service principal authentication.
Services No all A comma-separated list of services to check. Currently supported services are:aksapim SQL

Output

Each execution of the assessment will produce the following files in the -OutPath folder (defaults to out/Assessment_YYYY-MM-DD_HH-mm-ss/ if not specified):

  • <SERVICE>_assess_YYYY-MM-DD_HH-mm-ss.csv - CSV Results of the assessment
  • <SERVICE>_raw_YYYY-MM-DD_HH-mm-ss.json - Raw JSON of the analyzed resources
  • log_YYYY-MM-DD_HH-mm-ss.txt - Transcript of the PowerShell execution

Contributing

The Health Check Framework is an open-source project and welcomes contributions. To contribute, please follow the Contribution Guidelines. It defines the requirements to create new checks for other services or improve the existing ones.

Related Projects