Doing rebalancing from vSphere web client works but is not optimal. Progress shown isn't a real indication (will just show 5%), default rebalance will balance disks within 30% of each other. Because the health check also checks for 30% variance, once one of the high/low variance disks is different by 1%, it can cause the health check to show a rebalance warning again.
Instead I would recommend using RVC to perform and monitor a rebalance VSAN 6.0 Part 9 - Proactive Re-balance - CormacHogan.com :
vsan.proactive_rebalance -s -v 0.10 -t <num of seconds to spend rebalancing> -i 300 -r 200000 <cluster num>
and use vsan.resync_dashboard <cluster num> to monitor the status
The above uses a variance of 10% (-v 0.10) instead of default 30%. Because the health check is checking for 30% variance, this should be better since you will be left with only 10% variance after rebalancing. The -r is the rate of resync change allowed (in MB per hour) per host.