I suggest you ...

Support for modern web statistics programs such as GoAccess

It would be nice if https://goaccess.io/ was supported for statistics.

- Written in C, so faster than a perl script such as awstats.
- Can be used in the traditional way to generate static HTML statistics pages from log files.But a more advanced integration could also provide real-time statistics.

4 votes
Sign in
(thinking…)
Password icon
Signed in as (Sign out)

We’ll send you updates on this idea

Floris shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

3 comments

Sign in
(thinking…)
Password icon
Signed in as (Sign out)
Submitting...
  • Felipe Santos commented  ·   ·  Flag as inappropriate

    GoAccess is for server/app consuming resources.
    Analytics is for front-end user behaviors.
    all different.

  • Daniel Hendricks commented  ·   ·  Flag as inappropriate

    FWIW, I did get this to (sort of) work with the Docker image: allinurl/goaccess

    Caveats:

    - HTML-only. No command-line use.
    - I got an HTTP 400 error when I tried to visit the exposed port.
    - The official image requires a configuration file which required some messing around. I could not find a maintained image that worked strictly by passing environmental variables.
    - It appears that GoAccess only lets you specify one log file (?), so I had to choose between access_log and access_ssl_log (this wasn't a big deal for me since all of my traffic is HTTPS).

    HOWEVER, I did get the HTML output stats to work. What I had to do:

    1. I created the following directories and chown'd permissions to the user:

    [path_to_web_site_root]/docker/goaccess (I put all of my persistent Docker app data under /docker/[app_name]. YMMV.)
    [path_to_web_site_root]/httpdocs/goaccess (or wherever you want the reports generated)

    2. Pull the Docker image in Plesk and add new container. It seems to be working with a 256MB memory limit.
    3. I turned off automatic port mapping and chose my next available port (sort of irrelevant since I got the 400 error, however, I gave it a port to avoid collisions).
    4. I mapped the following volumes:

    /srv/data => [path_to_web_site_root]/docker/goaccess
    /srv/report => [path_to_web_site_root]/httpdocs/goaccess
    /srv/logs => [path_to_web_site_root]/logs

    5. Created the file [path_to_web_site_root]/docker/goaccess/goaccess.conf (with this files contents: https://raw.githubusercontent.com/allinurl/goaccess/master/config/goaccess.conf) and made the following modifications per the Docker page instructions:

    - log-format COMBINED
    - log-file /srv/logs/access_ssl_log
    - output /srv/report/index.html
    - real-time-html true

    I know, it's clunky, but it appears to be working. My biggest disappointment (unless there is a setting that I'm not aware of) is that I can only point to one log file in goaccess.conf (access_log or access_ssl_log). If anyone is more of a GoAccess expert and knows how to configure it (via goaccess.conf since we're not using command-line) to process more than on log file, please let me know.

  • Floris commented  ·   ·  Flag as inappropriate

    GoAccess is an open source program similar to Awstats that runs on your own webserver, parses the webserver log file and generates the statistics locally.

    Using Google Analytics requires including a Javascript file on your website, and sharing information about your visitors with Google. Something not everyone is comfortable with. (And something that could be illegal if you operate in a country with strong privacy laws)

Feedback and Knowledge Base