Назад | Перейти на главную страницу

Как собирать логи для статистики на сайте?

Я хочу собирать логи с nginx (несколько серверов, 1 000 000 строк в журналах за минуту для всех серверов) на центральный статистический сервер для обработки статистики. Я вижу 2 варианта:

    1. записывать журналы в локальные файлы журналов для каждого сервера
    2. переименуйте журналы для шаблона «ДД.ММ.ГГГГ ЧЧ» на каждом сервере и отправьте журналы на сервер статистики по ssh, например
    3. отправить сигнал для перезагрузки логов в nginx на каждом сервере
    1. использовать транспорт системного журнала (или другой - какой транспорт может автоматически переименовывать файл для шаблона «ДД.ММ.ГГГГ ЧЧ»?) для отправки журналов на сервер статистики
    2. использовать hadoop или временный каталог в памяти на сервере статистики для записи журналов со всех серверов (какой вариант более производительный в этом случае?)
  1. Вы можете предложить что-нибудь еще?

Взгляни на эластичный поиск + logstash + кибана

Logstash может анализировать ваши файлы журналов и извлекать из них информацию с помощью фильтров. Он может хранить их в Elasticsearch, который вы можете запрашивать через Kibana. Посмотрите видео на их сайте, чтобы понять, на что он способен.

Ваш первый вариант может быть выполнен через loghost (в основном ваш вариант 2). Вы можете отправить сообщение системного журнала через udp на $ logserver. Затем вы должны разделить журналы на основе сервера и получить «точные» отметки времени отправленных вами журналов.

Переименование журналов не требуется на серверах nginx, кроме обычного logrotate, который вам, скорее всего, понадобится при таком большом количестве журналов.

Лучше не писать слишком много сценариев, если инструменты уже доступны, здесь не нужно изобретать велосипед.

Вариант 2 должен быть довольно близок к тому, чего вы хотите достичь.

В зависимости от безопасности сети (сетей), в которых находятся серверы: либо транспортируют напрямую через «обычную» процедуру системного журнала, либо делают, например, выполнение. какое-то соединение vpn с логхостом.