intermediate
Cloud Logging
Централизуйте логи и метрики: sinks, retention, структурированные payload, корреляция trace и интеграции алертинга.
Cloud Logging собирает логи Cloud Run, GKE, Cloud Functions, балансировщиков и audit trail. Структурированный JSON из Node.js (`pino`, `winston`) удобно фильтровать, экспортировать через sinks и строить log-based metrics без хрупкого regex.
import pino from 'pino';
const logger = pino({
level: process.env.LOG_LEVEL ?? 'info',
base: { service: 'checkout-api', revision: process.env.K_REVISION },
});
logger.info({ orderId, latencyMs }, 'checkout completed');
| Инструмент | Назначение | |------------|------------| | Log sink | Экспорт в BigQuery или Cloud Storage | | Log-based metric | Паттерны ошибок → алерты | | Trace integration | Связка с Cloud Trace через поле `trace` |
Задайте retention по bucket'ам, редактируйте PII в источнике, не раздувайте high-cardinality labels в метриках из логов.
На интервью: structured logging vs plain text; correlation по trace ID; стоимость verbose debug в prod; алерты по симптомам, не по объёму логов.
Типовые ошибки: токены и платёжные данные в логах; printf-строки без поиска; нет request ID между сервисами; retention 90 дней на шумный debug.
Компромисс — богатая observability против стоимости ingestion, compliance по retention и шума алертов.
Чеклист:
- JSON-логи с request, trace и service fields.
- Редактирование секретов и PII до записи.
- Долгая аналитика — через sinks, не бесконечный retention.
- Алерты по симптомам SLO, log-based metrics — дозированно.