Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Monitoring

Зачем

Мониторинг - Сбор, обработка, агрегирование и отображение метрик ИС в реальном времени.

  • При проектировании в архитектуру закладываются измерители, генерирующие информацию для системы мониторинга
  • Key Quality Indicators продукта
    • Необходимы для возможности мониторинга качества предоставления продукта дежурной сменой Service Desk
    • Описывает непосредственно счетчики, используемые в качестве KPI
      • источники получения соответствующих счетчиков
      • периодичность съёма данных
      • формат
      • интерфейсы предоставления информации
      • пороговые значения для алармов и их получателей
      • время и место хранения статистики
  • Real-user monitoring (RUM)
  • Application Perfomance Monitoring (APM)
  • Сравнение разный версий приложений
  • Ретроспективный анализ
  • Прогнозирование ресурсов под метрики

Подходы:

  • Whitebox - метрики внутри ИС
  • Blackbox - метрики “снаружи” (пользовательские) ИС

Плюсы и минусы

Минусы:

  • Стоит денег
  • Требует поддержки
  • Ложные срабатывания

Методики выбора метрик

  • USE - Utilization - утилизация ресурсов важных для ИС, Saturation - размер очереди, Errors
    • Мониторинг ресурсов (System Metrics)
  • RED - Request (Rate), Error, Duration (Latency)
    • Мониторинг нагрузки на сервисы (Service Metrics)
  • Google SRE 4 Golden signals
    • TODO
    • Latency
      • is the amount of time between when a user sends a request and when the service responds. Lower latencies are better, since this indicates that users are being served faster.
    • Traffic
      • is the amount of demand the service is handling. This is often measured in HTTP requests per second, connections per second, or bandwidth usage. We can also use metrics specific to our service, such as transactions processed per minute.
    • Errors
      • is the rate of requests that failed. The criteria for a failure depends on the service, but the most common is when a service responds to a request with an HTTP 5XX error code.
    • Saturation
      • is the amount of resources your service is consuming out of all the resources available to it. Remember that your containers may only have a limited amount of resources allocated to them. High saturation indicates that you might need to scale up your service by increasing your container resource limits, adding additional container replicas, or increasing the capacity of your servers.
  • Web Vitals
    • Мониторинг производительности клиентских веб приложений (Client Metrics)

Агрегации значений метрик

  • Среднее арифмитическое значение
    • нельзя просто так брать среднее чего-то на неопределённом интервале и при этом не потерять ничего
  • Медиана – это «средний элемент», то есть буквально в середине массива (если его упорядочить). У медианы есть такая особенность: половина элементов массива больше либо равна ей, а другая половина элементов — меньше либо равна.
  • Перcентиль (Перцентиль Процентиль) - способ сжать историю наблюдений до одного числа, при этом по пути потерять неудобные для нас данные, чтобы не мешали смотреть на общую картину.
    • 95-й перcентиль — это такое число, что 95% элементов массива меньше или равны этому числу.
      • удобно использовать эту штуку, чтобы описать большинство элементов массива, при чем степень точности регулируется: 80%, 95%, 99%, 99.9%, Для чего бывает полезно описывать «большинство из массива»? Чтобы выбросить пики!
    • 95 перcентиль от времени обработки запросов = 5 секунд
      • То есть, большинство (95%) запросов мы обработали за 5 секунд или меньше. А остальные 5% обрабатывались дольше.
      • Можно еще посчитать 99-й Персентиль и сравнить с 95-м, тогда станет понятно, что большинство запросов укладываются в 5 секунд, а подавляющее большинство, скажем, в 6 секунд.
    • Синонимы
      • Квартиль это четверти: 25%, 50%, 75%, 100%. То есть бывает первый, второй третий и четвертый квартиль. И еще иногда используют нулевой.
      • Квантиль - это, условно, Персентиль без процентов. Используется в статистике, где бывает удобно указывать абсолютную вероятность, а не в процентах
      • Дециль — это 10%, 20% и т.д.
  • Кардинальность
  • min, max
  • Сэмплирование данных метрик определяет кол-во значений для агрегирования с учетом интервала времени (глубина запроса)

Мониторинг инфраструктуры

Мониторинг БД

Мониторинг сайтов

  • Cloud
    • Commercial
    • Free
      • Uptimerobot

Compare:

  • https://vc.ru/u/1338008-smbot-monitoring-saytov/549289-obzor-i-sravnenie-servisov-monitoringa-saytov?
  • https://blog.cybermarketing.ru/25-servisov-dlya-monitoringa-sajtov/
  • https://unisender-com.turbopages.org/unisender.com/s/ru/blog/idei/servisy-dlya-monitoringa-sajtov/

Application Perfomance Monitoring (APM)

Класс систем Application Perfomance Monitoring (APM) обеспечивают контроль производительности.

Используют разные хранилища метрик (Time Series Database):

Compare: