vSAN licenses are assigned per-cluster, so whilst the total number of vSAN licenses in a vCenter inventory might match the total number of vSAN host CPUs, they may not be assigned correctly to the clusters. This will trigger the critical vCenter alarm “License inventory monitoring”. This will also occur if a cluster is expanded (e.g. additional hosts and vSAN licenses are purchased) as it’s only possible to assign one license key to each cluster.
In the example screenshot here we have 2 vSAN license keys, each valid for 8 CPU. The total 16 CPU capacity matches the 16 CPU in use. However, one cluster has 10 CPUs (i.e. 5 dual socket hosts) and the other only 6 CPU. Therefore one license key is 2 CPU oversubscribed whilst the other has 2 free.
The method to resolve this is to use the MyVMware license portal to split and merge your pool of vSAN licenses until you have license keys where the capacities match your cluster sizes, and then re-license the vSAN environment. This VMware KB article explains in detail how to do this divide, and merging is a similar process on the same interface: https://kb.vmware.com/s/article/2006972
In the example screenshot above, this was a case of splitting one of the 8 CPUs into a 6 and a 2, and then merging that 2 with the remaining 8 CPU key to create a 10 CPU key and a 6 CPU key which matched the cluster sizes. The old 8-CPU key that was split was removed from the license inventory.