GithubHelp home page GithubHelp logo

ariplus's Introduction

CloudRays ARI+

ARI+ is an enhanced version of the Azure Resource Inventory (ARI) tool. ARI is a robust PowerShell script provided by Microsoft that generates an Excel report of any Azure environment to which you have read access. This tool aims to assist Cloud Administrators and other professionals in creating a comprehensive Excel report of an Azure Environment quickly and easily. ARI+ enhances the original script by capturing additional utilization metrics. This repository is professionally maintained by AWS, focusing exclusively on read-only integrations with Azure API's and Azure Monitor.

Table of Contents

Prerequisites

ARI+ can be executed in both Azure Cloudshell and PowerShell Desktop environments.

Requirements

Note: By default, Azure Resource Inventory will attempt to install the necessary PowerShell modules and Azure CLI components, but you need administrator privileges during the script execution.

  • PowerShell 7 or Azure CloudShell
  • Azure CLI
  • Azure CLI Account Extension
  • Azure CLI Resource-Graph Extension

Dependencies

Install the required PowerShell module:

Install-Module ImportExcel

Installation

  1. Clone the repository or download the ResourceInventory.ps1 script.
git clone https://github.com/stefoy/AriPlus

Running the Script

ARI+ uses concurrency to execute commands in parallel, especially when gathering metrics. By default, the concurrency limit is set to 6. To change this, use the -ConcurrencyLimit option.

  1. If you are in Azure CloudShell, you're already authenticated. In PowerShell Desktop, you will be redirected to the Azure sign-in page. Ensure you are executing this command from the AriPlus directory
cd AriPlus
./ResourceInventory.ps1 -ConcurrencyLimit 8

Script Output/Reports

  1. When the script has completed, a zip file of the report will be saved in the folder AriPlusReports.
    • ARI+ will create 4 files and one zip

      • Consumption_ResourcesReport_(date).json
      • Inventory_ResourcesReport_(date).json
      • Metrics_ResourcesReport_(date).json
      • ResourcesReport_(date).xlsx
    • These 4 files zipped up automatically and the zip is what is sent back to AWS

      • ResourcesReport_(date).zip

Parameters

The following table lists the parameters that can be used with the script:

Parameter Type Description
$TenantID String Specifies the Tenant ID you want to create a Resource Inventory
$Appid String Service Principal Authentication ID.
$SubscriptionID String Specifies the Subscription which will be run for Inventory.
$Secret String Client Secret of the Service Principal key.
$ResourceGroup String Specifies the Resource Group.
$Debug Switch Enable Debug Mode
$Help Switch A switch to display the help message.
$SkipConsumption Switch A switch to indicate if consumption metrics should be gathered.
$DeviceLogin Switch A switch to trigger device login.
$ConcurrencyLimit Integer Specifies the concurrency limit for parallel command execution. Default value is 6.

⚠️ Warning Messages

  • Important: Azure Resource Inventory will not upgrade the current version of the Powershell modules.

  • Important: If you're running the script inside Azure CloudShell, the final Excel will not have auto-fit columns, and you will see warnings during the script execution. This is an issue with the Import-Excel module but it does not affect the inventory which will remain accurate.


Maintained by


Acknowledgments

Special thanks to Doug Finke, the author of the PowerShell ImportExcel Module.


ariplus's People

Contributors

stefoy avatar irlperu avatar bradwebber avatar agasthik avatar spreegabe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.