Pi-hole

Pi-hole (ab Version 6) über die REST-API in Symcon überwachen und steuern.

Stable 2.0Beta 2.01.478 Downloads114 in 30 Tagen

Privat kostenlos Gewerblich auf Anfrage Anfrage senden

Diese Dokumentation beschreibt immer die neueste Version des Moduls, aktuell 2.0 im Kanal Beta.

PiHole Statistics

Zeigt die Statistik des Pi-holes als Variablen und liefert Top-Listen, Verlauf und einzelne DNS-Abfragen für Skripte. Die Instanz braucht den PiHole Splitter und wird manuell angelegt. Die Kachel zeigt den Anteil geblockter Abfragen, die Kennzahlen, den Verlauf der letzten 24 Stunden und die Top-Listen. Verlauf und Top-Listen erscheinen, sobald der Pi-hole Daten liefert.

Inhaltsverzeichnis

1. Konfiguration

FeldBeschreibung
AktualisierungsintervallAbstand in Sekunden, in dem die Daten gelesen werden. Standard ist 30, 0 schaltet die Abfrage ab.
Variablen je Abfragetyp anlegenLegt je DNS-Typ (A, AAAA, …) eine Variable an. Abwählen entfernt sie.
Variablen je Abfragestatus anlegenLegt je Status (Gravity, Cache, Forwarded, …) eine Variable an.
Variablen je Antworttyp anlegenLegt je Antworttyp (IP, NXDOMAIN, …) eine Variable an.

2. Variablen

VariableIdentTypBeschreibung
DNS-AbfragenTotalGanzzahlAnzahl der Abfragen.
Geblockte AbfragenBlockedGanzzahlAnzahl der geblockten Abfragen.
Anteil geblocktPercentBlockedKommazahl (%)Anteil der geblockten Abfragen.
Eindeutige DomainsUniqueDomainsGanzzahlAnzahl der bekannten Domains.
Weitergeleitete AbfragenForwardedGanzzahlAn Upstream-Server weitergeleitet.
Aus dem Cache beantwortetCachedGanzzahlAus Cache oder lokaler Konfiguration beantwortet.
Abfragen pro SekundeFrequencyKommazahlDurchschnittliche Abfragefrequenz.
Aktive ClientsClientsActiveGanzzahlIn den letzten 24 Stunden gesehen.
Clients gesamtClientsTotalGanzzahlAlle bekannten Clients.
Domains auf BlocklistenGravityDomainsGanzzahlDomains der Gravity-Liste.
Gravity zuletzt aktualisiertGravityLastUpdateDatum/UhrzeitZeitpunkt der letzten Aktualisierung, 0 wenn unbekannt.
Abfragetyp XType_<X>GanzzahlNur mit der Option je Abfragetyp.
Abfragestatus XStatus_<X>GanzzahlNur mit der Option je Abfragestatus.
Antworttyp XReply_<X>GanzzahlNur mit der Option je Antworttyp.

3. Funktionen

Beim Aufruf aus Skripten müssen alle Parameter angegeben werden, Standardwerte gelten dort nicht. Übliche Werte: Gruppen [0], Aktiv true, Anzahl 10, Listentyp block, alle übrigen optionalen Parameter leer (''), 0 oder false. Alle Funktionen außer Update liefern die Antwort des Pi-holes als JSON-Text. Bei einem Fehler enthält die Antwort ein Objekt error.

void PIHSTAT_Update(integer $InstanzID); Liest die Zusammenfassung und aktualisiert die Variablen. Läuft automatisch im eingestellten Intervall.

string PIHSTAT_GetSummary(integer $InstanzID); Übersicht der Aktivität.

string PIHSTAT_GetTopDomains(integer $InstanzID, boolean $Blocked, integer $Count); Am häufigsten angefragte Domains, mit $Blocked nur geblockte.

string PIHSTAT_GetTopClients(integer $InstanzID, boolean $Blocked, integer $Count); Aktivste Clients.

string PIHSTAT_GetUpstreams(integer $InstanzID); Statistik der Upstream-DNS-Server.

string PIHSTAT_GetQueryTypes(integer $InstanzID); Anzahl der Abfragen je DNS-Typ.

string PIHSTAT_GetRecentBlocked(integer $InstanzID, integer $Count); Zuletzt geblockte Domains.

string PIHSTAT_GetHistory(integer $InstanzID); Verlauf der letzten 24 Stunden.

string PIHSTAT_GetClientHistory(integer $InstanzID, integer $Clients); Verlauf je Client, 0 liefert alle Clients.

string PIHSTAT_GetDatabaseSummary(integer $InstanzID, integer $From, integer $Until); string PIHSTAT_GetDatabaseTopDomains(integer $InstanzID, integer $From, integer $Until, boolean $Blocked, integer $Count); string PIHSTAT_GetDatabaseTopClients(integer $InstanzID, integer $From, integer $Until, boolean $Blocked, integer $Count); string PIHSTAT_GetDatabaseUpstreams(integer $InstanzID, integer $From, integer $Until); string PIHSTAT_GetDatabaseQueryTypes(integer $InstanzID, integer $From, integer $Until); string PIHSTAT_GetDatabaseHistory(integer $InstanzID, integer $From, integer $Until); string PIHSTAT_GetDatabaseClientHistory(integer $InstanzID, integer $From, integer $Until); Wie die Funktionen oben, aber aus der Langzeit-Datenbank. $From und $Until sind Unix-Zeitstempel.

string PIHSTAT_GetQueries(integer $InstanzID, string $Filter); Einzelne DNS-Abfragen. $Filter ist ein JSON-Objekt, zum Beispiel {"length":50,"domain":"example.com"}. Mögliche Felder: from, until, length, start, cursor, domain, client_ip, client_name, upstream, type, status, reply, dnssec, disk.

string PIHSTAT_GetQuerySuggestions(integer $InstanzID); Vorschläge für Filterwerte.

4. Spenden

Dieses Modul ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

PayPal Amazon Wunschzettel

5. Lizenz

CC BY-NC-SA 4.0