Skip to content

GoAccess - Visual Web Log Analyzer

Verschoben Linux
1 1 181
  • Es gibt ja einige Tools um die Logfiles von Webseiten auszulesen. Mir fallen dazu spontan noch folgende ein. Awstats, Piwik oder wie es mittlerweile heißt Matomo. Das führende dürfte Google Analytics sein. Jetzt nehmen wir mal an, wir möchten Google loswerden und machen das selber. Für einen Überblick dürften alle diese Tools reichen. Beim Umsehen bin ich über GoAccess gestolpert.

    Beim durchlesen der Dokumentation kam ich zu dem Ergebnis, das sieht gut aus, das probieren wir mal 😉 Also fing ich mal an ein wenig damit zu spielen. Das erste was auffiel, unter Debian reichte ein

    apt install goaccess
    

    Das freut den Admin 🙂 Mal schnell irgendwo her ein access.log kopiert und getestet. Sieht gut aus und sollte für mich völlig ausreichend sein.

    Auf der Webseite findet man haufenweise Beispiele. Mit folgendem Beispiel konnte ich mal testen.

    goaccess access.log -o /usr/share/nginx/html/site/report.html --real-time-html
    

    Danach konnte man sich das mit

    http://192.168.3.11/report.html
    

    anschauen. Eine Live Demo findet man hier.

    Dann kam die Überlegung, wie kann ich das mal ein wenig testen? Auf dem Server sollte es nicht drauf. Also kam es in eine VM bei mir zu Hause.

    Ich brauchte also das access.log vom Server und dann den GoAccess-Dienst.

    Dienst zum Abholen des Logs

    #!/bin/bash
    scp ssh root@DOMAIN:/var/log/nginx/access.log /root
    

    Nicht vergessen

    chmod +x fetch.sh
    

    Crontab

    # m h  dom mon dow   command
    * * * * *  /root/fetch.sh
    

    Zum Testen mal jede Minute. Somit habe ich das Log jede Minute aktualisiert auf dem Server liegen.

    GoAccess systemd

    Für den Start von GoAccess lege ich einen SystemD Dienst an.

    /etc/systemd/system/goaccess.service

    [Unit]
    Description=Goaccess Start
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/root/goaccess
    RemainAfterExit=true
    StandardOutput=journal
    
    [Install]
    WantedBy=multi-user.target
    

    Dienst aktivieren

    systemctl enable goaccess.service
    

    GoAccess Script

    Es fehlt noch das Script in /root/goaccess

    #!/bin/bash
    goaccess /root/access.log -o /var/www/html/report.html --config-file=/etc/goaccess/goaccess.conf --log-format=COMBINED --ignore-crawlers  --restore --persist --db-path "/var/lib/goaccess-db" --real-time-html --daemonize
    

    Auch die Datei braucht ein X

    chmod +x goaccess
    

    Danach die Kiste durchstarten.

    root@:~# pstree
        systemd─┬─agetty
                ├─cron
                ├─dbus-daemon
                ├─dhclient───3*[{dhclient}]
                ├─goaccess───2*[{goaccess}]
                ├─nginx───4*[nginx]
                ├─rsyslogd───3*[{rsyslogd}]
                ├─sshd───sshd───sshd───bash───su───bash───pstree
                ├─systemd───(sd-pam)
                ├─systemd-journal
                ├─systemd-logind
                ├─systemd-timesyn───{systemd-timesyn}
                └─systemd-udevd
    

    Ok läuft.

    bc8e6e71-0428-4dcc-9b8f-eb13e1ebf6c8-grafik.png

    Jetzt schau ich mal, ob mir das gefällt und wenn ja, dann bleibt es 🙂

  • FrankMF FrankM verschob dieses Thema von Privat am
  • Restic v0.18.0 released

    Restic restic linux
    1
    0 Stimmen
    1 Beiträge
    127 Aufrufe
    Niemand hat geantwortet
  • Minio - Objektspeicher selbst gehostet

    Linux minio linux restic
    1
    1
    0 Stimmen
    1 Beiträge
    230 Aufrufe
    Niemand hat geantwortet
  • NodeBB - ActivityPub

    NodeBB nodebb linux fediverse
    1
    0 Stimmen
    1 Beiträge
    143 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Upgrade Hub 9 (30.0.0)

    Nextcloud nextcloud linux
    3
    2
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF
    Ich habe dann mal weitergesucht, dank ein paar Tipps aus dem Fediverse, sehe ich jetzt was heller https://chaos.social/@towo/113152384137718991 Nachdem ich dann ein paar Apps gefunden und installiert hatte AppAPI Flow tauchte dann im Benutzermenü, rechts oben, folgendes auf. [image: 1726992766346-bildschirmfoto_20240922_101125.png] Das Interessante ist der Menüpunkt Externe Apps. Nun sollte ich diese Funktion verstanden haben. Das Nextcloud Team integriert also diese Windmill App via Docker Container und greift dann darauf zu. In der Videopräsentation war doch von in Nextcloud integriert die Werbeansprache!? Ein Docker Container ist für mich keine Integration. Ich habe einige rudimentäre Kenntnisse von Docker, ausschließlich lokal. Aber, ich komme nicht auf die Idee das auf einem produktiven Server zu installieren. Somit kann ich das Testen hier beenden und die Apps alle wieder deinstallieren. Jetzt habe ich noch im Kopf, ob man das mal mit einem Nextcloud-AIO testen soll? Natürlich auf einem Testsystem. https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-use-this
  • Firefox 122 als .deb Paket

    Linux firefox linux
    1
    1
    0 Stimmen
    1 Beiträge
    218 Aufrufe
    Niemand hat geantwortet
  • Debian Buster 10.6 released

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    249 Aufrufe
    Niemand hat geantwortet
  • Kopia 0.7.0-rc1 Kurztest

    Kopia kopia linux
    2
    2
    0 Stimmen
    2 Beiträge
    435 Aufrufe
    FrankMF
    Nachdem ich doch ziemlich lange Snapshot Zeiten hatte, habe ich Jarek mal gefragt woran das liegt. I guess you could run it in the cloud but latency will be progressively worse because it's a chatty protocol sensitive to latency Technisch verstehe ich das nicht, aber ich habe dann mal als kurzen Test auf meine lokale SSD einen Snapshot gemacht. Der war nach 2 Minuten (ca. 11GB) fertig. Der zweite Snapshot brauchte ca. 12 Sekunden. Das hört sich schon mal viel besser an, als die Stunden. Aktuell ist der Plan den Kopia-Server im Internet zu nutzen damit beerdigt. Das scheint so nicht zu funktionieren. Ich mache da noch einen kurzen Test, diesmal Lokal auf meinem NAS.
  • Minicom

    Linux linux
    1
    1
    0 Stimmen
    1 Beiträge
    544 Aufrufe
    Niemand hat geantwortet