Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
  • Blog
  • Pricing
  • Documentation
Yandex project
© 2025 Yandex.Cloud LLC
Tutorials
    • All tutorials
    • Enabling a blue-green and canary deployment of web service versions
    • Automating image builds using Jenkins and Packer
    • Continuous deployment of containerized applications using GitLab
    • App testing with GitLab
    • Creating test VMs using GitLab CI
    • GitLab integration with Tracker
    • High-performance computing on preemptible VMs
    • Load testing a gRPC service
    • Fixed-load HTTPS testing with Phantom
    • Step-load HTTPS testing with Pandora
    • Scripted HTTP load testing with Pandora
    • Load testing using multiple agents
    • Migrating load testing results from OverLoad
    • Running external agents for load testing
    • JMeter load testing
    • Getting statistics on queries to Object Storage objects using Query
    • Getting the number of queries to Object Storage objects
    • Invoking load testing from GitLab CI
    • Comparing load test results
    • Deploying GitLab Runner on a Compute Cloud virtual machine

In this article:

  • Getting started
  • Getting query statistics
  1. Development and testing
  2. Getting the number of queries to Object Storage objects

Getting the number of Yandex Object Storage object queries

Written by
Yandex Cloud
Updated at April 18, 2025
  • Getting started
  • Getting query statistics

Get the query statistics for Object Storage objects using the S3 Select query language.

Note

To get information on object queries, enable logging.

Getting startedGetting started

  1. Install and configure the AWS CLI.
  2. Download and install the jq utility.

Getting query statisticsGetting query statistics

Bash
  1. Run the query against Object Storage and save the output to a file:

    1. For convenience, save:

      • Name of the bucket storing the object with the logs, to a variable named $bucket:

        bucket=<bucket_name>
        
      • Key of the object containing the logs, to a variable named $key:

        key=<object_key>
        
      • S3 Select expression to request object data, to a variable named $query:

        query='<query_text>'
        

        Sample expressions:

        • Retrieving queries by response code:

          SELECT "timestamp", request_id, handler, object_key, status, request_time
          FROM S3Object
          WHERE status >= 400
          
        • Searching for long-running queries:

          SELECT "timestamp", request_id, handler, object_key, status, request_time
          FROM S3Object
          WHERE request_time >= 1000
          
        • Average time for processing queries (using the AVG aggregate function):

          SELECT AVG(request_time) AS "avg" FROM S3Object
          
    2. Run this command:

      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 'JSON={}' \
        "output.json"
      
  2. If a query uses no aggregate functions, output the number of queries for each object key. To do this, run an aggregation query using jq:

    jq .object_key output.json | uniq -c | sort -nr
    

    Result:

    9 "path/logs/2021-02-10-22-02-25-199f57b5-5601-3210-5d9a-1apl1e5z6b4f"
    7 "path/logs/2021-01-28-11-40-11-580g57b5-9903-1108-6a7a-1ghj1e0e8b0f"
    3 "path/logs/2020-12-09-10-05-31-123f57b5-1853-4120-8d7a-5bcc1e9e9b4f"
    1 "path/logs/2020-12-09-08-11-10-123f57b5-1773-9310-1d2a-5bcc1e9e9b4f"
    1 "path/logs/2020-12-01-14-42-11-493f57b5-1093-4120-8d7a-5bcc1e9e9b4f"
    

Was the article helpful?

Previous
Getting statistics on queries to Object Storage objects using Query
Next
Invoking load testing from GitLab CI
Yandex project
© 2025 Yandex.Cloud LLC