Бюджет observability, который масштабируется
Как держать metrics, logs и traces полезными без сжигания бюджета — sampling, SLO и ownership.
Observability ломается двумя способами: слишком мало сигнала или слишком много шума. Оба варианта дороги.
Начинайте с пользовательских путей
Инструментируйте путь, за который платит клиент. Остальное — опционально, пока этот путь зелёный.
Набросок SLO
Для availability на окне :
Пример: за 30 дней ≈ 43 минуты бюджета.
Sampling без слепоты
func shouldSample(trace Trace) bool {
if trace.HasError() {
return true
}
return rand.Float64() < 0.05
}Ownership
| Сигнал | Владелец | Retention |
|---|---|---|
| RED metrics | Команда сервиса | 90d |
| Structured logs | Команда сервиса | 14–30d |
| Traces | Platform | 7–14d |
Итог
Телеметрию бюджетируйте как CPU. Нет владельца дашборда — удаляйте.