Tener monitoreado a vSphere es esencial para saber cómo va a performar el hypervisor y por consiguiente nuestras máquinas virtuales.

Si bien InfluxDB v2.0 aún está en beta, ya se está trabajando para tener una buena cantidad de dashboards listos para que el onboarding de los nuevos usuarios sea más raṕido.

Particularmente comencé hace unas semanas a colaborar con el armado de esos dashboards, uno de ellos es este, el de vSphere y en este artículo, te voy a mostrar como desplegarlo en InfluxDB v2.0.

Lo que debemos hacer primero es pasar como variable de entorno algunos datos para importar el template. En mi caso, estoy corriendo InfluxDB v2.0 en un contenedor en Docker, así que el proceso que voy a mostrar esta un poco atado a eso.

Lo primero que vamos a hacer es descargar el template desde acá:

influxdata/community-templates
A collection of InfluxDB Templates provided by the Influx community - influxdata/community-templates

Podemos ejecutar desde la terminal la descarga al archivo directamente con este comando:

wget https://raw.githubusercontent.com/influxdata/community-templates/master/vsphere/vsphere.yml

Para importarlo, primero debemos hacer copiar ese archivo vsphere.yml hacia adentro del contenedor.

$ docker cp vsphere.yml <id-contenedor>:/

Copiado el archivo, vamos a exportar las variables de entorno que necesitas para importar el archivo, estas son. El token de autenticación y la definición de la organización. En mi caso, la organización se llama "data" y el token, lo pueden sacar desde la mismísima UI de InfluxDB, desde la sección "tokens".

$ export INFLUX_ORG=data
$ export INFLUX_TOKEN="tutoken"

Una vez especificadas estas variables, vamos a proceder a importar el template. Para eso vamos a ejecutar lo siguiente:

$ docker exec -it <id-contenedor> influx pkg -f vsphere.yml -o data -t $INFLUX_TOKEN

Si todo esta bien, nos debería devolver lo siguiente:

LABELS    +add | -remove | unchanged
+-----+--------------------------+------------------+---------------+---------+-------------+
| +/- |       PACKAGE NAME       |        ID        | RESOURCE NAME |  COLOR  | DESCRIPTION |
+-----+--------------------------+------------------+---------------+---------+-------------+
|     | distracted-yonath-5cb001 | 05bb9cd40c198000 | vsphere       | #326BBA |             |
+-----+--------------------------+------------------+---------------+---------+-------------+
|                                                                      TOTAL  |      1      |
+-----+--------------------------+------------------+---------------+---------+-------------+

BUCKETS    +add | -remove | unchanged
+-----+-----------------------+------------------+---------------+------------------+-------------+
| +/- |     PACKAGE NAME      |        ID        | RESOURCE NAME | RETENTION PERIOD | DESCRIPTION |
+-----+-----------------------+------------------+---------------+------------------+-------------+
|     | noshing-fermat-5cb005 | 05bc8d7bb65cb000 | vsphere       | 0s               |             |
+-----+-----------------------+------------------+---------------+------------------+-------------+
|                                                                       TOTAL       |      1      |
+-----+-----------------------+------------------+---------------+------------------+-------------+

DASHBOARDS    +add | -remove | unchanged
+-----+--------------+----+---------------+-------------+------------+
| +/- | PACKAGE NAME | ID | RESOURCE NAME | DESCRIPTION | NUM CHARTS |
+-----+--------------+----+---------------+-------------+------------+
| +   | vsphere      |    | vsphere       |             | 8          |
+-----+--------------+----+---------------+-------------+------------+
|                                              TOTAL    |     1      |
+-----+--------------+----+---------------+-------------+------------+

TELEGRAF CONFIGURATIONS    +add | -remove | unchanged
+-----+--------------+----+---------------+-------------+
| +/- | PACKAGE NAME | ID | RESOURCE NAME | DESCRIPTION |
+-----+--------------+----+---------------+-------------+
| +   | vsphere      |    | vsphere       |             |
+-----+--------------+----+---------------+-------------+
|                               TOTAL     |      1      |
+-----+--------------+----+---------------+-------------+

LABEL ASSOCIATIONS    +add | -remove | unchanged
+-----+---------------+-----------------------+---------------+------------------+--------------------------+------------+------------------+
| +/- | RESOURCE TYPE | RESOURCE PACKAGE NAME | RESOURCE NAME |   RESOURCE ID    |    LABEL PACKAGE NAME    | LABEL NAME |     LABEL ID     |
+-----+---------------+-----------------------+---------------+------------------+--------------------------+------------+------------------+
| +   | buckets       | noshing-fermat-5cb005 | vsphere       | 05bc8d7bb65cb000 | distracted-yonath-5cb001 | vsphere    | 05bb9cd40c198000 |
+-----+---------------+-----------------------+---------------+------------------+--------------------------+------------+------------------+
+-----+---------------+-----------------------+---------------+------------------+--------------------------+------------+------------------+
| +   | dashboards    | vsphere               | vsphere       |                  | distracted-yonath-5cb001 | vsphere    | 05bb9cd40c198000 |
+-----+---------------+-----------------------+---------------+------------------+--------------------------+------------+------------------+
|                                                                                                               TOTAL    |        2         |
+-----+---------------+-----------------------+---------------+------------------+--------------------------+------------+------------------+

