Как удалить все группы журналов cloudwatch и поток по дате? - PullRequest
0 голосов
/ 18 декабря 2018

После некоторого времени использования AWS я обнаружил, что мои облачные часы заполнены устаревшими журналами, есть ли способ удалить все группы журналов и потоки по дате?Так что я могу очистить все журналы за предыдущий год.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Хотя вы можете установить срок хранения в потоке, как сказал @DominikHelps, он просто удаляет сообщения;он не удалит сам поток.

Вы можете использовать CLI для поиска потоков для группы журналов вместе со временем их создания:

aws logs describe-log-streams --log-group-name Example --output text --query 'logStreams[*].[creationTime,logStreamName]' | sort -rn

Это дает вам выводэто выглядит так:

1544374120302   stream1
1544373223032   stream2
1544365017774   stream3

Числа представляют собой метки времени эпох, в миллисекундах.Вы можете использовать такой инструмент, как this , чтобы перевести их в удобочитаемые метки времени.Затем, после того как вы определили поток (ы), который вы хотите удалить, вы можете снова использовать CLI:

aws logs delete-log-stream --log-group-name Example --log-stream-name stream1

Это довольно простой шаг от ручного выполнения этого действия до выполнения cronjob.А если вы не против программирования, превратите его в лямбду, которая вызывается запланированным событием CloudWatch Events.

0 голосов
/ 18 декабря 2018

Журналы по умолчанию хранятся неопределенно.

Как только вы можете установить это по группе журналов:

Хранение журналов - по умолчанию журналы хранятся неопределенно долго и никогда не истекают.Вы можете настроить политику хранения для каждой группы журналов, сохраняя неопределенный срок хранения или выбирая сроки хранения от 10 лет до одного дня.

Дополнительная информация здесь: https://docs.aws.amazon.com/en_en/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html

...