Check VMware Host Uptime in 3 Ways
It is often handy to know how long your VMware ESXi host has been running, either for troubleshooting purposes, to diagnose stability issues, or to maintain a record of maintenance and other information regarding your VMware ESXi hosts making up VMware vSphere clusters. In this quick post, we will look at how to check VMware host uptime in 3 ways.
Why checking uptime is important
Checking your vSphere ESXi hosts’ uptime can help pinpoint issues with various hosts that may be having stability issues. VMware vSphere clusters are extremely good at handling failures in a very non-disruptive way. If a host crashes or goes down for some reason, vSphere HA kicks in and restarts the VM on a different host. If you do not monitor the environment that notes the downtime of the VMs or the host, this may even go unnoticed. Keeping a check on the host uptime values is a good way to notice anything odd in the environment from a stability standpoint.
Additionally, it can help catch if someone has rebooted a host without the proper change control in place and proper signoffs. An admin might reboot a host without properly communicating this. Monitoring uptime can also help catch someone trying to do something unscrupulous in the environment, such as a rogue administrator installing a rogue VIB and rebooting a host.
So, uptime is important. How can you easily keep a check on the uptime of your VMware ESXi hosts in the environment? Let’s take a look.
Check VMware Host Uptime in 3 ways
As it turns out, there are multiple ways to check your VMware ESXi host uptime in your vSphere environment. How can this be done? We will look at the following ways:
- vSphere Client
- ESXi command shell
- VMware PowerCLI
1. vSphere Client
The vSphere Client is useful to see all kinds of information regarding your vSphere environment. This includes seeing information about your ESXi host. One of the pieces of information on the ESXi host summary screen is Uptime.
2. ESXi command shell
The ESXi command shell provides an easy way to get the uptime of your ESXi host using a simple one-word command, similar to Linux.
As you can see, you simply type the uptime command and you will instantly get the uptime, including days, hours, minutes, and seconds.
3. VMware PowerCLI
Perhaps the most powerful way to check VMware host uptime is by using VMware PowerCLI. Using PowerCLI, you can not only check the uptime of a single host, but you can check an entire environment if you want. The returned information can be exported to a CSV or manipulated in other ways.
First, let’s take a look at a couple of PowerCLI commands to get the returned information we are looking for to display the uptime of a VMware ESXi host. The following code snippets come directly from the VMware Communities thread found here: List of ESXi hosts and uptime (days) – VMware Technology Network VMTN
To the get uptime in days, you can use the following:
Get-VMHost | Select Name,
@{N="Uptime"; E={New-Timespan -Start $_.ExtensionData.Summary.Runtime.BootTime -End (Get-Date) | Select -ExpandProperty Days}}
To get the specific last boot time along with the uptime, you can use the following code snippet:
Get-Vmhost | sort-object Name | Select-Object Name,
@{N="Last Boot (UTC)";E={$_.ExtensionData.Summary.Runtime.BootTime}},
@{N="Last Boot (Locale)";E={Convert-UTCtoLocal -UTCTime $_.ExtensionData.Sumary.Runtime.BootTime}},
@{N="Uptime (Locale)";E={getTimeSpanFormatted((Get-Date) - (Convert-UTCtoLocal -UTCTime $_ExtensionData.Summary.Runtime.BootTime))}}
You can use the Export-CSV to export the results to a CSV file to pull into Excel or some other tool.
Wrapping Up
Hopefully, this little overview of why pulling the uptime values of your hosts is important and how to check VMware Host Uptime in 3 Ways will help you easily pull this information in your environment.