Saludos amigos, llevaba ya un tiempo sin ampliar la serie de En Busca del Dashboard perfecto, pero ha llevado el momento de continuar. Hoy os traigo una entrada muy interesante, que tenía muchas ganas de añadir a la serie, se trata de cómo recolectar las estadísticas de Pi-hole.
Una vez que terminemos todos los pasos, tendríais que tener un resultado similar a lo siguiente:
Que como sabréis si usáis Pi-hole, se da un aire a la interfaz por defecto de la solución.
¿Qué es Pi-hole?
Pi Hole es un bloqueador de anuncios que funciona a nivel de DNS protegiendo toda nuestra red. En un entorno doméstico, puede cortar casi todos los anuncios de todos los dispositivos de nuestra casa, sin tener que instalar un bloqueador de anuncios en cada uno de ellos.
En términos simples, un servidor DNS es un registro de direcciones de Internet que ayuda a localizar el servidor usando el nombre de dominio. Cuando se visita cualquier sitio, se hace una consulta al servidor DNS para localizar la dirección IP (ubicación) del servidor al que se va a conectar. Pi-Hole se coloca entre nuestro dispositivo y un servidor DNS upstream (puede ser vuestro Active Directory, o las típicas 8.8.8.8) y bloquea cualquier solicitud a servidores de anuncios y de seguimiento conocidos. Pi-Hole puede aceptar consultas DNS pero depende de un servidor upstream para resolver las consultas.
Algunas de las increíbles características y ventajas de Pi Hole:
- ¡Libre! Todo lo que necesitas es un dispositivo para ejecutar Pi-Hole en – Una Raspberry Pi, Máquina Linux, o Docker.
- No se requiere ningún software de bloqueo de anuncios del lado del cliente.
- Más de 100.000 dominios de servicios publicitarios bloqueados con las listas de bloqueo predeterminadas.
- Bloquea los anuncios en cualquier dispositivo, incluidos los televisores inteligentes y otros dispositivos que no permiten realizar ninguna modificación. La excepción son los dispositivos con DNS de código duro (que se explican a continuación).
- Reduce el ancho de banda y mejora el rendimiento general de la red. Como puede ver en la imagen anterior. Más del 50% de las solicitudes de anuncios fueron bloqueadas antes de ser descargadas.
- Pi-Hole tiene un servidor web incorporado que proporciona una interfaz web fácil de usar para la administración.
No veremos hoy cómo instalarlo, porque de verdad son 5 minutos, pero si veremos cómo monitorizarlo, ¡vamos allá! Para obtener la información, no he usado complejos scripts que requieren autenticación, directamente he usado el api.php que nos da los datos necesarios.
Configuración del Telegraf para analizar el nuevo .json y enviarlo a InfluxDB
Esta vez voy a usar el siempre versátil inputs.http, para analizar directamente desde el .json, la configuración no puede ser más fácil, he creado un nuevo archivo bajo /etc/telegraf/telegraf.d/pihole.conf con esto dentro, cambiar solamente la URL a vuestro Pi-hole:
[[inputs.http]] #PiHole URL for data in JSON format urls = ["http://192.168.1.3/admin/api.php"] method = "GET" #Overwrite measurement name from default `http` to `pihole_stats` name_override = "pihole_stats" #Exclude url and host items from tags tagexclude = ["host"] #Data from HTTP in JSON format data_format = "json" #JSON values to set as string fields json_string_fields = ["url", "status"] insecure_skip_verify = true
Para probar que todo funciona bien lanzamos lo siguiente:
telegraf --config /etc/telegraf/telegraf.d/pihole.conf --test
El comando debería darnos algo similar a lo siguiente si todo funciona bien:
pihole_stats,ads_blocked_today=1946,ads_percentage_today=7.122987,clients_ever_seen=11,dns_queries_all_types=27320,dns_queries_today=27320,domains_being_blocked=131435,privacy_level=0,queries_cached=6864,queries_forwarded=18510,reply_CNAME=5149,reply_IP=8706,reply_NODATA=3177,reply_NXDOMAIN=2312,unique_clients=11,unique_domains=3122 gravity_last_updated_absolute=1607834043,gravity_last_updated_relative_days=1,gravity_last_updated_relative_hours=9,gravity_last_updated_relative_minutes=17,status="enabled" 1607953895000000000
Tendremos que reiniciar ahora el servicio de telegraf:
systemctl restart telegraf
Si vamos a nuestro Grafana – Explorer, podemos ver que tenemos datos!
Grafana Dashboard para ver todo de manera centralizada
Ahora que tenemos toda esta información, seguramente queramos mostrarlo de manera más elegante.
Con tan solo importar el siguiente Dashboard usando la URL de Grafana, ya tendréis algo similar a esto:
Al final del todo, si todo ha ido bien, podréis ver ya vuestro genial Pi-hole Dashboard y conocer cuantas peticiones estáis ahorrando, y enseñar a todos como habéis mejorado la calidad y seguridad de la red:
Espero que os guste, y me gustaría dejaros la serie completa aquí, para que empecéis a jugar con los plugins que os he ido contando todos estos años:
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte I (Instalando InfluxDB, Telegraf y Grafana)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte II (Instalar agente Telegraf en Nodos remotos Linux)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte III Integración con PRTG
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IV (Instalar agente Telegraf en Nodos remotos Windows)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte V (Activar inputs específicos, Red, MySQL/MariaDB, Nginx)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VI (Monitorizando Veeam)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VII (Monitorizar vSphere)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VIII (Monitorizando Veeam con Enterprise Manager)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IX (Monitorizando Zimbra Collaboration)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte X (Grafana Plugins)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XI
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XII – Plugin nativo de Telegraf para vSphere
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIII – Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIV – Veeam Availability Console
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XV – Monitorización IPMI de nuestros Hosts ESXi
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVI – Rendimiento y seguridad avanzada de Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVII – Mostrando los Dashboards en dos monitores usando Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVIII – Monitorizar temperatura y estado de Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIX (Monitorizando Veeam con Enterprise Manager) Shell Script
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XX (Monitorizando Certificados SSL x.509)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXI (Monitorizando HTTP Responses)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXII (Monitorizando Cloudflare con Mapa)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIII (Monitorizando WordPress con Jetpack RESTful API)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIV (Monitorizando de Veeam for Microsoft Azure)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXV (Monitorizando Consumo Eléctrico)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVI (Monitorizando Veeam Backup for Nutanix)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVII (Monitorizando ReFS y XFS (block-cloning y reflink)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVIII (Monitorizando HPE StoreOnce)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIX (Monitorizando PiHole)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXX (Monitorizando Veeam Backup for AWS)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXI (Monitorizando Unifi Protect)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXII (Monitorizando Veeam ONE – experimental)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIII (Monitorizando NetApp ONTAP)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIV (Monitorizando Goldshell Miners – JSONv2)

[…] En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIX (Monitorizando PiHole) […]