Monitorare AdGuard tramite Grafana e Prometheus

AdGuard espone di default le sue metriche di utilizzo alla pagina /metrics , ma questi dati non possono essere utilizzati da Prometheus così come sono. In questo articolo vedremo insieme come estrapolare i dati in modo da visualizzarli su Grafana.

Condividi
Monitorare AdGuard tramite Grafana e Prometheus

Per istruzioni su come installare e configurare AdGuard Home, segui la mia guida apposita.

Vai all'articolo

Introduzione

AdGuard espone di default le sue metriche di utilizzo alla pagina /metrics , ma questi dati non possono essere utilizzati da Prometheus così come sono.

Per estrarre le metriche da AdGuard, importarle su Prometheus e visualizzarle su Grafana vi servirà una macchina con Docker.

Installazione

💡
Le seguenti istruzioni sono in parte tratte dalla pagina del progetto github di Adguard-Exporter.

Sulla vostra macchina Docker eseguite il comando docker run come segue, valorizzando l'indirizzo IP del server AdGuard, username e password da usare per accedere, ed opzionalmente modificando l'intervallo di scraping.

docker run \
  -e 'ADGUARD_SERVERS=http://192.168.0.27' \
  -e 'ADGUARD_USERNAMES=user' \
  -e 'ADGUARD_PASSWORDS=password' \
  -e 'INTERVAL=15s' \ # Optional, defaults to 30s
  -p 9618:9618 \
  ghcr.io/henrywhitaker3/adguard-exporter:latest

Se avete più di un server AdGuard, potete monitorarli tutti con una sola istanza di Adguard-Exporter, specificando URL, Username e Password per ciascuno:

docker run \
  -e 'ADGUARD_SERVERS=http://192.168.0.27,http://192.168.0.28' \
  -e "ADGUARD_USERNAMES=$USERNAME1,$USERNAME2" \
  -e "ADGUARD_PASSWORDS=$PASSWORD1,$PASSWORD2" \
  -p 9618:9618 \
  ghcr.io/henrywhitaker3/adguard-exporter:latest

Una volta creato ed avviato il container di Adguard-Exporter, è il momento di censirlo su Prometheus per importare le metriche.

Configurazione su Prometheus

Non hai ancora installato Prometheus?
Segui la mia guida dove ti illustro come fare.

Vai all'articolo

Modificate il file prometheus.yml aggiungendo il seguente job agli scrape_configs, avendo cura di impostare l'indirizzo IP della vostra macchina docker (per raggiungere Adguard-Exporter) al posto di INDIRIZZOIP

  - job_name: 'adguard'
    static_configs:
      - targets: ['INDIRIZZOIP:9618']

Riavviate Prometheus e controllate che non segnali errori

sudo systemctl restart prometheus.service
sudo systemctl status prometheus.service

Potete ora quindi creare la vostra Dashboard su Grafana leggendo le metriche provenienti dal job_name "adguard".

In alternativa, potete importare una dashboard già pronta creata appositamente per questo container di docker.