В настоящее время, в консоли AWS, я не думаю, что именно эта функция есть там, где вы можете увидеть журнал выше или ниже события, которое вы ищете. Тем не менее, вы можете добиться того же с помощью AWS CLI.
Я постараюсь объяснить процесс пошагово.
Шаг 1: Сначала вам нужно перечислить имя всех потоков журнала, присутствующих в указанной группе журналов. Для этого вам нужно выполнить это.
Обратите внимание, что Я предполагаю, что у вас настроен требуемый флаг (--region) в файле ~ / .aws / config и вашем EC2. Экземпляр имеет необходимые разрешения для выполнения этой команды.
aws logs describe-log-streams --log-group-name /aws/lambda/your-log-group-name
Пример выходных данных этого будет
{
"logStreams": [
{
"creationTime": 1555419320137,
"lastEventTimestamp": 1555419320192,
"logStreamName": "2019/04/16/[$LATEST]589f67272fb74720a39c26761d27677d",
"firstEventTimestamp": 1555419320192,
"uploadSequenceToken": "49592576081603401156387322860116873098580931963181347106",
"storedBytes": 371,
"lastIngestionTime": 1555419335277,
"arn": "arn:aws:logs:ap-southeast-1:7442576962489:log-group:/aws/lambda/your-log-group-name:log-stream:2019/04/16/[$LATEST]589f67272fb74720a39c26761d27677d"
}
]
}
Step2: Вам нужно извлечь logStreamName из вышеприведенного вывода JSON. Как только вы знаете имя потока, вам нужно найти весь журнал, соответствующий этому потоку журнала. Для этого вам нужно выполнить это:
aws logs get-log-events --log-group-name /aws/lambda/your-log-group-name --log-stream-name 2019/04/16/[\$LATEST]589f67272fb74720a39c26761d27677d
Обратите внимание, что я поставил (escape-последовательность) перед символом $ в имени потока журнала. Если вы этого не сделаете, вы получите эту ошибку
An error occurred (ResourceNotFoundException) when calling the GetLogEvents operation: The specified log stream does not exist.
Пример вывода этого будет:
{
"nextBackwardToken": "b/34867571926926708897842553944026580452662164381436805120",
"nextForwardToken": "f/34867572103816219812587456720876035042399810347687804938",
"events": [
{
"ingestionTime": 1563516014935,
"message": "[INFO]\t2019-07-19T05:59:59.947Z\t1dc366b5-d802-4947-931d-8801d6d133dd\tThe length of edits query object is 73067\n",
"timestamp": 1563515999947
},
{
"ingestionTime": 1563516014935,
"message": "REPORT RequestId: 1dc366b5-d802-4947-931d-8801d6d133dd\tDuration: 7931.94 ms\tBilled Duration: 8000 ms \tMemory Size: 1024 MB\tMax Memory Used: 393 MB\t\n",
"timestamp": 1563516007802
}
]
}
Обратите внимание, что каждое событие в потоке журнала будет иметь ingestionTime, сообщение и метка времени. Вы можете перенаправить вывод этой команды в файл и использовать соответствующую операцию grep.
Это с точки зрения CLI. Но вы также можете получить некоторую помощь в самой консоли.
вы сможете увидеть все события, которые соответствуют вашей строке поиска и соответствующему имени потока журнала (это произойдет, когда вы нажмете на Поиск Группа журналов с указанием c группы журналов). Вам нужно нажать на ссылку потока журнала, и вы сможете увидеть весь журнал в этом конкретном потоке журнала.
Я понимаю, что вы не сможете увидеть все из них только на одной странице, вам нужно нажать на каждую из ссылок потока журнала, чтобы увидеть журнал.
Надеюсь, это поможет.