1.5 KiB
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;