Журналы aws: указанная группа журналов не существует - PullRequest
3 голосов
/ 31 марта 2019

Я пытаюсь получить журналы из Cloudwatch с использованием этого интерфейса командной строки:

cat cli-get-log-events.json    
{
    "logGroupName": "/aws/lambda/my-group", 
    "logStreamName": "2019/03/30/[$LATEST]dec1626296d84819be42f2ef615f292e", 
    "startTime": 1553977650000, 
    "endTime": 1553977748000, 
    "limit": 10, 
    "startFromHead": true
}


aws logs get-log-events --cli-input-json file://cli-get-log-events.json

Но я вижу эту ошибку в ответе:

Произошла ошибка (ResourceNotFoundException)при вызове операции GetLogEvents: указанная группа журналов не существует.

1 Ответ

2 голосов
/ 04 апреля 2019

Проблема заключалась в том, что моя группа журналов находилась в другом аккаунте.

Я смог понять свою проблему, когда попытался перечислить все группы журналов, начиная с общего префикса, например вместо «my-lambda» я использовал «my»:

aws logs describe-log-groups --log-group-name-prefix /aws/lambda/my

Как только я понял, что для префикса, в котором ожидалось много групп журналов, не было перечислено ни одной группы журналов, а другие префиксы отображали некоторые группы журналов, я понял, что мне нужно использовать другую учетную запись. Я использовал профили CLI AWS для доступа к этой учетной записи с использованием:

aws logs describe-log-groups --profile prd --log-group-name-prefix /aws/lambda/my

затем я увидел множество ожидаемых групп журналов, подтверждающих их существование в нужном аккаунте.

Исправление для получения необходимых мне журналов должно быть таким:

aws logs get-log-events --profile prd --cli-input-json file://cli-get-log-events.json

К сожалению, я получаю следующую ошибку:

Произошла ошибка (ResourceNotFoundException) при вызове операции GetLogEvents: указанный поток журнала не существует.

Существует упомянутое решение для этого сообщения об ошибке по адресу: Имя потока журнала AWS Cloudwatch не распознано

Но в моем случае, я думаю, что просто скопировал неправильное имя потока журнала. Я снова взял имя потока из консоли и вставил его в мой входной файл cli.

Мое окончательное использование:

aws logs get-log-events --cli-input-json file://cli-get-log-events.json --profile prd > logs-xyz.json
...