ESXi health status

This is a perl script which will generate health report for ESXi server. You need to have vSphere CLI installed (note: with VSphere CLI 6.5, you also have to install Strawberry Perl or ActivePerl. The script can generate text or HTML reports, and automatically mail them.

esxi_health_status.pl - ESXi health report script
mail_health_report.cmd - simple wrapper for Windows
mail_health_report.sh - simple wrapper for Linux

The easiest way to use the script is to download the perl script and the wrapper for your OS. Open the wrapper in a text editor and change the values to match your setup, then put the wrapper in cron or Task Scheduler.

Creating a limited account for health check script

ESXi Web UI:
  1. Log in to ESXi Web UI as root
  2. Expand Host, click Manage and then click Security & Users tab
  3. Click Roles and Add role...
  4. Select a name for the role (eg. Health), then click Global and check Health, then click Add.
  5. Click Users and Add user...
  6. Set a login name and password for the user and click Add
  7. Right-click Manage (under Host) and click Permissions
  8. Click Add user..., select the user and role you created, then click Add user
  9. With this the user account creation is complete, and you can use this user with the health report script
VSphere Client:
  1. Log in to vSphere Client as root
  2. Click Home and then click Roles
  3. Right-click inside the Roles pane and choose Add...
  4. Select a name for the role (eg. Health), expand All roles, Global and check Health, then click OK.
  5. Click Home again, then click Inventory and go to Users tab
  6. Right-click inside the window and choose Add...
  7. Set a login name and password for the user and click OK
  8. Go to Permissions tab, right-click inside the window and choose Add permision...
  9. Click Add... under Users and Groups, double-click the user you created and click OK
  10. Under Assigned Role choose the role you created and click OK
  11. With this the user account creation is complete, and you can use this user with the health report script