Tiburón elefante es una herramienta liviana para monitorear, analizar y depurar PostgreSQL tráfico de red. Ayuda a los desarrolladores y administradores a comprender cómo interactúan los clientes, controladores y ORM con PostgreSQL servidores, proxies y grupos de conexiones.
También puede rastrear el tráfico entre servidores primarios y de reserva, así como entre suscriptores y publicadores en sistemas de replicación.
GitHub: neondatabase-labs/elephantshark
Caracteristicas
Tiburón elefante Fue diseñado como una herramienta de escucha y análisis del tráfico de Postgres sin necesidad de modificar la base de datos ni las aplicaciones. Permite:
- Monitorear la actividad del cliente - ver qué consultas se ejecutan, con qué frecuencia y con qué latencia.
- Comprender el comportamiento del controlador y del ORM - cómo abren las conexiones, qué parámetros utilizan y qué comandos envían.
- Solucionar problemas de conexión y de grupo - por ejemplo, conexiones lentas o interrumpidas.
- Analizar la replicación - tráfico entre servidores primarios/en espera y servidores de publicación/suscriptor.
- Trabajar de forma no invasiva - la herramienta no requiere ningún PostgreSQL cambios de configuración.
Elephantshark se puede utilizar como herramienta de diagnóstico al configurar infraestructura, realizar migraciones o depurar conexiones inestables.
Instalación
Para instalar Tiburón elefante, clona el repositorio y construye el binario desde la fuente:
git clone https://github.com/neondatabase-labs/elephantshark.git cd elephantshark cargo build --releaseEl binario compilado se ubicará en
target/release/elephantsharkTambién puedes descargar versiones prediseñadas (si están disponibles) desde GitHub Estrenos.
Ejemplos de uso
Comience a analizar el tráfico en una interfaz o puerto específico:
sudo elephantshark --interface eth0 --port 5432O leer un texto previamente guardado .pcap archivo:
elephantshark --file traffic.pcap- Elephantshark reconoce automáticamente PostgreSQL Paquetes y muestra comandos, consultas y respuestas decodificadas. Esto permite un análisis detallado de cómo la aplicación se comunica con la base de datos.
¿Por qué probar Elephantshark?
- Construido específicamente para PostgreSQL. Comprende el protocolo interno de Postgres, incluidos comandos extendidos y procesos de protocolo de enlace.
- No intrusivo. Funciona como un rastreador pasivo sin afectar el rendimiento.
- Genial para depurar. Ayuda a identificar rápidamente consultas problemáticas, tiempos de espera o problemas de conexión de grupo.
- Ideal para DevOps y DBA. Esencial a la hora de configurar sistemas de alto rendimiento y tolerantes a fallos. PostgreSQL .
Conclusión
Tiburón elefante es un “microscopio de red” para PostgreSQLLe ayuda a ver cómo se comunica su aplicación con la base de datos, identificar puntos débiles y mejorar la estabilidad general. Si administra infraestructura, crea controladores de bases de datos o simplemente desea comprender... PostgreSQL establecer redes más profundas - Tiburón elefante Es una excelente herramienta para tener en tu kit de herramientas.
Preguntas Frecuentes (FAQ)
- ¿Puedo utilizar Elephantshark en producción? Sí, pero se recomienda ejecutarlo en modo de monitoreo pasivo o en copias de tráfico para evitar afectar las conexiones activas.
- ¿Requiere acceso a la base de datos? No. Elephantshark solo analiza el tráfico de la red y no requiere... PostgreSQL credenciales de acceso.
- ¿Cuál es la sobrecarga de rendimiento? Mínimo: la herramienta solo escucha paquetes y no interfiere con la transmisión.
- ¿Elephantshark admite conexiones SSL? No, no puede descifrar el tráfico cifrado con SSL, pero funciona perfectamente con conexiones no cifradas (por ejemplo, dentro de una red local).
- ¿Se puede utilizar con pgbouncer u otros pools? Sí, Elephantshark reconoce el tráfico entre clientes, servidores proxy, grupos y PostgreSQL servidores.