MongoDB Search activa las alertas de MongoDB Search cuando la cantidad de CPU y memoria utilizadas por los procesos de MongoDB Search alcanza un umbral específico. Si el proceso de búsqueda (mongot) se queda sin memoria, la indexación y las queries fallan. Se pueden configurar las condiciones de alerta de MongoDB Search en el modal de configuración de alertas del proyecto. También se pueden ver las métricas de MongoDB Search con la supervisión de clúster.
ADVERTENCIA: Si particiona una colección que ya tiene un índice de MongoDB Search, es posible que experimente un breve período de resultados de búsqueda incompletos mientras el índice se está construyendo en una partición. Además, si añades una partición a una colección particionada que contiene un índice de MongoDB Search, es posible que las consultas de búsqueda contra esa colección devuelvan resultados incompletos hasta que se complete el proceso de sincronización inicial en las particiones añadidas. Para obtener más información, consulta el proceso de sincronización inicial.
Condiciones de alerta
Puedes configurar las siguientes condiciones de alerta en la página de Configuración de alertas a nivel de proyecto para activar alertas.
Atlas Search: Index Replication Lag ocurre si el número aproximado de milisegundos que MongoDB Search está retrasado en la replicación de cambios desde el oplog de mongod está por encima o por debajo del umbral.
Si el atraso de la replicación crece lo suficiente como para que mongot quede rezagado respecto de la oplog window configurada, mongot ya no puede sincronizarse incrementando. Cuando esto ocurre, mongot realizará automáticamente una reconstrucción completa del índice. Durante la reconstrucción, las consultas de búsqueda seguirán funcionando pero devolverán resultados anteriores.
Para reducir el atraso de la replicación:
Aumente el tamaño de su oplog para darle a
mongotmás tiempo para sincronizarse durante ráfagas de escritura. Puedes configurar el tamaño mínimo del Oplog en la configuración del clúster.Escale sus nodos de búsqueda para dar a
mongotmás CPU y memoria para la replicación. Para obtener más información sobre cómo añadir o escalar Search nodos, consulta Consejos para dimensionar y escalar Search nodos.Reducir el volumen de picos de guardar agrupando o limitando (throttling) grandes operaciones masivas cuando sea posible.
Supervise el volumen de escritura junto con el atraso de la replicación. Un repentino aumento en el rendimiento de escritura es un activador común para el agotamiento del oplog. Para obtener más información sobre la supervisión del volumen de escritura y la resolución de problemas, consulta Solución de problemas de Oplog.
Umbral recomendado: Establezca esta alerta muy por debajo de la duración de su oplog window. Por ejemplo, si tu ventana de oplog es de 24 horas, considera alertar al 30--50% de esa ventana (p.ej., 8--12 horas) para darte tiempo de responder antes de que mongot desaparezca del oplog.
Atlas Search: Index Size on Disk Ocurre si el tamaño total de todos los índices de MongoDB Search en disco, en bytes, supera o está por debajo del umbral.
Atlas Search: Mongot paused initial sync ocurre si la sincronización inicial se interrumpe por el proceso de búsqueda de MongoDB mongot debido a una alta utilización del disco.
Cuando falla una compilar de sincronización inicial, Atlas puede tomar una de las siguientes acciones según el motivo del error:
Remover el índice fallido: Atlas remueve el índice por completo y debes reconstruirlo. Esto sucede cuando el índice no se puede recuperar.
Remover el progreso de compilación parcial: Atlas conserva la definición del índice, pero remueve el progreso de compilación parcial para que la compilación pueda reiniciarse desde cero.
Conserve el progreso de la compilación parcial y reutilícelo: Atlas conserva los datos de compilar parcial en el disco. El trabajo completado anteriormente se puede reutilizar durante la recuperación cuando se reanuda el compilar.
Conserve el progreso de la compilación parcial, pero reinicie desde cero: Atlas conserva los datos de compilación parcial en el disco, pero reinicia la compilación desde cero sin reutilizar el trabajo anterior.
Atlas Search: Mongot is approaching replication stop threshold ocurre si el uso del disco en un nodo de búsqueda es mayor o igual al 85%.
Atlas Search: Max Number of Lucene Docs se ejecuta automáticamente por defecto. Esta alerta se produce si el número límite superior de Lucene Docs utilizados para almacenar los índices MongoDB Search de un conjunto de réplicas o partición determinado supera el umbral.
Atlas Search: Mongot stopped replication se ejecuta automáticamente por defecto.
Esta alerta sólo ocurre en Nodos de búsqueda dedicados cuando la replicación se interrumpe por el proceso MongoDB Search mongot debido a la alta utilización del disco. La replicación se pausa cuando la utilización del disco alcanza el 90% y se reanuda automáticamente cuando la utilización cae por debajo del 85%.
Cuando la replicación está en pausa, los nodos de búsqueda podrían seguir sirviendo queries, pero los datos replicados podrían quedar desactualizados. Por ejemplo, si mongot ya se está ejecutando, las asignaciones de sinónimos podrían permanecer cargadas, pero podrían no reflejar las actualizaciones recientes. Si Atlas aprovisiona un nuevo nodo de búsqueda mientras la replicación está en pausa, es posible que el nuevo proceso de mongot no tenga asignaciones de sinónimos disponibles.
La replicación pausada también puede retrasar o impedir el provisionamineto rápido de nodos de búsqueda, ya que depende de que Atlas replique una copia reciente del índice al escalar los nodos de búsqueda.
Si la replicación se pausa durante un período prolongado, el proceso mongot puede salirse del oplog. Si mongot se cae del oplog, Atlas reconstruye el índice.
Para evitar que mongot caiga fuera del oplog:
Potencia tus Search nodos para reducir el uso del disco.
Borrar los índices de MongoDB Search no utilizados.
Agregar nodos de búsqueda adicionales.
Crea particiones en tu clúster para distribuir mejor los datos y reducir la presión sobre el disco.
Atlas Search: Number of Error Queries ocurre si el número de consultas para las que MongoDB Search no puede devolver una respuesta está por encima o por debajo del umbral.
Atlas Search: Number of Successful Queries ocurre si el número de consultas para las que MongoDB Search devolvió una respuesta correctamente está por encima o por debajo del umbral.
Atlas Search: Total Number of Queries ocurre si el número de consultas enviadas a MongoDB Search está por encima o por debajo del umbral.
Atlas Search Opcounter: Delete ocurre si el número total de documentos o campos (especificados en la definición del índice) eliminados por segundo está por encima o por debajo del umbral.
Atlas Search Opcounter: Getmore se activa si el número total de getmore comandos ejecutados en todas las queries de MongoDB Search por segundo está por encima o por debajo del umbral.
Atlas Search Opcounter: Insert ocurre si el número total de documentos o campos (especificados en la definición del índice) que MongoDB Search indexa por segundo está por encima o por debajo del umbral.
Atlas Search Opcounter: Update ocurre si el número total de documentos o campos (especificados en la definición del índice) que MongoDB Search actualiza por segundo supera o no alcanza el umbral.
Insufficient disk space to support rebuilding search indexes se ejecuta automáticamente por defecto. Esta alerta se produce cuando el clúster se queda sin suficiente espacio libre en disco para soportar los índices de MongoDB Search.
Nota
Esta alerta podría aparecer cuando Atlas actualice automáticamente sus índices de búsqueda para habilitar nuevas funcionalidades. Tu clúster debe tener suficiente espacio en disco tanto para la versión anterior como para la nueva del índice. Si la reconstrucción aumenta el uso del espacio en disco hasta 90% o más, Atlas incrementa el almacenamiento del clúster si has habilitado el escalado automático. Luego de completar la actualización del índice, Atlas elimina la versión antigua del índice, lo que libera espacio en el disco.
Search Memory: Resident ocurre si el total de bytes de memoria residente ocupado por el proceso MongoDB Search está por encima o por debajo del umbral.
Search Memory: Shared ocurre si el total de bytes de memoria compartida ocupados por el proceso de búsqueda de MongoDB está por encima o por debajo del umbral.
Search Memory: Virtual se produce si el número total de bytes de memoria virtual ocupados por el proceso de MongoDB Search supera o queda por debajo del umbral.
Search Process: CPU (Kernel) % ocurre si el porcentaje de tiempo que la CPU dedicó al servicio de llamadas del sistema operativo para el proceso MongoDB Search supera el umbral.
Search Process: CPU (User) % sucede si el porcentaje de tiempo que la CPU dedica a atender el proceso de MongoDB Search supera el umbral.
Search Process: Disk space used ocurre si el total de bytes de espacio en disco utilizado por el proceso de MongoDB Search supera el umbral.
Search Process: Ran out of memory se ejecuta automáticamente por defecto. Puedes configurar la configuración de la alerta para desactivar esta notificación. Esta alerta ocurre cuando el proceso de búsqueda (mongot) se queda sin memoria. Cuando el proceso de búsqueda se queda sin memoria, la indexación y las queries fallan.
Desencadenantes comunes
Las alertas de MongoDB Search suelen ocurrir cuando se intenta compilar un índice de búsqueda grande o complejo. Estos índices permanecen en la fase Initial Sync hasta que se resuelva el problema de memoria.
Soluciona el problema inmediato
Si el proceso de búsqueda (mongot) se queda sin memoria o espacio en disco, puede actualizar su clúster para solucionar el problema inmediato. Puedes seleccionar un nivel de clúster con más memoria, almacenamiento y IOPS.
Implemente una solución a largo plazo
Para evitar alertas de MongoDB Search en el futuro, revise cuidadosamente la Mejorar el rendimiento de MongoDB Search para MongoDB Search.
Para optimizar tus índices, te recomendamos implementar nodos de Búsqueda dedicados, lo que te permite escalar tu clúster de Atlas y $search cargas de trabajo de forma independiente. Los nodos de búsqueda dedicados solo ejecutan el proceso mongot y, por lo tanto, mejoran la disponibilidad, el rendimiento y el equilibrio de carga del proceso mongot.
Supervisa tu progreso
Consulta las gráficas de MongoDB Search disponibles para supervisar las métricas de MongoDB Search.
Supervise las métricas de MongoDB Search para evaluar y optimizar sus índices de MongoDB Search.
Para obtener más información, consulte Ver métricas de clúster