El tráfico de datos es un factor de costo importante en un clúster de MongoDB Atlas. Ser capaz de desglosar el tráfico por nombre de colección o incluso por tipo de consulta podría ayudar a identificar consultas y operaciones ineficientes que provocan un alto tráfico de datos como primer paso para optimizarlas.
Según el soporte de MongoDB Atlas (a partir de marzo de 2022), actualmente no existe una forma nativa de desglosar el tráfico de datos por otra cosa que no sea un nodo de clúster. Entonces, la solución solo puede estar en algún lugar del lado del cliente, en mi caso específico, el servidor que usa el controlador MongoDB Node.js para realizar solicitudes al clúster MongoDB Atlas.
El enfoque obvio sería construir una capa sobre el controlador MongoDB Node.js para registrar los tamaños de datos para todos los datos de solicitud enviados y recibidos y calcular las métricas a partir de eso.
Sin embargo, el servidor que realiza las solicitudes se ejecuta en un entorno Node.js en una instancia EC2 en AWS, por lo que me pregunto si existe un enfoque más elegante con AWS CloudWatch. El desafío es que las solicitudes deben desglosarse por colección MongoDB y tipo de consulta MongoDB, que es información codificada en el cuerpo de la solicitud, no en la URL.