2017-02-21 34 views
0

Я прошел через некоторые инструменты, такие как nagios, collectd, но они не найдут лучшего, поскольку нам нужно отслеживать no_of_req/sec для каждого виртуального хоста со всем статусом ответа с временем отклика.Как отслеживать запросы nginx

ответ

0

Я использую ELK Stack:

Отдельные журналы доступа для каждого блока сервера для лучшей видимости или вы можете отделить диаграммы через URL.

Затем используйте ELK stack:

  1. Кормовые журналы в logstash через filebeat.
  2. Создать grok шаблон для вашей модели журнала.
  3. Создание диаграмм через kibana и мониторинг в режиме реального времени.

Для мониторинга в режиме реального времени:

Попробуйте netdata, его удивительно. Обратите внимание, что это не замена для nagios или zabbix.

+0

ELK означает Эластичный поиск, Logstash и Kibana –

+0

Я этого не понял. –

+0

мы используем efk: эластичный, fluentd и kibana, но главная проблема здесь в том, как контролировать nginx, здесь мониторинг - это не только файл журнала. В мониторинге мне нужны данные, такие как req/s, load, используемые рабочие (когда их увеличить), cpu, используемый nginx и т. Д. –

0

После нескольких быстрых исследований я нашел следующее: check_nginx_status.pl. Я думаю, что определение чего-то типа:

define command { 
    command_name  check-nginx 
    command_line  $USER1$/check_nginx_status.pl -H $HOSTADDRESS$ -s $ARG1$ -u $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$ 
} 

, вероятно, именно то, что вы ищете.

Флаг -s ($ ARG1 $) будет имя хоста виртуального хоста

флаг -u ($ ARG2 $) будет конкретный URL (/ что-то/статус)

И то остальные аргументы будут использоваться, если вам нужно добавить дополнительные флаги.

Надеюсь, это поможет!