Сколько стоит наблюдаемость на своём железе
Подписки нет, но затраты есть: диск, память, внимание. Считаем честно и говорим, где своё дороже покупного.
Аргумент «без подписок» звучит как аргумент про экономию. Он про контроль, а не про деньги, и стоит разобрать, из чего складываются затраты, когда стек свой.
Что стоит денег
Диск. Основная статья и единственная, которая растёт сама. Метрики дёшевы, логи дороги, трассировки дороги очень. Объём определяется не числом показателей, а трафиком и сроками хранения.
Память. Хранилища метрик держат в памяти рабочий набор, и на этом обычно недооценивают требования: сервис работает, потом при увеличении числа временных рядов упирается в память.
Внимание. Самая недооценённая статья. Стек наблюдаемости — это сервисы, которые надо обновлять, у которых бывают проблемы и которые сами требуют наблюдения.
Что не стоит денег
Объём данных как таковой. Это главное отличие от подписки: в тарифах внешних сервисов стоимость привязана к событиям, пользователям или объёму, и она растёт с ростом проекта.
На своём железе рост объёма упирается в стоимость диска, а не в следующий тарифный уровень. Разница нелинейная и в пользу своего — но только начиная с определённого масштаба.
Где своё дороже
На малом объёме. Если у сайта тысяча посетителей в день, бесплатный или начальный тариф внешнего сервиса дешевле, чем один сервер под стек. Заметно дешевле, потому что второй вариант ещё и требует времени.
На старте проекта. Внешний сервис — это один скрипт; свой стек — это развёртывание, настройка сбора, сборка панелей. Даже когда всё автоматизировано, это дни, а не минуты.
Мы это говорим прямо, потому что честная граница применимости полезнее универсального аргумента.
Где своё дешевле
На долгой истории. Годовой ряд метрик в тарифах обычно отсутствует или стоит отдельно. У себя это вопрос диска, и диск под сжатые метрики за год — величина скромная.
На большом трафике. Здесь тарифная сетка внешнего сервиса начинает работать против вас, а стоимость своего хранения растёт медленнее.
При требованиях к размещению данных. Тут сравнение вообще не проводится: внешний сервис просто не подходит.
Как сократить главную статью
Разными сроками хранения для разных источников. Метрики надолго, логи коротко, ошибки в логах — дольше обычных записей, трассировки выборочно.
Это скучная настройка, которую почти никогда не делают на старте, а потом делают срочно, когда диск заполнился. Сделать её сразу дешевле.
Что генерируется, а что остаётся вашим
Части, относящиеся к наблюдаемости, целям уровня обслуживания и панелям, можно получить генерацией вместе с отчётом по кластеру. На выходе — обычные артефакты Prometheus, Grafana и Alertmanager.
Слово «обычные» здесь ключевое. Сгенерированное не привязано к нам: это те же файлы, которые вы бы написали руками, и дальше они ваши — включая право выбросить нашу генерацию и написать своё.