Revisión: 28/11/2018
Siguiendo con el checklist de tareas de mantenimiento para Microsoft Exchange, en esta oportunidad vamos a hacer foco en las actividades que usualmente incluiríamos dentro de las tareas diarias.
En este sentido en el checklist agrupamos las siguientes tareas:
Estado de servicios de Exchange
Lo más sencillo para revisar la situación a nivel de servicios es ejecutar el siguiente comando desde el shell de Exchange:
Test-ServiceHealth
Para revisar el estado de un servidor específico:
Test-ServiceHealth –server nombre_servidor
Para revisar el estado de todos los servidores:
$servidores = Get-ExchangeServer
foreach ($servidor in $servidores) {Write-Host “Estado de servicios en servidor: $servidor” –ForeGroundColor Green ; Test-ServiceHealth –server $servidor}
Como alternativa siempre podemos ir a la consola de servicios y revisar servidor por servidor pero esto puede resultar poco práctico.
Chequeo de base de datos / replicación
Revisar si las bases se encuentran montadas, para esto podemos ejecutar:
Get-MailboxDatabase –Status | FT name, mounted
En caso de que la base este en DAG revisar el estado de la replicación (en este caso chequea localmente):
Get-MailboxDatabaseCopyStatus
Para ver réplicas en otros servidores:
Get-MailboxDatabaseCopyStatus –Server nombre_servidor
Para ver réplicas en todos los servidores:
Get-MailboxDatabaseCopyStatus *
En complemento también se podría usar Test-ReplicationHealth, pero en principio si todo figura ok no debería ser necesario. Más info sobre este comando en el siguiente artículo:
Ver tamaño de archivo EDB, para esto debemos ir a la ruta donde se encuentra alojada la base, para obtener esta información ejecutar:
Get-MailboxDatabase | fl name,edbfilepath
Por último, ver espacio en blanco dentro de la base, acá la idea es la siguiente, por más que se depure información de buzones, el archivo EDB de la base no va a disminuir en tamaño, sin embargo luego de actividades internas de mantenimiento se genera un espacio en blanco reutilizable. En este caso, por ejemplo si se eliminan 10GB de datos de una base cuyo archivo EDB tiene un tamaño total de 100GB, en lugar de bajar el tamaño del archivo a 90GB va a quedar a disposición este espacio en blanco y tendríamos unos 10GB de espacio utilizable antes de que este archivo crezca en tamaño:
Get-MailboxDatabase –Status | Ft Name, AvailableNewMailboxSpace
Chequeo de unidades
En cuanto al chequeo de unidades es conveniente revisar el espacio en las unidades de sistema, bases y logs.
En adición hacer seguimiento como para tener una idea de la variación a este nivel.
Colas de correo
A nivel de colas de correo uno esperaría que estas se liberen rápidamente aunque podría ser normal encontrar colas en estado de reintento (retry), por ejemplo cuando los usuarios envían correo a dominios que no existen.
Para ver las colas de correo en un servidor con Exchange podemos ejecutar:
Get-Queue
Para ver las colas en todos los servidores de transporte:
Get-TransportServer | Get-Queue
Revisión de event viewer
Estar al tanto de los eventos registrados en el visor de sucesos es importante no solo con el objetivo de resolver un tema que se presente sino que para estar familiarizados con los distintos eventos que se generan a diario en el servidor. De esta manera el día que se presenten problemas que tengan algún tipo de impacto en la plataforma vamos a poner especial foco en eventos inusuales.
Especificamente filtrar eventos críticos, de error y advertencia en el log de aplicación:
Hacer clic en Filter Current Log y seleccionar Critical, Error, Warning:
En caso de que se presenten problemas reales podemos incrementar el nivel de logging de tal forma de obtener más información y comenzar con el proceso de troubleshooting.
Revisión de respaldos
Independientemente de los distintos procesos asociados a los respaldos del correo es importante revisar a diario (dependiendo de la frecuencia de los respaldos) que la base de datos muestre la fecha del último backup completo. Si el backup completo no corre exitosamente podríamos enterarnos el día que la unidad de logs se quede sin espacio y en consecuencia se desmonten las bases dejando a todos los usuarios sin correo. Tener en cuenta que el backup completo es el que depura logs (o el incremental, dependiendo de la solución y estrategia de respaldos).
Para ver la fecha del último respaldo full ejecutar:
Get-MailboxDatabase –Status | FT Name,LastFullBackup
Por info sobre como respaldar las bases en Exchange 2013 / 2016 con Windows Server Backup ver el siguiente artículo:
Actualización de antivirus
En este caso tenemos 2 tipos de antivirus que podrían estar instalados en Exchange; el del sistema de archivos, genérico el cual debería contar con excepciones específicas para Exchange y por otro lado antivirus específico a nivel de correo. En ambos casos debemos asegurarnos de que se encuentren actualizados a todo nivel.
En el próximo artículo entramos en el detalle de las tareas semanales.
Por más información teórica y práctica sobre mantenimiento de Exchange Server, ver el siguiente recurso para miembros VIP del sitio (videos de entrenamiento):
Luis Garcia says
A nivel Antivirus de correo para Exchange 2013, que antivirus recomendais ?
Muchas gracias.
Luis
Daniel Núñez Banega says
Hola Luis, no tengo ninguna recomendación en particular mientras sea para la versión específica de Exchange. En cuanto al AV de sistema archivos lo más importante es que tenga correctamente configurada las excepciones para Exchange.
saludos
Kant says
Increíble ! Un gusto leerte y aprender de tus conocimientos!
A parte del blog tiene algún sitio más donde publiques cosas? Cada cosa que leo es breve, concisa e interesante
Daniel Núñez Banega says
Gracias por tus comentarios Kant.
Por el momento solo en el blog y el armado de cursos en la plataforma de capacitación.
saludos
Daniel Castro says
Hablando de monitoreo de bases de datos y en especifico de los comandos Get-MailboxDatabase | fl name,edbfilepath y Get-MailboxDatabase –Status | Ft Name, AvailableNewMailboxSpace
existe alguno para saber la ruta de los logs de las bases de datos y el especio que tenemos en cada una de ellas?
Daniel Núñez Banega says
Hola Daniel, por ejemplo para ver la ruta de los logs y del EDB ejecutas:
Get-MailboxDatabase | FL Name,EDBFilePath,LogFolderPath
Respecto a conocer el espacio libre en una unidad, no tenemos un comando específico de Exchange pero podes usar el cmdlet GET-WMIObject:
$servidor = «servidor1»
$unidades = get-wmiobject -computer $servidor -query «Select * from win32_logicaldisk where DriveType=3»
foreach($unidad in $unidades) {$dLetter = $unidad.DeviceID ; $fSpace = [math]::round(($unidad.FreeSpace/1GB),2); write-host «$dletter $fspace GB»}
Mario Simijaca says
Buenas Tardes Daniel.
Cada Articulo que publica es excelente, facil de enetnder y muy conciso.
Me gustaria saber que tan buena practica es mantener balanceadas las BD en un DAG de 2 nodos, yo lo hacia habitualmente pero recibi una nueva plataforma y el administrador me dijo que debia dejar las BD activas en un solo nodo, considero que es mejor balancearlas, pero a ciencia cierta no se si es una buena practica?
Gracias por sus comentarios y continuo leyendo todas sus publicaciones.
Daniel Núñez Banega says
Hola Mario, gracias por el comentario.
Esto depende de varios factores. He visto en clientes que por limitantes con la solución de respaldos siempre tengan que respaldar el nodo con las bases activas y por este motivo siempre dejen las bases en un mismo servidor.
Si uno sigue las mejores prácticas lo ideal sería distribuir las bases de datos de la manera más simétrica posible y que bajo un escenario normal las bases esten activas en distintos nodos pero dimensionados para soportar la carga frente a una eventualidad.
En definitiva, lo ideal sería tener las bases balanceadas o al menos no estar limitado en este sentido.
saludos
edgardo roa says
Estimado consulta, donde ver las conexiones simultaneas en exchange.
Felipe says
Excelentes temas! Muy agradecido por compartir sus conocimientos.
Saludos
Richard Molina says
Excelente temas gracias por compartir.
Tengo una pregunta, tengo exchange 2016 std y en las siguiente ruta (C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 0254219350) tengo una gran cantidad de archivos txt que me quita espacio en disco. yo movi la base de datos a otro disco con mayor capacidad pero los archivos txt se siguen generando en el disco C:\
Me gustaria mucho que me guiaras de que hacer con estos archivos.
Muchas Gracias
Daniel Núñez Banega says
Hola Richard, por lo que comentas me da la impresión de que a los archivos que haces referencia son transaction logs (extensión .log y de 1MB de tamaño).
Probablemente hayas movido la base pero no los logs. Te dejo un artículo que detalla cómo hacer esto: https://aprendiendoexchange.com/como-mover-una-base-de-datos-en-exchange-2013
gustavo garcia says
Buena tarde gracias por compartir tu experiencia en estos articulos, podrias decirme si hay alguna herramienta que nos de, ya sea en graficas o numeros un reporte del uso del buzon de cada usuario. Por ejemplo, cuantos correos recibio o envio en 1 dia, 1 semana, 1 mes etc.
Daniel Núñez Banega says
Hola Gustavo, comenzaría la búsqueda en la galería de Technet: https://gallery.technet.microsoft.com/exchange