Grafische Auswertung des AdGuard Protokolls

  • Hi und hallo,

    ich habe mal wieder eine etwas extravagante Aufgabenstellung:

    Und zwar habe ich eine AdGuard-Home Instanz im Docker und möchte nun das Anfrageprotokoll grafisch aufbereiten.

    Idealerweise möchte ich eine Abfrage zu einer bestimmen URL oder noch besser einem bestimmten Dienst machen können und dann einen Graphen, der anzeigt wann und wie häufig die DNS-Anfrage erfolgt ist. Filterbar nach bestimmten Clients.

    Ich habe bereits herausgefunden, dass ich das Log in Form einer JSON-Datei unter /mnt/user/appdata/adguard_home/workingdir/data/querylog.json finden kann.

    Jedoch habe ich leider keine Idee, wie die darin enthaltenen Daten aufbereitet werden könnten.

    Hat hier jemand eine Idee?


    Nachdem ich die Suchmaschine dazu schon etwas genervt hab, hab ich das hier dazu gefunden:

    Allerdings kann ich damit zugegebnermaßen nicht allzuviel anfangen. Gravana oder das Parsen von Daten sind für mich noch spanische Dörfer...

    Hier noch ein anderer Fund dazu:

    Aus der Community Adguard auf Reddit
    Entdecke diesen Beitrag und mehr aus der Community Adguard
    www.reddit.com

    Und noch einer:

    Adguard Logs to Elasticsearch
    import adguard logs into elasticsearch
    edwardcc.com
  • Komme hier leider absolut nicht weiter.

    So sehen die Einträge in der querylog.json aus:

    {"T":"2024-02-07T19:00:47.190685751+01:00","QH":"i.ytimg.com","QT":"A","QC":"IN","CP":"dot","Upstream":"10.10.10.1:53","Answer":"AACBgAABABAAAAABAWkFeXRpbWcDY29tAAABAAHADAABAAEAAAAWAASO+rp2wAwAAQABAAAAFgAErNkQ1sAMAAEAAQAAABYABNg6zjbADAABAAEAAAAWAATYOtS2wAwAAQABAAAAFgAErNkSdsAMAAEAAQAAABYABI76uVbADAABAAEAAAAWAASO+rl2wAwAAQABAAAAFgAEjvq5lsAMAAEAAQAAABYABI76ubbADAABAAEAAAAWAASO+rnWwAwAAQABAAAAFgAEjvq6VsAMAAEAAQAAABYABKzZEJbADAABAAEAAAAWAASO+rqWwAwAAQABAAAAFgAEjvpK1sAMAAEAAQAAABYABI76ujbADAABAAEAAAAWAASs2RIWAAApIAAAAIAAAAA=","IP":"10.20.20.205","Result":{},"Elapsed":47573047}

    {"T":"2024-02-07T19:01:02.527994483+01:00","QH":"play.googleapis.com","QT":"AAAA","QC":"IN","CP":"dot","Upstream":"10.10.10.1:53","Answer":"AACBgAABAAQAAAABBHBsYXkKZ29vZ2xlYXBpcwNjb20AABwAAcAMABwAAQAAABoAECoAFFBAAQgIAAAAAAAAIArADAAcAAEAAAAaABAqABRQQAEIKgAAAAAAACAKwAwAHAABAAAAGgAQKgAUUEABCCsAAAAAAAAgCsAMABwAAQAAABoAECoAFFBAAQgoAAAAAAAAIAoAACkgAAAAgAAAAA==","IP":"10.20.20.206","Result":{},"Elapsed":399845,"Cached":true}


    Habe schon versucht die JSON in Excel zu importieren, damit ich die Daten dann in Tabellenform hätte, filtern könnte und vielleicht mit einem Diagramm grafisch aufbereiten könnte. Da erhalte ich aber auch nur eine Fehlermeldung:

    Am Ende der JSON-Eingabe wurden überzählige Zeichen ermittelt."

    Daraufhin habe ich an den Anfang ein '[' und an das Ende der Datei ein ']' gesetzt. Dann kam:

    "In der JSON-Eingabe wurde ein ungültiges Array ermittelt."


    Irgendwie muss das zu schaffen sein das grafisch auszuwerten. Nur wie?

    Die Heimautomatisierer unter euch haben da doch bestimmt Ideen.

  • Hallo,

    hier gibt es noch zwei Anleitungen zu dem Thema:

    Visualizing Ad Blocking Stats: Grafana Dashboard for AdguardHome
    AdguardHome, the efficient ad blocker, becomes even more powerful when combined with a Docker-based Prometheus exporter. This guide walks…
    medium.com
    Grafana, Prometheus, and AdGuardHome DNS, using Docker. - JohnMinadeo.com
    Goal: To use my existing Grafana instance to visual data from AdguardHome DNS which uses a Prometheus database for metric storage and the AdguardExporter…
    blog.johnminadeo.com
  • Danke für die Info.

    Ich kenne mich mit Grafana jetzt noch nicht aus.

    Kann man mit den Daten aus Adguard dann auch wirklich gezielt Abfragen zu bestimmten URLs und Clients machen und diese dann grafisch ausgeben lassen?

    Oder ist die Ausgabe der Daten auf das im Screenshot ersichtliche Dashboard beschränkt?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!