Golden Signals в мониторинге продукта
В книге "Site Reliability Engineering" есть полезная глава про мониторинг распределенных систем, где описан подход Google, основанный на отслеживании «четырех золотых сигналов» (Four Golden Signals). О них и поговорим.
- Задержка (Latency) -- сколько времени занимает обработка запроса? Определите ориентир для задержек, типичных для успешных запросов, и сравните его с задержками для неуспешных запросов. Отслеживание задержек, вызванных ошибками, позволяет решить любые вопросы, связанные со скоростью выявления инцидента и реакции на него.
- Трафик (Traffic) -- какое влияние на систему оказывает количество пользователей или число транзакций, проходящих через сервис? Отслеживая взаимодействие с реальными пользователями и трафик, можно лучше понять, как конечные пользователи воспринимают сервис, и получить представление о том, как системы ведут себя в условиях стресса.
- Ошибки (Errors) -- независимо от того, вызваны ли ошибки заданной вручную логикой или автономны (вроде неудавшегося HTTP-запроса), SRE-команды должны отслеживать их. Многие SRE-команды используют специальное ПО для управления инцидентами для оповещений о критических ошибках, поиска их причин и проведения работ по устранению последствий.
- Насыщенность (Saturation) -- важно задать метрику для насыщенности, которая бы означала, что сервис достиг максимума своих возможностей. Большинство сервисов начинают терять производительность еще до того, как загрузка достигнет 100%, поэтому понимание функциональности вашей собственной системы важно для определения ориентира насыщенности, который имеет смысл.
Собираются золотые сигналы по нескольким причинам: • Оповещение -- сигналы сообщают, когда что-то не так. • Устранение неполадок -- сигналы помогают найти и устранить проблему. • Настройка и планирование мощностей -- сигналы помогают улучшить ситуацию с течением времени.
Больше полезных материалов на разные темы смотрите в моем телеграм-канале: https://t.me/FreshProductGo.