Files
shared-SQS/BILLING.md
T

1.5 KiB

Биллинг — учёт использования SQS

shared-SQS записывает каждую успешную SQS-операцию в PostgreSQL для учёта использования.

Что записывается

Поле Описание
tenant_id Идентификатор тенанта
operation SQS-операция (SendMessage, ReceiveMessage и т.д.)
queue_name Имя очереди
msg_count Количество сообщений в запросе
msg_bytes Объём тел сообщений в байтах
recorded_at Время записи

Доступ к данным

Подключение к БД из кластера:

kubectl exec -it pod/postgresqlk8s-master-0 \
  -n dc5db45d-f8b4-4fd0-ad33-ec4dd017f2d5 \
  -- psql -U super -d sqsdb

Примеры запросов

-- Последние 20 записей
SELECT * FROM sqs_usage_records ORDER BY recorded_at DESC LIMIT 20;

-- Статистика по операциям
SELECT operation, COUNT(*), SUM(msg_count), SUM(msg_bytes)
FROM sqs_usage_records GROUP BY operation ORDER BY count DESC;

-- По тенанту за сегодня
SELECT operation, COUNT(*) FROM sqs_usage_records
WHERE tenant_id = 'MY_TENANT' AND recorded_at >= CURRENT_DATE
GROUP BY operation;

-- Объём трафика по дням
SELECT DATE(recorded_at) AS day, SUM(msg_bytes) AS total_bytes
FROM sqs_usage_records GROUP BY day ORDER BY day DESC;