data -->

Como facturar gratis tus VMs con VMware vCenter (Free Billing)

Posted by José Manuel Hernández on


Alguna vez puede que sea necesario facturar o conocer el coste de nuestras máquinas virtuales, para ello VMware usa una herramienta llamada VMware Chargeback.
Esta vez os voy a enseñar un método para poder facturar las máquinas virtuales de forma automática usando la base de datos de vCenter y sin coste alguno.

Como sabéis, los datos de todas las máquinas virtuales se almacenan en la base de datos de vCenter, vamos a aprovechar esto para poder generar un listado con los datos que nos interese de cada máquina (vCPUs, Memoria, Disco, etc.) para poder facturar estas máquinas a clientes, departamentos, etc.

En este supuesto vamos a usar los valores típicos que usa un proveedor de Cloud para facturar las VMs. (vCPUs, Memoria y Disco).
A parte de estos valores, es necesario que cada máquina tenga un identificador para asociarlo a un cliente o proyecto.
Este identificador podría establecerse de varios modos, nosotros vamos a usar el campo Anotations > Notes de cada VM para ello. Así que en cada máquina le estableceremos un valor dentro de las anotaciones, este valor será el que relacionemos con el cliente o departamento.

Ej.:
Cod. Cliente: 123400







Una vez tengamos anotado el campo notes en todas las VMs que nos interesen facturar, montaremos la consulta según nuestra necesidad, en este ejemplo seleccionaremos los siguientes campos:

v.ANNOTATION: Campo anotación donde añadimos el valor cod. cliente  u otro necesario.
v.MEM_SIZE_MB: Tamaño de memoria en MB. 
v.NUM_VCPU: Número de vCPUs.
AGGR_COMMITED_STORAGE_SPACE: Espacio usado de almacenamiento total en bytes (B). (Recomiendo pasar a GB)
* Se supone que conocéis el modo de conectar con la BBDD. La base de datos  del ejemplo se llama VCENTER.

Consulta:
USE VCENTER
SELECT v.NAME, v.ANNOTATION, v.MEM_SIZE_MB, v.NUM_VCPU, AGGR_COMMITED_STORAGE_SPACE
FROM VPXV_VMS AS v LEFT OUTER JOIN VPXV_VM_FIELDS AS f ON v.VMID = f.VMID
ORDER BY f.FIELDVALUE, v.NAME ASC


El resultado será una tabla con los datos necesarios para facturar. 




En nuestro caso hemos integrado esta consulta con el ERP de la empresa, obteniendo una facturación automática de las VMS a los departamentos que las usan. Se le ha aplicado un coste unitario a cada elemento (es decir, precio a cada vCPU, MB de RAM y GB en Disco) y tan felices.

Puedes jugar con los días que lanzas la consulta por si quieres hacer una facturación por hora, día, mes. etc...

En nuestro caso, facturamos las máquinas registradas en vCenter, si quieres facturar solo las que están encendidas puedes añadir a la consulta el campo POWER_STATE y filtrar que las VMs que estén a ON.


Nos vemos pronto!

José Manuel Hernández