Simple logging en python.

Tras muchas idas y venidas con la gestión de logs en python, he llegado a este tutorial de python que resume bastante bien la gestión más básica que se puede hacer en una aplicación con los logs:
En mi caso, los requisitos son:
– El log se guarda en fichero.
– El fichero debe rotar.
– Desde cualquier clase del workspace se puede acceder al log

import logging
import logging.handlers as handlers
 
# Se le puede poner cualquier nombre

logger = logging.getLogger(‘mi_app_name’)
logger.setLevel(logging.INFO)


#Log handler to file:
logHandler = handlers.RotatingFileHandler(‘mi_archivo_salida.log’, maxBytes=1000, backupCount=2)
logHandler.setLevel(logging.INFO)
# output format
formatter = logging.Formatter(‘%(asctime)s – %(name)s – %(levelname)s – %(message)s’)
logHandler.setFormatter(formatter)


logger.addHandler(logHandler)


# Comprobar que todos los logs van al mismo fichero:
logger.info(“Primer mensaje al log de tipo INFO”)
logger.error(“Primer mensaje al log de tipo ERROR”)
En cada clase que se vaya a usar el log, se instancia en el init, y luego se usa como un atributo de la clase:

class ejemplo:
“”” Clase de ejemplo para ver el log “””


def __init__(self):
“””Inicializa el objeto “””
self.logger = logging.getLogger(‘mi_app_name’) # Configurar el log.
 
     def metodo1. (self):
“”” Metodo 1 “””

self.logger.info(‘Mensaje de ejemplo 1’)

 
 
Para saber mucho más sobre los logs en python: https://docs.python.org/3/howto/logging-cookbook.html

Vmware: Depuración de errores de ESXi

Esta es la guía de pasos para depurar un error de un host ESXi de vmware.

Diagnóstico: El host ESXi aparece en el inventario como Disconnected.

Intentar reconectar

Si funciona, ha sido un error de red puntual.

Intentar acceder directamente al host con vsphere vclient

Ver si las máquinas aún están ejecutando. Si están ejecutando, parece un error de conexión host esxi con vcenter.

Si no podemos acceder al host, ni desde la misma subred, parece que parte de los servicios de esx se han caido. Intentamos acceder a través de la consola o de ssh.

Ver la consola local del host (esxi console)

Si hay un pantallazo morado, es momento de reiniciar, y luego leerse los logs a ver qué ha pasado.

Si no hay pantallazo morado, activar la consola ESXi

  1. Ver los logs: tail -f /var/log/?
  2. Probar la conectividad con vcenter mediante ping y traceroute
  3. Ver si es un problema con la vlan de conexión