Webserver Log analyzer - GoAccess

GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems. It provides fast and valuable HTTP statistics for system administrators that require a visual server report on the fly.

De cand cu VPS-uri si servere peste servere nu am gasit nici un log analyzer care sa isi faca treaba bine si repede fara sa stau sa configurez prea multe chestii. Ieri am gasit GoAccess care m-a impresionat: usor de instalat si rapid (pe un vps cu 2GB ram a procesat cativa GB de log-uri la ~50K lines/sec).

3 Likes

Wow, awesome, am testat acum cu un access_log de Apache, it’s great. Super usor de instalat si folosit. 10x!

Hmm, incerc sa deschid un log pe un VPS si primesc intr-una "Device or resource busy". Cu lsof fisierul respectiv nu apare ca fiind deschis de nici un proces, si se comporta la fel si daca ii fac o copie oriunde ca sa fiu sigur ca nu e accesat de nimic si incerc sa accesez copia. E posibil sa fie totusi problema de la solutia de virtualizare a astora de la care am VPS-ul.

Edit: Cred ca totusi era o problema de perms, l-am rulat direct ca root (nu cu sudo) si a mers. Acum am observat ca nu doar citeste log-urile, dar face si update live. Cool stuff!

Si eu l-am rulat tot ca root, nu stiu daca sunt probleme la partea de permisiuni. Cel mai problabil e ceva local decat legat de aplicatie.
Inca o problema minora de care am dat este ca pe Ubunutu nu imi citea fisierul de configurare din /etc/goaccess.conf dar probabil avea legatura cu faptul ca l-am instalat din surse, nu cu Apt. S-a rezolvat cu parametrul -p in are i-am zis exact ce fisier de configurare sa incarce.
Live update-ul la raporte cred ca se face numai daca folosesti -a.

Live update-ul la raporte cred ca se face numai daca folosesti -a.

Nu cred ca sunt legate, eu l-am pornit fara nici un flag (in afara de -f, evident):

-a --agent-list - Enable a list of user-agents by host.


pe Ubunutu nu imi citea fisierul de configurare din /etc/goaccess.conf

A, eu nici nu l-am instalat global, am rulat doar make si il tin in ~/bin

1 Like

Se vede ca mers din prima si nu am citit pagina din man sau documentatia. :smile:

Super tare. Graylog2 sau logstash ai incercat? Eu caut cumva sa le folosesc ca replacement la newrelic.

1 Like

N-am incercat Greylog dar tot studiez stack-ul ELK pentru un sistem de monitorizare centarlizat. Celalalta optiune care o iau in considerare este Graphite + Cabot, dar nici una din variantele astea nu se incadreaza la setup “rapid si simplu” (ofera si mult mai multe informatii odata ce l-ai configurat ce-i drept).
Am adaugat si Graylog2 la lista de research, 10x!

Ce imi place la graylog ,este ca sutn multe librarii de php care te ajuta sa versi exceptiile acolo. Laravel poate fi setat sa puna exceptiile intr-un server.

Astfel desi ai sute de aplicatii in jurul lumii, exceptiile, logurile, debug-urile vin centralizat

Laravel probabil foloseste Monolog in spate, ca si Symfony2, iar Monolog poate sa faca o gramada de chestiile cu log-urile aplicatiei. Eu spre exemplu in productie am un log chain, care scrie intr-un fisier dar imi trimite si mail cu orice apare peste un anumit log level (critical in cazul meu). Si daca nu ai putea sa faci asta direct oricum gasesti transformere pentru log-uri care sa aduca la un numitor comun astfel incat poti sa extragi informatia de care ai nevoie printr-o aplicatie de analiza.

1 Like

Hehe, same here (ma rog, eu nu folosesc nici Laravel nici Symfony). Si am seturi diferite de handlere in functie de env. Pe dev am un handler de xdebug simplu care scuipa tot, impreuna cu backtrace. Pe productie apoi am in functie de nivel. Totul mai sus de debug intra in log pe disk, iar ce e mai sus de Error vine si pe mail (cu un handler pe care mi l-am scris pentru Mailgun).

Nu degeaba monolog e asa popular.

1 Like