2016-08-02 3 views
1

Я пытаюсь запустить GoAccess пример:GoAccess Установить сервер WebSocket для прослушивания порта 7890 и локального хоста

# goaccess -f access.log -o report.html --real-time-html 

Там Либо

Parsing... [41] [0/s] 

ИЛИ нет выхода в терминале. Я жду долго. Затем CTRL + C:

^CSIGINT caught! 
Stopping WebSocket server... 

Может быть, я пропускаю шаг в:

«Для вывода отчета HTML и настроить сервер WebSocket для прослушивания порта 7890 и локальный.»

«Сброс соединения» на my.ip.address.here:7890.

Я предполагаю, что nginx не участвует в этом, так как его журналы показывают только вызовы на другие веб-страницы.

Есть ли какая-то другая конфигурация или журналы, которые я мог бы изучить?

UPDATE:

Чуть более ясно и получили это далеко:

$ sudo goaccess -f /var/log/nginx/access.log.1 -o /usr/share/nginx/www/report.html \\ 
--real-time-html --ws-url=domain.com 
Parsing... [84] [0/s] 

я могу:

telnet domain.com 7890 
Trying 45.55.xxx.xxx... 
Connected to domain.com. 
Escape character is '^]'. 

В браузере: domain.com:7890/report.html возвращает Сброс соединения.

ли кто-то уточнить, что этот путь должен представлять:

/usr/share/nginx/www/report.html 

должен ли report.html на самом деле существует и не нужен путь, чтобы быть в определенном месте в системе сервера?

ответ

2

У меня возникли проблемы с получением отчетов в реальном времени, и в итоге выяснили, почему они не работают для меня. Это может/не относится к вам.

Я генерировал отчет в реальном времени в каталоге моего сайта, который работает через SSL. К сожалению, отчеты Goaccess в реальном времени вообще не работают над SSL.

Что я сделал, чтобы решить это, я настроил новый домен goaccess.mydomain.com и установил его для запуска на port80 на Nginx. Затем защищайте/location файлом .htpasswd, а затем я генерирую отчеты в реальном времени в папку нового веб-сайта.

Статические отчеты работают на 100% по SSL, а не в реальном времени.

Итак, что я делаю сейчас каждый день, используя Cron, генерирует отчеты в реальном времени для сайтов, на которых я хочу отслеживать использование.

goaccess -f /var/log/nginx/site1-access.log -a -o /var/www/goaccess.mydomain.com/site1.html 
goaccess -f /var/log/nginx/site2-access.log -a -o /var/www/goaccess.mydomain.com/site2.html 

тогда, когда я хочу отчет в режиме реального времени на определенном сайте, я просто запустить

goaccess -f /var/log/nginx/site1-access.log -a -o /var/www/goaccess.mydomain.com/site.html.html --real-time-html --ws-url=goaccess.mydomain.com 

Я попросил их отметить проблему HTTPS в их документации, как это было мне идти в кругах в течение веков.

+0

Это может быть несколько недель (по крайней мере), прежде чем я смогу подтвердить это, поэтому, если кто-либо найдет ответ НЕ, чтобы быть решением, прокомментируйте его, поскольку я принимаю его, потому что он решает проблему и имеет смысл в качестве решения. Надеюсь, это круто. – MikeiLL

+1

GoAccess обновил свои FAQ и документы с запиской о HTTPS, как я просил. https://goaccess.io/faq и https://goaccess.io/man – MitchellK

2

Цитирование с сайта GoAccess':

Процесс формирования отчета HTML в режиме реального времени очень похож на процесс создания статического отчета.

Просто сгенерируйте статический отчет и поместите выходной файл html под в общую папку вашего веб-сервера www. Вам нужно добавить еще несколько флагов реального времени в . Требуется использование -real-time-html.

# goaccess -f access.log -o /usr/share/nginx/www/rt.goaccess.io/report.html --real-time-html --ws-url=host 

При открытии созданного отчета в вашем браузере, отчет будет пытаться установить соединение WebSocket на хост указанного --ws-URL =. Обратите внимание, что хост должен указывать на местоположение , где работает GoAccess, и анализировать журналы. Кроме того, убедитесь, что хост является допустимым хостом и не должен содержать http на нем.

Если вы не используете --ws-адрес, он будет пытаться установить соединение WebSocket на локальный, что означает, что GoAccess должен быть запущен на локальной машине (та же машина работает браузер)

С man-страницы, по-видимому, GoAccess запускается на порт 7890 по умолчанию. Как он утверждает, вы, вероятно, хотите указать --ws-url, чтобы указать местоположение сервера GoAccess WebSocket, если ваш журнал доступа не находится на вашем локальном компьютере.

+0

По-прежнему возникают проблемы. Предполагается ли 'report.html' _exist_ на сервере, и какой« путь »это указывает на это, пожалуйста? – MikeiLL

+0

Файл 'report.html' генерируется GoAccess. Вы должны поместить 'report.html' на свой веб-сервер (например, nginx/apache) по умолчанию для публичного www-сайта, чтобы вы могли получить к нему доступ из своего браузера, например' www.example.com/ report.html' и '--ws -url = host' должен указывать на место, где работает GoAccess, и читать ваш журнал доступа (обычно это то же самое место, что и ваш веб-сервер). Убедитесь, что порт 7890 открыт, где запущен GoAccess. –

 Смежные вопросы

  • Нет связанных вопросов^_^