Статистика посещения сайта браузерами
Получите статистику запросов к объектам бакета, который настроен для хостинга статического сайта. Для получения данных будет использоваться язык запросов S3 Select.
Примечание
Чтобы получить информацию о запросах, включите механизм логирования для бакета, в котором находится содержимое сайта.
Перед началом работы
Установите и настройте интерфейс командной строки AWS CLI.
Получение статистики посещения
-
Выполните запрос в Object Storage и сохраните результат выполнения в файл:
-
Для удобства работы сохраните:
-
Имя бакета, в котором хранится объект с логами, в переменную
$bucket
:bucket=<имя_бакета>
-
Ключ объекта с логами в переменную
$key
:key=<ключ_объекта>
-
Выражение для запроса данных на языке S3 Select в переменную
$query
:query="select user_agent from s3object"
-
-
Выполните команду:
aws --endpoint https://storage.yandexcloud.net s3api select-object-content \ --bucket $bucket \ --key $key \ --expression "$query" \ --expression-type 'SQL' \ --input-serialization 'JSON={Type=LINES}' \ --output-serialization 'CSV={}' \ "output.csv"
-
-
Чтобы вывести количество посещений для каждой страницы, выполните агрегирующий запрос с помощью команд
sort
иuniq
:sort -nr output.csv | uniq -c
Результат:
418 docker/19.03.9 go/go1.13.10 git-commit/1d238398e7 kernel/4.4.0-142-generic os/linux arch/amd64 UpstreamClient(Go-http-client/1.1) 255 docker/19.03.13 go/go1.13.15 git-commit/4484c46d9d kernel/3.10.0-1127.19.1.el7 os/linux arch/amd64 UpstreamClient(Go-http-client/1.1) 101 aws-sdk-java/1.11.424 Linux/4.14.74-28+yc7 OpenJDK_64-Bit_Server_VM/11.0.5-shenandoah+10-adhoc.heretic.src java/11.0.5-shenandoah 17 aws-cli/1.18.27 Python/2.7.6 Linux/4.19.62-13 botocore/1.17.50