Files
shared-SQS/BILLING.md
T

45 lines
1.5 KiB
Markdown

# Биллинг — учёт использования SQS
shared-SQS записывает каждую успешную SQS-операцию в PostgreSQL для учёта использования.
## Что записывается
| Поле | Описание |
|------|----------|
| `tenant_id` | Идентификатор тенанта |
| `operation` | SQS-операция (SendMessage, ReceiveMessage и т.д.) |
| `queue_name` | Имя очереди |
| `msg_count` | Количество сообщений в запросе |
| `msg_bytes` | Объём тел сообщений в байтах |
| `recorded_at` | Время записи |
## Доступ к данным
Подключение к БД из кластера:
```bash
kubectl exec -it pod/postgresqlk8s-master-0 \
-n dc5db45d-f8b4-4fd0-ad33-ec4dd017f2d5 \
-- psql -U super -d sqsdb
```
## Примеры запросов
```sql
-- Последние 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;
```