Consultando AWS Logs desde la línea de órdenes

1 minute read

Lambda logs


Uno de los desarrolladores de la empresa me preguntó si había forma de ver las bitácoras de las funciones Lambda desde la línea de órdenes, para no tener la necesidad de entrar a la consola de AWS y verlos en CloudWatch Logs. Después de investigar un poco conseguí un proyecto en Github llamado awslogs que hace justamente esto. A continuación veremos cómo instalarlo y usarlo desde un entorno virtual de Python:

virualenv awslogs
source awslogs/bin/activate

pip install awslogs
pip install awscli

Lo primero que debemos saber son los grupos donde están definidos los logs de nuestras funciones Lambda, para ello usamos la CLI de AWS:


aws logs describe-log-grups --region us-east-1
{
    "logGroups": [
        {
            "arn": "arn:aws:logs:us-east-1:123456789123:log-group:/aws/lambda/get_transcription:*", 
            "creationTime": 1531834572841, 
            "metricFilterCount": 0, 
            "logGroupName": "/aws/lambda/get_transcription", 
            "storedBytes": 0
        },
        {
            "arn": "arn:aws:logs:us-east-1:264349563434:log-group:/aws/lambda/validate_time:*", 
            "creationTime": 1532118107128, 
            "metricFilterCount": 0, 
            "logGroupName": "/aws/lambda/validate_time", 
            "storedBytes": 0
        }
    ]
}

Ahora para verlos las bitácoras de, por ejemplo, la función get_transcription desde la línea de órdenes podemos ejecutar:

awslogs get  /aws/lambda/get_transcription --aws-region us-east-1  --watch  | cut -d " " -f 3-20

Y la salida sería algo como esto:

START RequestId: a2124cb1-818e-11e8-acc8-5bd968ce3fe1 Version: $LATEST
[DEBUG]	2018-07-23T15:39:50.422Z	a2124cb1-818e-11e8-acc8-5bd968ce3fe1	Searching id: e321-eaefe4311ca1
tuple indices must be integers or slices, not str: TypeError
recent call last):
File "/var/task/app/services/get_transcription.py", line 100, in lambda_handler
  date_text = field['transcription']
indices must be integers or slices, not str
END RequestId: a2124cb1-818e-11e8-acc8-5bd968ce3fe1
REPORT RequestId: a2124cb1-818e-11e8-acc8-5bd968ce3fe1	Duration: 265.66 ms	Billed Duration: 300 ms 	Memory Size: 128 MB	Max Memory Used: 33 MB

Referencias:

Leave a Comment