Skip to content

AsBuiltReport/AsBuiltReport.Nutanix.PrismElement

Repository files navigation

Buy Me a Coffee at ko-fi.com

Nutanix Prism Element As Built Report

📚 Sample Reports

Sample Report - Default Style

Sample Nutanix Prism Element As Built Report with health checks, using default report style.

Sample Nutanix Prism Element As Built Report

Sample Nutanix Prism Element As Built Report HTML file: Sample Nutanix Prism Element As Built Report.html

🔰 Getting Started

Below are the instructions on how to install, configure and generate a Nutanix Prism As Built report.

💾 Supported Versions

Prism / AOS

The Nutanix Prism Element As Built Report supports the following AOS versions;

  • AOS 5.x
  • AOS 6.x

PowerShell

This report is compatible with the following PowerShell versions;

Windows PowerShell 5.1 PowerShell 7

🔧 System Requirements

Each of the following modules will be automatically installed by following the module installation procedure.

These modules may also be manually installed.

Module Name Minimum Required Version PS Gallery GitHub
PScribo 0.10.0 Link Link
AsBuiltReport.Core 1.2.0 Link Link

🔐 Required Privileges

A user with Prism Cluster Admin privileges is required to generate a Nutanix Prism Element As Built Report.

📦 Module Installation

PowerShell

Open a PowerShell terminal window and install the required modules as follows;

install-module -Name AsBuiltReport.Nutanix.PrismElement

GitHub

If you are unable to use the PowerShell Gallery, you can still install the module manually. Ensure you repeat the following steps for the system requirements also.

  1. Download the latest release zip from GitHub
  2. Extract the zip file
  3. Copy the folder AsBuiltReport.Nutanix.PrismElement to a path that is set in $env:PSModulePath. By default this could be C:\Program Files\WindowsPowerShell\Modules or C:\Users\<user>\Documents\WindowsPowerShell\Modules
  4. Open a PowerShell terminal window and unblock the downloaded files with
    $path = (Get-Module -Name AsBuiltReport.Nutanix.PrismElement -ListAvailable).ModuleBase; Unblock-File -Path $path\*.psd1; Unblock-File -Path $path\Src\Public\*.ps1; Unblock-File -Path $path\Src\Private\*.ps1
  5. Close and reopen the PowerShell terminal window.

Note: You are not limited to installing the module to those example paths, you can add a new entry to the environment variable PSModulePath if you want to use another path.

✏️ Configuration

The Nutanix Prism As Built Report utilises a JSON file to allow configuration of report information, options, detail and healthchecks.

A Nutanix Prism report configuration file can be generated by executing the following command;

New-AsBuiltReportConfig -Report Nutanix.PrismElement -FolderPath <User specified folder> -Filename <Optional>

Executing this command will copy the default Nutanix Prism report configuration file to a user specified folder.

All report settings can then be configured via the report configuration file.

The following provides information of how to configure each schema within the report's configuration file.

Report

The Report schema provides configuration of the Nutanix Prism report information

Sub-Schema Setting Default Description
Name User defined Nutanix Prism Element As Built Report The name of the As Built Report
Version User defined 1.0 The report version
Status User defined Released The report release status
ShowCoverPageImage true / false true Toggle to enable/disable the display of the cover page image
ShowHeaderFooter true / false true Toggle to enable/disable document headers & footers
ShowTableCaptions true / false true Toggle to enable/disable table captions/numbering

Options

The Options schema allows certain options within the report to be toggled on or off.

There are currently no options defined for this report.

InfoLevel

The InfoLevel schema allows configuration of each section of the report at a granular level.

There are 4 levels (0-3) of detail granularity for each section as follows;

Setting InfoLevel Description
0 Disabled Does not collect or display any information
1 Enabled / Summary Provides summarised information for a collection of objects
2 Detailed Provides detailed information for a collection of objects
3 Adv Detailed Provides detailed information for individual objects, as well as information for associated objects (Disks, VM Disks, VM NICs etc)
4 Comprehensive Provides comprehensive information for individual objects

The table below outlines the default and maximum InfoLevel settings for each section.

Sub-Schema Default Setting Maximum Setting
Cluster 1 1
System 2 4
Hosts 2 3
Storage 2 3
VM 2 3
DataProtection 2 3

Healthcheck

The Healthcheck schema is used to toggle health checks on or off.

Cluster

The Cluster schema is used to configure health checks for the Nutanix cluster.

Sub-Schema Setting Default Description Highlight
Timezone true/false false Enables/Disables the timezone setting health check
TimezoneSetting User Defined UTC Checks the configured timezone for the Nutanix cluster Warning Not compliant with user defined setting
DataResiliency true/false true Checks the data resiliency status of the Nutanix cluster OK Data relisency status is possible
Critical Data relisency status is not possible

