• Stars
    star
    584
  • Rank 76,554 (Top 2 %)
  • Language
    PowerShell
  • License
    MIT License
  • Created about 5 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

⚡ ☁ Azure Visualizer aka 'AzViz' : A #powershell module to automatically generate Azure resource topology diagrams by just typing a PowerShell cmdlet and passing the name of one or more Azure Resource groups

⚡ Azure Visualizer, aka 'AzViz'

PowerShell Gallery PowerShell Gallery GitHub issues CI Documentation Status License

Azure Visualizer aka 'AzViz' - PowerShell module to automatically generate Azure resource topology diagrams by just typing a PowerShell cmdlet and passing the name of one or more Azure Resource Group(s).

Cloud admins are not anymore doomed to manually document a cloud environment! The pain of inheriting an undocumented cloud landscape to support is gone 😎😉 so please share this project with your colleagues and friends.

Buy Me A Coffee

It is capable of:

  • Finding Resources in a Azure Resource Group and identifying their dependencies.
  • Plot nodes and edges to represent Azure Resources and their dependencies on a graph.
  • Insert appropriate Azure Icons on basis of resource category/sub-category.
  • Label each resource with information like Name, Category, Type etc.
  • Generate visualization in formats like: .png and .svg
  • Output image can be in 'light', 'dark' or 'neon' theme.
  • Can target more than one resource group at once.
  • Change direction in which resource groups are plotted, i.e, left-to-right or top-to-bottom.

Thanks and shoutouts

Special thanks & shoutout to Kevin Marquette and his PSGraph module which seeded the idea for programmatical approach to Azure Visualization while I was working with Kevin's module. And without which 'AzViz' module won't be possible! 👍

Demo Video - Youtube

Demo Video

Prerequisite

We need to install GraphViz on our system before we can proceed with using the 'AzViz' PowerShell module. Depending upon the operating system you are using please follow the below mentioned steps:

Linux

# Ubuntu
$ sudo apt install graphviz

# Fedora
$ sudo yum install graphviz

# Debian
$ sudo apt install graphviz

Windows

# chocolatey packages Graphviz for Windows
choco install graphviz

# alternatively using windows package manager
winget install graphviz

Mac

brew install graphviz

Installation

From PowerShell Gallery

# install from powershell gallery
Install-Module -Name AzViz -Scope CurrentUser -Repository PSGallery -Force

# import the module
Import-Module AzViz

# login to azure, this is required for module to work
Connect-AzAccount

Clone the project from GitHub

# optionally clone the project from github
git clone https://github.com/PrateekKumarSingh/AzViz.git
Set-Location .\AzViz\AzViz
   
# import the powershell module
Import-Module .\AzViz.psm1 -Verbose

# login to azure, this is required for module to work
Connect-AzAccount

How to use?

Target Single Resource Group

# target single resource group
Export-AzViz -ResourceGroup demo-2 -Theme light -OutputFormat png -Show

Target Single Resource Group with more sub-categories

# target single resource group with more sub-categories
Export-AzViz -ResourceGroup demo-2 -Theme light -OutputFormat png -Show -CategoryDepth 2

Target Multiple Resource Groups

# target multiple resource groups
Export-AzViz -ResourceGroup demo-2, demo-3 -LabelVerbosity 1 -CategoryDepth 1 -Theme light -Show -OutputFormat png

Add Verbosity to Resource Label

# adding more information in resource label like: Name, type, Provider etc
Export-AzViz -ResourceGroup demo-2 -Theme light -OutputFormat png -Show -LabelVerbosity 2

Change Log

v1.2.1

  • Fixed casing for loadbalancer.png in AzViz/src/private/Images.ps1 to match the filename for AzViz/icons/LoadBalancers.png as AzViz could not find the icon when run from pwsh on a Linux VM. pull-request by @madsaune

v1.2.0

  • Handled condition to skip resources out of resource group, this should fix issue#37 and issue#39
  • Handled period in resource group name, this should fix issue#41
  • If there are no edges between the nodes, then graph legends are not plotted, this should fix issue#38
  • Empty resource groups skips, resource visualization for all later targets, this should fix issue#50. Thanks @madsaune finding the bug and creating the issue.
  • Add Vnet-only resource groups to graph visualization. Special thanks to @madsaune for the pull-request

v1.1.2

  • Network infra and the associated resources are represented in much better way
  • Improve network diagrams with Virtual Networks containing Subnets and resources
  • Azure Icons with labels showing informarion on Subscriptions, RGs, VNet, Subnets
  • Excluding Azure resource types/providers
  • Supports empty virtual networks
  • Improved dark and neon themes
  • Supports diagram legends
  • Bug Fixes

