pgSCV: exportador de métricas para PostgreSQL

Hola a todos. En esta publicación, le contaré sobre pgSCV, un nuevo exportador de métricas para PostgreSQL (y no solo), por qué es tan bueno y qué problemas resuelve.





Seguramente todos los que usan Prometheus y PostgreSQL se han encontrado con postgres_exporter. Este exportador es bastante fácil de poner en marcha. También tiene oportunidades de expansión, según su solicitud, puede describir métricas y sacarlas. Si tiene un buen conocimiento de cómo funcionan las estadísticas post-gres, puede recopilar una gran cantidad de métricas. Pero como saben, además de las métricas de Postgres en sí, también es deseable recopilar métricas del sistema, y ​​si hay servicios auxiliares en la infraestructura, por ejemplo, extractores de conexión (pgbouncer, odyssey, etc.), entonces las métricas deberían también les será quitado. Resulta que necesitamos abastecer a más exportadores.





En pgSCV intenté resolver ambos problemas.





Solución uno. pgSCV puede tomar inmediatamente una gran cantidad de métricas de PostgreSQL sin la necesidad de configuración adicional. En mi opinión, esto facilita enormemente la tarea del lanzamiento inicial . En lugar de perder el tiempo escribiendo una configuración personalizada para capturar métricas adicionales, puede sacarlas de la caja de inmediato. También está presente la capacidad de configurar métricas personalizadas . Surge una pregunta razonable: ¿qué pasa si hay demasiadas métricas y no todas son necesarias? En este caso, puede deshabilitar la recopilación de métricas o limitar la lista de bases de datos de las que desea recopilar métricas .





Segunda solución. Por el momento, pgSCV puede tomar métricas del sistema, PostgreSQL y Pgbouncer. Para hacer esto, busca automáticamente estos servicios y comienza a recopilar métricas de ellos. Obviamente, para recopilar métricas de los servicios de red, necesita detalles de conexión. La captura de métricas no se limita a los servicios locales. Si lo desea, puede especificar la colección de métricas de los servicios alojados en otros nodos.





Un caso de uso típico es simplemente ejecutar pgSCV. En el siguiente ejemplo, se asume que el usuario ya ha sido creado.





curl -O -L https://github.com/weaponry/pgscv/releases/download/v0.5.0/pgscv_0.5.0_linux_amd64.tar.gz
tar xvzf pgscv_0.5.0_linux_amd64.tar.gz
cat << EOF > pgscv.yaml
defaults:
    postgres_username: "monitoring"
    postgres_password: "supersecretpassword"
EOF
./pgscv --config-file pgscv.yaml
      
      



Después del lanzamiento, puede abrir una segunda consola y usarla curl -s 127.0.0.1:9890/metrics



para obtener una lista de métricas.





Observo que pgSCV fue creado para las necesidades de Weaponry (un proyecto para monitorear PostgreSQL y todo lo que lo rodea), ahora pgSCV, en mi opinión, se ha estabilizado y no me avergüenza mostrarlo.





Eso es todo, ¡gracias por tu atención! Si tiene alguna idea, deseo o error, escriba a las discusiones o problemas . Finalmente, algunos enlaces:





  • pgSCV en Github





  • Wiki pgSCV





  • Empezando





  • Colectores disponibles





  • Métricas disponibles








All Articles