Confirm application of the above resources (y/n): 

Confirmamos con "y" volverá a respondernos con algo como esto:

LABELS
+--------------------------+------------------+---------------+--------------------------------+---------+
|       PACKAGE NAME       |        ID        | RESOURCE NAME |          DESCRIPTION           |  COLOR  |
+--------------------------+------------------+---------------+--------------------------------+---------+
| distracted-yonath-5cb001 | 05bb9cd40c198000 |    vsphere    |                                | #326BBA |
+--------------------------+------------------+---------------+--------------------------------+---------+
|                                                                           TOTAL              |    1    |
+--------------------------+------------------+---------------+--------------------------------+---------+

BUCKETS
+-----------------------+------------------+---------------+-----------+--------------------------------+
|     PACKAGE NAME      |        ID        | RESOURCE NAME | RETENTION |          DESCRIPTION           |
+-----------------------+------------------+---------------+-----------+--------------------------------+
| noshing-fermat-5cb005 | 05bc8d7bb65cb000 |    vsphere    |    inf    |                                |
+-----------------------+------------------+---------------+-----------+--------------------------------+
|                                                              TOTAL   |               1                |
+-----------------------+------------------+---------------+-----------+--------------------------------+

DASHBOARDS
+--------------+------------------+---------------+--------------------------------+
| PACKAGE NAME |        ID        | RESOURCE NAME |          DESCRIPTION           |
+--------------+------------------+---------------+--------------------------------+
|   vsphere    | 05c190fc44b41000 |    vsphere    |                                |
+--------------+------------------+---------------+--------------------------------+
|                                       TOTAL     |               1                |
+--------------+------------------+---------------+--------------------------------+

TELEGRAF CONFIGS
+--------------+------------------+---------------+--------------------------------+
| PACKAGE NAME |        ID        | RESOURCE NAME |          DESCRIPTION           |
+--------------+------------------+---------------+--------------------------------+
|   vsphere    | 05c190fba7341000 |    vsphere    |                                |
+--------------+------------------+---------------+--------------------------------+
|                                       TOTAL     |               1                |
+--------------+------------------+---------------+--------------------------------+

LABEL ASSOCIATIONS
+---------------+---------------+------------------+------------+------------------+
| RESOURCE TYPE | RESOURCE NAME |   RESOURCE ID    | LABEL NAME |     LABEL ID     |
+---------------+---------------+------------------+------------+------------------+
|    buckets    |    vsphere    | 05bc8d7bb65cb000 |  vsphere   | 05bb9cd40c198000 |
+---------------+---------------+------------------+------------+------------------+
|  dashboards   |    vsphere    | 05c190fc44b41000 |  vsphere   | 05bb9cd40c198000 |
+---------------+---------------+------------------+------------+------------------+
|                                                      TOTAL    |        2         |
+---------------+---------------+------------------+------------+------------------+

De esta manera, ya tenemos importado un bucket con el nombre de vSphere, el Dashboard, Labels y la configuración de Telegraf.

Una vez que esta importado el template, solo debemos especificar unas variables más, para este template, vamos a especificar, el host de InfluxDB, el Bucket, la organización, el host de vSphere con su usuario y contraseña.

En mi caso, es así:

export INFLUXDB_HOST=http://localhost:9999
export INFLUXDB_BUCKET=vsphere
export INFLUXDB_ORG=data
export VSPHERE_HOST=mivcenter/sdk
export VSPHERE_USER=tusuario
export VSPHERE_PASSWORD=tupassword

Una vez importado todo esto, debemos correr telegraf y vamos a tomar la configuración desde el InfluxDB, esto, es una funcionalidad nueva que no estaba presente en la versión 1.x y nos evita tener muchos archivos telegraf.conf y tener que hacer gestión sobre eso.

Así que sin más preámbulos, podemos correr Telegraf de la siguiente manera:

$ telegraf --config http://localhost:9999/api/v2/telegrafs/05c190fba7341000

En mi caso, después de un rato, el dashboard comenzo a mostrar información:

InfluxDB - Ignacio Van Droogenbroeck

Cómo ven, es muy sencillo comenzar a monitorear vSphere con InfluxDB. ¿Lo probaste? ¿Tuviste algún problema? No dudes en dejar algún comentario.