Книга: Руководство по DevOps
Используйте средние и стандартные отклонения для обнаружения потенциальных проблем
Используйте средние и стандартные отклонения для обнаружения потенциальных проблем
Один из простейших статистических способов анализа производственного показателя — это расчет среднего и стандартных отклонений. С их помощью мы можем создать фильтр, оповещающий, что показатель сильно отклоняется от обычных значений, и даже настроить систему оповещения, чтобы мы могли сразу предпринять нужные действия (например, если запросы в базе данных обрабатываются значительно медленнее, то в 2:00 система сообщит дежурным сотрудникам, что нужно провести расследование).
Когда в важнейших службах возникает проблема, будить людей в два часа ночи — правильно. Однако, когда мы создаем оповещения, не содержащие никакой программы разумных действий, или же когда происходит ложное срабатывание, исполнителей мы будим зря. Как отмечает Джон Винсент, стоявший у истоков движения DevOps, «переутомление от чрезмерного количества сигналов тревоги — наша самая главная проблема на этот момент… Нужно разумнее подходить к оповещениям, или мы все сойдем с ума».
Оповещения можно сделать лучше, если увеличить отношение сигнала к шуму, фокусируясь на значимых отклонениях или выбросах. Предположим, что нам надо проанализировать число несанкционированных входов в систему в день. У собранных данных — распределение Гаусса (то есть нормальное распределение), совпадающее с графиком на рис. 29. Вертикальная линия в середине колоколообразной кривой — среднее, а первые, вторые и третьи стандартные отклонения, обозначенные другими вертикальными линиями, содержат 68, 95 и 99,7 % наблюдений соответственно.
Рис. 29. Стандартные отклонения (?) и среднее (µ) распределения Гаусса (источник: «Википедия», статья Normal Distribution, https://en.wikipedia.org/wiki/Normal_distribution)
Обычный способ использовать стандартные отклонения — время от времени проверять набор данных по какому-то показателю и сообщать, если он сильно отличается от среднего значения. Например, оповещение сработает, если число попыток несанкционированных входов в систему в день больше среднего на три величины стандартного отклонения. При условии, что данные распределены нормально, только 0,3 % всех событий будут включать сигнал тревоги.
Даже такая простая методика статистического анализа ценна, потому что никому не нужно определять пороговое значение. При отслеживании тысяч и сотен тысяч показателей это было бы невыполнимой задачей.
Далее в тексте термины телеметрия, показатель и наборы данных будут использоваться как синонимы. Другими словами, показатель (например, время загрузки страницы) будет увязываться с набором данных (например, 2 мс, 8 мс, 11 мс и так далее) Набор данных — статистический термин, обозначающий матрицу значений показателей, где каждый столбец представляет переменную, над которой производятся те или иные статистические операции.
- Используйте средние и стандартные отклонения для обнаружения потенциальных проблем
- Создайте инструменты фиксации и оповещения о нежелательных событиях
- Практический пример
- Автоматическая масштабируемость ресурсов, Netflix (2012 г.)
- Использование методик выявления аномалий
- Практический пример
- Продвинутое выявление аномалий (2014 г.)
- Заключение
- 9.1. Проблема синтаксического анализа
- 500 типичных проблем и их решений при работе на ПК
- Стандартные потоки: stdin, stdout, stdeir, stdaux, stdprn.
- Проблемы потребителя
- 3.5 Проблемы доступа при использовании нескольких протоколов
- 5.2 Проблемы при резервном копировании
- Входящий поток потенциальных клиентов (LeadGen)
- Стандартные списки
- Используйте аутсорсинг
- 10.6.1. Обнажение проблемы
- Введение Вторая грамотность и проблемы ее освоения
- Глава 8 Проблемы с «железом» и разгон процессора