INTEGRITY Документация

Метрики и аналитика

R2 предоставляет аналитику, которая позволяет отслеживать запросы и объём хранения бакетов в вашей учётной записи.

Метрики, отображаемые для бакета в Панель управления Cloudflare запрашиваются из Cloudflare GraphQL Analytics API. Вы можете получить доступ к метрикам программно через GraphQL или HTTP-клиент.

Метрики

На данный момент R2 предоставляет два набора данных:

Набор данных GraphQL Dataset Name Описание
Операции r2OperationsAdaptiveGroups Этот набор данных содержит операции, выполненные с бакетом в рамках аккаунта.
Хранилище r2StorageAdaptiveGroups Этот набор данных содержит данные об объёме хранения бакета в рамках аккаунта.

Operations Dataset

Поле Описание
actionType Название выполненной операции.
actionStatus Статус операции. Может принимать значение success, userError, или internalError.
bucketName Бакет, к которому применялась операция (если применимо). Для бакетов с указанной юрисдикцией необходимо указывать юрисдикцию с последующим подчёркиванием перед именем бакета. Например: eu_your-bucket-name
objectName Объект, с которым была выполнена эта операция, если применимо.
responseStatusCode HTTP-статус, возвращаемый этой операцией.
datetime Время запроса.

Набор данных о хранилище

Поле Описание
bucketName Бакет, к которому относится это значение хранилища. Для бакетов с указанной юрисдикцией необходимо указывать юрисдикция с последующим подчёркиванием перед именем bucket. Например: eu_your-bucket-name
payloadSize Размер объектов в бакете.
metadataSize Размер метаданных объектов в бакете.
objectCount Количество объектов в бакете.
uploadCount Количество незавершённых составных загрузок в бакете.
datetime Время, которому соответствует данное значение объёма хранилища.

Метрики можно запрашивать (и они хранятся) за последние 31 день. Для этих наборов данных требуется accountTag фильтр с вашим Cloudflare Account ID.

Просмотр через панель управления

Аналитика R2 по отдельным бакетам доступна на панели управления Cloudflare. Чтобы просмотреть текущие и исторические метрики бакета:

  1. На панели управления Cloudflare перейдите к разделу Объектное хранилище R2 страницу.

    Перейдите в Обзор ↗
  2. Выберите свой бакет.

  3. Выберите Метрики на вкладке.

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

Запрос через GraphQL API

Вы можете программно запрашивать аналитику по бакетам R2 через GraphQL Analytics API. Этот API обращается к тому же набору данных, что и панель управления Cloudflare, и поддерживает GraphQL интроспекция.

Примеры

Операции

Чтобы запросить объем каждого типа операций для бакета за определенный период времени, можно выполнить запрос следующего вида

query R2VolumeExample(
	$accountTag: string!
	$startDate: Time
	$endDate: Time
	$bucketName: string
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			r2OperationsAdaptiveGroups(
				limit: 10000
				filter: {
					datetime_geq: $startDate
					datetime_leq: $endDate
					bucketName: $bucketName
				}
			) {
				sum {
					requests
				}
				dimensions {
					actionType
				}
			}
		}
	}
}

bucketName поле можно удалить, чтобы получить обзор операций на уровне аккаунта. Объём операций можно детализировать ещё сильнее, добавив в запрос дополнительные измерения.

Хранилище

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

query R2StorageExample(
	$accountTag: string!
	$startDate: Time
	$endDate: Time
	$bucketName: string
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			r2StorageAdaptiveGroups(
				limit: 10000
				filter: {
					datetime_geq: $startDate
					datetime_leq: $endDate
					bucketName: $bucketName
				}
				orderBy: [datetime_DESC]
			) {
				max {
					objectCount
					uploadCount
					payloadSize
					metadataSize
				}
				dimensions {
					datetime
				}
			}
		}
	}
}