prometheus мониторинг nginx


Если вы гуглите эти строки, то наверняка хотите мониторить nginx с помощью prometheus и выводить графики в grafana. Я угадал? ))
Попробую дать бесплатный совет, основанный на собственном опыте который возможно сэкономит вам кучу времени.

  1. Как ни странно, но начинать мониторить лучше всего с головы, а именно с вопроса "а что собственно мониторить? Метрик много, а я у мамы один такой".
    Чтобы это понять, необходимо по тихой начинать смотреть курс SRE от Google. Там расскажут про SLA, SLO и SLI. И станет понятно, что мониторить нужно: длительность запросов, количество запросов в секунду, и отношение ответов хороших к ошибочным. Причём в своей массовости, то есть иметь эти данные для 95% запросов. 
  2. Из этого вытекают инструменты которые необходимо использовать. Вдруг оказывается, что nginx-vts-module хоть и компилируется с nginx, но категорически не умеет считать длительность запросов в гистограмму, а может выводить только средние значения. Кого этим удивишь в 2k19?
    Поэтому неизбежно придётся использовать lua поделия вроде nginx-prometheus-metrics, чтобы считать вожделенные SLO из внятный гистограмм. 

На этом пока всё. Пойду курить Openresty до просветления, чтобы написать вторую часть)


Comments 0