What is vCheck-NSX?
vCheck-NSX is an NSX-focussed reporting tool that can give you a periodic (i.e. Daily) look into the health of your platform.
- This tools is based on the awesome vCheck-vSphere project
- Initially developed against vSphere 6.0, PowerCLI 6.5 and NSX 6.2.4
- This report REQUIRES PowerCLI and PowerNSX installation
- If you have multiple NSX managers and vCenter Servers, create multiple copies of the vCheck-NSX folder
About vCheck
vCheck is a PowerShell HTML framework script, the script is designed to run as a scheduled task before you get into the office to present you with key information via an email directly to your inbox in a nice easily readable format. This script picks on the key known issues and potential issues scripted as plugins for various technologies written as Powershell scripts and reports it all in one place so all you do in the morning is check your email.
One of they key things about this report is if there is no issue in a particular place you will not receive that section in the email, for example if there are no datastores with less than 5% free space (configurable) then the disk space section in the virtual infrastructure version of this script, it will not show in the email, this ensures that you have only the information you need in front of you when you get into the office. This script is not to be confused with an Audit script, although the reporting framework can also be used for auditing scripts too. I don’t want to remind you that you have 5 hosts and what there names are and how many CPUs they have each and every day as you don’t want to read that kind of information unless you need it, this script will only tell you about problem areas with your infrastructure.
What is checked for in the NSX version?
The following items are included as part of the vCheck NSX download, they are included as vCheck Plugins and can be removed or altered very easily by editing the specific plugin file which contains the data. vCheck Plugins are found under the Plugins folder. For each check that’s written, here’s a brief description of what it does
Connection Plugin for NSX
Function
- Uses the nsxMgrCreds.xml file to connect through PowerNSX, to the NSX Manager
Future Developments
- Detect successful connection to NSX Manager – report if not
- Detect presence of PowerNSX – report if not
NSX Manager Resource Util
Function
- Check for CPU/RAM/Disk use on the NSX Manager
- Default thresholds for warnings are:
- CPU > 50%
- RAM > 75%
- Disk > 75%
NSX Manager Service Summary
Function
- Checks for the running state of the main services on the NSX Manager
- “NSX Replicator” i.e. Universal Sync Service
- “NSX Manager”
- “RabbitMQ”
- “vPostGres”
- “SSH Service”
- Compares the running state with the desired state set in the .ps1 file
- Alerts on any deviation from expected state
NSX Manager Low Uptime
Function
- Checks the uptime of the NSX Manager and reports if it’s less than the desired number of hours
- Can help you spot if the NSX Manager has been restarted in the last x Hours
Future Developments
- Check uptime of NSX controllers and rename this check to “NSX Low Uptime”
NSX Manager SSO and vCenter Connections
Function
- Checks for status of SSO and VC connections
- Compares against desired setting in the .ps1
- Alerts on any deviation from expected state
NSX Manager Backup Schedule
Function
- Checks the configuration of a backup, i.e. “Is one configured for ‘Hourly / Daily / Weekly’? “
Future Developments
- Check for recent backup success
-
Check for specific backup schedule
NSX Manager NTP Setting
Function
- Checks the NSX Manager for configured NTP servers against the specified entries in the .ps1
- Supports multiple NTP servers
Future Developments
- Confirm NTP configuration is working – detect time drift
NSX Controller Status Summary
Function
- Detects the number of deployed, running controllers and compares against the “3” specified in the .ps1
- Checks for the Ping and Activity status of all peers
- Throws warnings for any detected issues
- Handles the detection of Secondary Managers, with no controllers of their own
NSX Controller Upgrade Availability
Function
- Detects if NSX Manager is reporting that the controllers can be upgraded
NSX Controller Disk Latency
Function
- Detects if the NSX Controllers are warning about poor disk latency
NSX Syslog Settings
Function
- Checks for the configuration of the specified syslog server in the .ps1
- NSX Manager only supports a single syslog server, so does this check
Future Developments
- Expand the checks to include NSX Controller syslog configuration
NSX Host Channel Health
Function
- Checks the Channel Health for all controllers
- “Manager to Firewall Agent”
- “Manager to Control Plane”
- “Control Plane to Controller”
Future Developments
- Improve the detection of VMhosts that are configured for NSX use
NSX Connectivity Test
Function
- NOTHING AS YET, THIS IS CURRENTLY UNDER DEVELOPMENT
Future Developments
- Check VXLAN functionality by automating ping tests
Installing
Copy the vCheck folder to the desired location, note the content structure, in particular the Plugins folder. Before you can use vCheck-NSX, you need to create an NSX credentials XML file.
Use the following to create a credential interactively, then store it as an XML file
$newPScreds = Get-Credential -message “Enter the NSX manager admin creds here:” $newPScreds | Export-Clixml nsxMgrCreds.xml
Once you have the file, move it into the root of the “15 NSX” plugins folder overwriting the blank file that’s there Ensure only authorised users (i.e. Sys Admins) have access to the file
Having the creds stored as a secure file allows for the automation of vCheck script runs. If there’s a better way to store NSX Manager credentials, I’d like to know.
Once the files are in the correct location and the credentials XML file has been created, you need to start the installer. Open a PowerCLI window AS AN ADMINISTRATOR then run… vCheck.ps1 -config …which will start the process of configuring your install. During the process, your system will be tested for the installation of PowerNSX and if needed, an installation process will start.