More Repositories

1

CheatSheets

CheatSheets for Powershell, Exchange, Sharepoint, Lync, RegEx, VSCode and more
438
star
2

Graphical

Open-Source, Platform independent module that consumes data points as input and plots them on a 2D graph 📈📊💹 [Scatter / Bar / Line] on the PowerShell Console/Terminal
PowerShell
347
star
3

Python

Day-wise Python Learning resources from basic concepts to advanced Python applications such as data science and Machine learning. It also includes cheat-sheets, references which are logged daily to accelerate your learning.
Jupyter Notebook
184
star
4

PSCognitiveService

Powershell module to access Microsoft Azure Machine learning RESTful API's or Microsoft cognitive services
PowerShell
49
star
5

Gridify

'Gridify' Powershell module provides cmdlet that can resize and arrange applications in an automatic grid layout with predefined formats using the Processes passed as parameter
PowerShell
46
star
6

PSDecode

PowerShell based module that can decode System Errors, Exit codes, port numbers, HTTP Statuses and more. This module can be used to quick lookup Error descriptions, to add verbosity to your custom error messages and for a better Error Handling, Investigation and Analysis.
PowerShell
45
star
7

GoogleMap

Some quick and neat functions to access and use Google Map web API's like - Direction, Distance, GeoLocation
PowerShell
20
star
8

Posh-AutoMute

Powershell script to Mute the volume of system when the headphones are plugged out
PowerShell
18
star
9

MusicPlayer

Play songs in Background with a set of user preferences available as a 'switch' in the cmdlet.
PowerShell
16
star
10

PowerShell-Interview

Document Resources, Topics, Questions and Tips for a PowerShell Development Interview
14
star
11

PictureInConsole

PowerShell
13
star
12

WinErrorCodeInfo

Import Windows Error code and filter matching error code to get the information
PowerShell
9
star
13

PowershellScrapy

Web Data Scraping using Powershell and more
PowerShell
7
star
14

Presentations

Slides, Code and Demo for all my presentations
PowerShell
6
star
15

Today.I.Learned

Anything that I learned today
PowerShell
5
star
16

PSSummary

PowerShell script to summarize long text document depending upon your chosen word limit.
PowerShell
5
star
17

Azure

Azure Function and Scripts
PowerShell
5
star
18

Posh

Some useful Powershell functions
PowerShell
5
star
19

PowershellDemos

Demo Files and Scripts on PowerShell and related topics
PowerShell
4
star
20

PowershellSlackathon

The Stupid-ideas Powershell Slackathon
PowerShell
4
star
21

PSDictionaryWords

Data Harvested dictionary words for each alphabet from an online dictionary
PowerShell
4
star
22

Win7_UserProfiling

PowerShell
3
star
23

PSSearchEngine

PowerShell
3
star
24

Bots

PowerShell
3
star
25

SHiPS

Modules Simple Hierarchy in PowerShell on various data stores and systems
PowerShell
3
star
26

microsvc-golang

Go
3
star
27

React

100 days of daily learning logs, reference, projects, good-reads around React JS.
3
star
28

Exchange

PowerShell
3
star
29

VSCode_Demo

Demo files for Visual studio code - Powershell extension
PowerShell
2
star
30

aks-cluster-terraform

HCL
2
star
31

PSGithubSniffer

PowerShell
2
star
32

LabAutomation

PowerShell
2
star
33

PowershellGames

Games created in Powershell
PowerShell
2
star
34

PSSnake

PowerShell
2
star
35

JokesQuotesAndMore

JokesQuotesAndMore
PowerShell
2
star
36

X

PowerShell
2
star
37

PSSpellCheck

PowerShell Module that performs spelling checks assembly "Microsoft.Office.Interop.Word"
PowerShell
2
star
38

MS_DataProtectionManager

PowerShell
1
star
39

csharp

Repository to document my C# learning journey
C#
1
star
40

Azure.WebApp

Python
1
star
41

DashBoard

Automation to collect, populate and build a HTML dashboard for RidiCurious.com
Python
1
star
42

leetcode

JavaScript
1
star
43

PrateekKumarSingh.github.io

testing
HTML
1
star
44

RaspberryPI

Raspberry PI setup scripts and projects
Shell
1
star
45

LearnPythonHardWay

All my practice examples from Book : LearnPythonTheHardWay
Python
1
star
46

paperboy

Python
1
star
47

pwsh-security

1
star
48

Data-Structures-and-Algorithms

Data structures and Algorithms in Python
Python
1
star
49

PrateekKumarSingh

1
star