Документация "Инферит Облако"

Метод позволяет настроить детальный мониторинг обращений к объектам.

1. Настройка политики бакета (Bucket Policy)

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

Создаем бакет для хранения лога.

aws s3 mb s3://<Имя_бакета_лога>

Выставляем политику разрешения сбора статистики для этого бакета

aws s3api put-bucket-policy --bucket <Имя_бакета_лога> --policy "{`"Version`": `"2012-10-17`", `"Statement`": [{`"Effect`": `"Allow`", `"Principal`": `"*`", `"Action`": `"s3:PutObject`", `"Resource`": `"arn:aws:s3:::<Имя_бакета_лога>/*`"}]}"

Активируем логирование целевого бакета

aws s3api put-bucket-logging --bucket <Имя_целевого_бакета> --bucket-logging-status "{`"LoggingEnabled`": {`"TargetBucket`": `"<Имя_бакета_лога>`", `"TargetPrefix`": `"access_logs/`"}}"

Документация на нашем сайте предлагает исчерпывающие инструкции и руководства, созданные для повышения вашей эффективности при работе с облачными сервисами. В ней подробно описаны ключевые функции, процессы настройки инструментов, управление ресурсами, меры безопасности и практические сценарии использования

Получение статистики бакета

Метод позволяет настроить детальный мониторинг обращений к объектам.

1. Настройка политики бакета (Bucket Policy)

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

Создаем бакет для хранения лога.

aws s3 mb s3://<Имя_бакета_лога>

Выставляем политику разрешения сбора статистики для этого бакета

aws s3api put-bucket-policy --bucket <Имя_бакета_лога> --policy "{`"Version`": `"2012-10-17`", `"Statement`": [{`"Effect`": `"Allow`", `"Principal`": `"*`", `"Action`": `"s3:PutObject`", `"Resource`": `"arn:aws:s3:::<Имя_бакета_лога>/*`"}]}"

Активируем логирование целевого бакета

aws s3api put-bucket-logging --bucket <Имя_целевого_бакета> --bucket-logging-status "{`"LoggingEnabled`": {`"TargetBucket`": `"<Имя_бакета_лога>`", `"TargetPrefix`": `"access_logs/`"}}"

Чтобы убедиться, что логирование активно, выполните эту команду

aws s3api get-bucket-logging --bucket <Имя_целевого_бакета>

2. Анализ данных через S3 Select

Логи хранятся в виде набора файлов в настроенном бакете. Чтобы посмотреть статистику обращений к объектам, вместо открытий данных отдельных файлов и поиска можно использовать SQL-запрос прямо в облаке.

Команда вывода данных (вывод в файл stats.csv):

aws s3api select-object-content \
    --bucket <Имя_бакета_лога> \
    --key access_logs/<Имя_файла_лога> \
    --expression "SELECT * FROM s3object s WHERE s._4 = '<Имя_объекта>'" \
    --expression-type 'SQL' \
    --input-serialization '{"CSV": {"FieldDelimiter": " "}}' \
    --output-serialization '{"CSV": {}}' \
    stats.csv

 В примере представлен запрос с поиском по имени объекта. В стандартном логе S3 s._4 — это четвертая колонка, где хранится имя объекта.

Расшифровка полей для запросов данных:

Номер (в SQL) Имя поля (AWS) Описание
s._1 Bucket Owner ID владельца бакета
s._2 Bucket Имя бакета, к которому обратились
s._3 Time Время запроса (в квадратных скобках)
s._4 Remote IP IP-адрес клиента
s._5 Requester ID того, кто сделал запрос
s._6 Request ID Уникальный ID транзакции
s._7 Operation Тип операции (GET, PUT, DELETE, COPY)
s._8 Key Имя файла (объекта)
s._9 Request-URI Полный путь запроса (в кавычках)
s._10 HTTP Status Код ответа (200 — успех, 403 — отказ)
s._11 Error Code Код ошибки AWS (если есть)
s._12 Bytes Sent Отправлено байт (трафик скачивания)
s._13 Object Size Полный размер объекта в байтах
s._14 Total Time Время обработки запроса (мс)
s._15 Turn-Around Time Время задержки внутри S3 (мс)
s._16 Referrer Откуда пришел запрос (URL)
s._17 User Agent Браузер или утилита (например, aws-cli)
Получить доступ в личный кабинет клиента
Публикации в СМИ
Подключить сервис
Получить демо-доступ
Получить консультацию