Goaccess показывает данные об ошибках в HTML-отчете в реальном времени из-за загрузки неверных данных из нескольких веб-сокетов - PullRequest
0 голосов
/ 01 ноября 2018

Мне нужно запустить несколько процессов goaccess с опцией --real-time-html для анализа нескольких журналов. мои команды:

/usr/bin/goaccess --real-time-html -o /data/html/log1/index.html -f log/log1.log --port=7890
/usr/bin/goaccess --real-time-html -o /data/html/log2/index.html -f log/log2.log --port=7891
...

когда работает только 1 процесс, все в порядке, и я вижу фреймы данных websocket в Chrome, каждый фрейм данных обычно имеет одинаковую длину;

Но когда запущено 2 или более процессов, происходит 2 вещи:

  1. На терминале, на котором запущены процессы goaccess, "SIGPIPE catch!" выходил постоянно;
  2. На веб-странице приборная панель периодически отображает неверные данные, и я замечаю, что фреймы данных веб-сокета, полученные браузером, имеют разную длину (это означает, что веб-страница получает разные фреймы данных веб-сокета от других процессов доступа) когда длина фрейма данных аналогична длине данных, когда выполняется только 1 процесс доступа, данные, отображаемые на веб-странице, являются правильными, если длина фрейма данных различна, данные неправильные.

Кажется, что даже когда я запускаю процесс goaccess с опцией "--port", чтобы указать разные порты для каждого процесса WebSocket, несколько сервисов веб-сокетов все еще смешиваются.

1 Ответ

0 голосов
/ 15 мая 2019

Для запуска нескольких экземпляров необходимо убедиться в следующем:

  1. Запускать каждый экземпляр на другом порту --port.
  2. Разные трубы (FIFO) --fifo-in=/path/in.1 --fifo-out=/path/out.1.
  3. (опционально) IFF если вы используете хранилище на диске, тогда вам понадобится другой путь для хранения файлов БД --db-path=/path/instance1/.

Примеры

goaccess -f /prod/access.log -o /var/www/html/prod.html --real-time-html --ws-url=192.168.1.2 --port=7890 --fifo-in=/tmp/prod.in --fifo-out=/tmp/prod.out

и

goaccess -f /dev/access.log -o /var/www/html/dev.html --real-time-html --ws-url=192.168.1.2 --port=7891 --fifo-in=/tmp/dev.in --fifo-out=/tmp/dev.out

Источник

...