Normalmente ejecuto una consulta como
fields @timestamp, @message | filter @message like /ERROR/ | sort @timestamp desc | limit 20¿Hay alguna forma de obtener líneas adicionales de contexto en torno a los mensajes que contienen "ERROR"? ¿Similar a las banderas A, B y C con grep?
Por ejemplo, si tengo un registro dado con las siguientes líneas
DEBUG Line 1 DEBUG Line 2 ERROR message DEBUG Line 3 DEBUG Line 4Actualmente obtengo el siguiente resultado
ERROR messagePero me gustaría obtener más líneas de contexto como
DEBUG Line 2 ERROR message DEBUG Line 3con la opción de obtener más líneas de contexto si quiero.
Descubrí que la solución más útil es hacer su consulta y buscar errores y obtener la identificación de la solicitud del campo "requestId" y abrir una segunda pestaña del navegador. En la segunda pestaña, realice una búsqueda en esa identificación de solicitud.
Ejemplo:
fields @timestamp, @message | filter @requestId like /fcd09029-0e22-4f57-826e-a64ccb385330/ | sort @timestamp asc | limit 500Con la consulta anterior, obtiene todos los mensajes de registro en el orden correcto para la solicitud donde ocurrió el error. Este es un ejemplo que funciona de inmediato con lambda. Pero si envía registros a CloudWatch de una manera diferente y no hay un ID de solicitud, sugeriría crear un ID de solicitud por solicitud u otro identificador que sea más útil para su caso de uso y enviarlo con su evento de registro.
En realidad, también puede consultar el @logStream , que en los resultados será un enlace al lugar exacto en el flujo de registro respectivo del partido:
fields @timestamp, @message, @logStream | filter @message like /ERROR/ | sort @timestamp desc | limit 20Eso le dará una columna similar a la más a la derecha en esta captura de pantalla:
Al hacer clic en el enlace de la derecha, se lo llevará y resaltará la línea de registro correspondiente. Me gusta abrir esto en una nueva pestaña y buscar contexto en la línea resaltada.
¡Espero que ayude!