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 — дозированно.