CVM

The CVM schema is used to configure health checks for the Nutanix Controller Virtual Machine (CVM).

Sub-Schema Setting Default Description Highlight
PowerState true/false true Highlights if the CVM is powered off Warning CVM is powered off

System

The System schema is used to configure health checks for the entire system.

Sub-Schema Setting Default Description Highlight
ImageState true/false false Highlights images which are in an inactive state Warning Image is in an inactive state
Licensing true/false true Highlights if no license is applied to the cluster Warning No license is applied to the cluster

Hardware

The Hardware schema is used to configure health checks for Nutanix hardware.

Sub-Schema Setting Default Description Highlight
DiskStatus true/false true Highlights disks where their status is not normal Critical Disk status is not normal
DiskMode true/false true Highlights disks which are offline Critical Disk mode is offline

Storage

The Storage schema is used to configure health checks for Nutanix storage containers.

Sub-Schema Setting Default Description Highlight
Compression true/false false Highlights storage containers which do not have compression enabled Warning Compression is disabled
CacheDedupe true/false false Highlights storage containers which do not have cache deduplication enabled Warning Cache deduplication is disabled
CapacityDedupe true/false false Highlights storage containers which do not have capacity deduplication enabled Warning Capacity deduplication is disabled
ErasureCoding true/false false Highlights storage containers which do not have erasure coding enabled Warning Erasure coding is disabled

VM

The VM schema is used to configure health checks for virtual machines.

Sub-Schema Setting Default Description Highlight
PowerState true/false true Highlights VMs which are powered off Warning VM is powered off
NicConnectionState true/false true Highlights VM NICs which are disconnected Warning VM NIC is disconnected

DataProtection

The DataProtection schema is used to configure health checks for Nutanix data protection.

Sub-Schema Setting Default Description Highlight
CompressOnWire true/false false Highlights if line compression is disabled Warning Line compression is disabled
BandwidthThrottling true/false false Highlights if bandwidth throttling is disabled Warning Bandwidth throttling is disabled
Proxy true/false false Highlights if proxy setting is disabled Warning Proxy setting is disabled

💻 Examples

# Generate a Nutanix Prism Element As Built Report for Nutanix cluster '172.16.30.110' using specified credentials. Export report to HTML & DOCX formats. Use default report style. Append timestamp to report filename. Save reports to 'C:\Users\Tim\Documents'
PS C:\> New-AsBuiltReport -Report Nutanix.PrismElement -Target '172.16.30.110' -Username 'admin' -Password 'nutanix/4u' -Format Html,Word -OutputFolderPath 'C:\Users\Tim\Documents' -Timestamp

# Generate a Nutanix Prism Element As Built Report for Nutanix cluster '172.16.30.110' using specified credentials and report configuration file. Export report to Text, HTML & DOCX formats. Use default report style. Save reports to 'C:\Users\Tim\Documents'. Display verbose messages to the console.
PS C:\> New-AsBuiltReport -Report Nutanix.PrismElement -Target '172.16.30.110' -Username 'admin' -Password 'nutanix/4u' -Format Text,Html,Word -OutputFolderPath 'C:\Users\Tim\Documents' -Verbose

# Generate a Nutanix Prism Element As Built Report for Nutanix cluster '172.16.30.110' using stored credentials. Export report to HTML & Text formats. Use default report style. Highlight environment issues within the report. Save reports to 'C:\Users\Tim\Documents'.
PS C:\> $Creds = Get-Credential
PS C:\> New-AsBuiltReport -Report Nutanix.PrismElement -Target '172.16.30.110' -Credential $Creds -Format Html,Text -OutputFolderPath 'C:\Users\Tim\Documents' -EnableHealthCheck

# Generate a single Nutanix Prism Element As Built Report for Nutanix clusters '172.16.30.110' and '172.16.30.130' using specified credentials. Report exports to WORD format by default. Apply custom style to the report. Reports are saved to the user profile folder by default.
PS C:\> New-AsBuiltReport -Report Nutanix.PrismElement -Target '172.16.30.110','172.16.30.130' -Username 'admin' -Password 'nutanix/4u' -StyleFilePath 'C:\Scripts\Styles\MyCustomStyle.ps1'

# Generate a Nutanix Prism Element As Built Report for Nutanix cluster '172.16.30.110' using specified credentials. Export report to HTML & DOCX formats. Use default report style. Reports are saved to the user profile folder by default. Attach and send reports via e-mail.
PS C:\> New-AsBuiltReport -Report Nutanix.PrismElement -Target '172.16.30.110' -Username 'admin' -Password 'nutanix/4u' -Format Html,Word -OutputFolderPath 'C:\Users\Tim\Documents' -SendEmail