Найти тему

Что ставить на мониторинг?

# пока без ссылок, быстренько и на коленке

Итак, звучит вопрос: как организовать мониторинг приложения/системы? Абстрактно, какие самые важные метрики нужно выставить для наблюдения ответственными?

Мониторинг делится на три направления:

  1. Инфраструктура (потребляемые ресурсы)
  2. Работа ПО
  3. Бизнес-логика приложения

Первый пункт у нас включает в себя состояние физ. машин, которые у нас есть:

  • Нагрузка на CPU
  • Загруженность RAM (сколько жрет оперативки)
  • Заполненность дисков

Это критические пункты, без которых наше детище работать не будет.

Есть ещё важные пункты, которые косвенно позволяют предположить, что с нашими серверами что-то не так:

  • Растущий объем файла подкачки (SWOP файл)
  • Здоровье дисков RAID
  • AVIO - среднее время ответа на запросы к диску
  • Ещё какие-то пункты

Второй пункт, а именно работа ПО, зависит уже от архитектуры приложений, которые используются. В нашем случае обычно смотрим на:

  • Коды ответов от приложений
  • RPS - запросы в секунду
  • Среднее время ответа от нас
  • В случае с БД - статусы реплик (шардов, нод), наличие блокировок при перегрузках, состояние регион-серверов (Hbase)
  • Состояние ресурсов, которые не наши, но важны для нас (как минимум доступность сайта. Также кол-во запросов от нас, ответы, приходящие нам)

Третий пункт, это бизнес-логика. В это умное слово входит наблюдение за тем, как пользователи используют систему:

  • Кол-во зарегистрированных за диапазон
  • Кол-во произведенных запросов
  • Топ запросов
  • Топ спаммеров и топ их запросов
  • Время, за которые приходит отклик по этим запросам
  • И тд

Все критически важные метрики обкладываются алертами.