Goaccess показывает данные об ошибках в HTML-отчете в реальном времени из-за загрузки неверных данных из нескольких веб-сокетов
Мне нужно запустить несколько процессов 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 события:
- На терминале, на котором запущены процессы доступа, "SIGPIPE перехватил!" выходил непрерывно;
- На веб-странице приборная панель периодически отображает неверные данные, и я замечаю, что фреймы данных веб-сокета, полученные браузером, имеют довольно разную длину (что означает, что веб-страница получает разные фреймы данных веб-сокета от других процессов доступа), когда длина фрейма данных аналогична длине данных, когда выполняется только 1 процесс доступа, данные, отображаемые на веб-странице, правильные, когда длина фрейма данных различна, данные неправильные.
Кажется, что даже когда я запускаю процесс goaccess с опцией "--port", чтобы указать разные порты для каждого процесса WebSocket, несколько сервисов websocket все еще смешиваются.
0 ответов
Чтобы запустить несколько экземпляров, необходимо убедиться в следующем:
- Запускайте каждый экземпляр на другом порту
--port
. - Различные каналы (FIFO)
--fifo-in=/path/in.1 --fifo-out=/path/out.1
. - (Необязательно) 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