Esta es una cita de uno de mis conocidos que hace mucho tiempo me preguntó sobre Postgres. Entonces, en un par de días resolvimos su problema y, al agradecerme, añadió: «Es bueno tener un DBA conocido».
¿Pero qué hacer si no tienes un DBA conocido? Las opciones de respuesta pueden ser bastante variadas, desde buscar entre los amigos de tus amigos hasta estudiar la cuestión por ti mismo. Pero cualquiera que sea la respuesta que se te ocurra, tengo buenas noticias para ti. Hemos lanzado en modo de prueba un servicio de recomendaciones para Postgres y todo lo que lo rodea. ¿Qué es esto y cómo llegamos a esta vida?
¿Para qué es todo esto?
Postgres no es simplemente complicado, a veces puede ser muy complejo. Depende del nivel de implicación y responsabilidad.
Aquellos en operaciones deben asegurarse de que Postgres funcione correctamente y de manera estable como servicio: monitorear la utilización de recursos, la disponibilidad, la adecuación de la configuración, realizar actualizaciones periódicas y revisiones de salud regulares. Quienes estén en desarrollo y escriban aplicaciones, en términos generales, deben asegurarse de cómo la aplicación interactúa con la base de datos y que no genere situaciones de emergencia que puedan colapsar la base. Si la persona no tiene la suerte de ser líder técnico o director técnico, es fundamental que Postgres funcione de manera confiable, predecible y sin problemas, preferiblemente sin profundizar en Postgres por mucho tiempo.
En cualquiera de estos casos, está tú y Postgres. Para mantener Postgres adecuadamente, es necesario tener un buen entendimiento de cómo está estructurado. Si Postgres no es tu especialización directa, puede que requieras bastante tiempo para estudiarlo. En el escenario ideal, cuando hay tiempo y ganas, no siempre es claro por dónde empezar, cómo y hacia dónde avanzar.
Incluso si te rodeas de monitoreo, que teóricamente debería facilitar la operación, la cuestión del conocimiento experto sigue abierta. Para poder leer y entender gráficos, igualmente hay que tener un buen entendimiento de cómo funciona Postgres. De lo contrario, cualquier monitoreo se convierte en imágenes poco felices y spam de alertas a cualquier hora del día.
está diseñado para facilitar el uso de Postgres. Este servicio recopila y analiza datos sobre Postgres y brinda recomendaciones sobre lo que se puede mejorar.
El objetivo principal del servicio es proporcionar recomendaciones claras que ofrezcan una idea de lo que está ocurriendo y qué se debe hacer a continuación.
Para los profesionales que no tienen conocimientos expertos, las recomendaciones ofrecen un punto de partida para mejorar sus habilidades. Para los especialistas avanzados, las recomendaciones señalan los aspectos a los que se debe prestar atención. En este sentido, Weaponry actúa como asistente, realizando tareas rutinarias de detección de problemas o deficiencias que requieren atención especial. Weaponry puede compararse con un linter que revisa Postgres y señala sus defectos.
Estado actual
Actualmente se encuentra en fase de prueba y de forma gratuita, la inscripción está temporalmente limitada. Junto con varios voluntarios, estamos perfeccionando el motor de recomendaciones en bases de datos de prueba, identificando falsos positivos y trabajando en el texto de las recomendaciones.
Cabe mencionar que las recomendaciones son bastante directas; simplemente indican qué y cómo hacer, sin detalles adicionales, por lo que al principio será necesario seguir enlaces complementarios o buscar información adicional en Google. Las revisiones y recomendaciones abarcan configuraciones del sistema y del hardware, así como las configuraciones de Postgres, el esquema interno y los recursos utilizados. Queda aún mucho por añadir en nuestros planes.
Por supuesto, también estamos buscando voluntarios dispuestos a probar el servicio y dar su opinión. Además, tenemos , puedes ingresar y ver. Si entiendes que esto es lo que necesitas y estás listo para probarlo, contáctanos en .
Actualizado el 2020-09-16. Comenzando.
Después de registrarse, se le ofrece al usuario crear un proyecto, que permite agrupar instancias de bases de datos. Tras crear el proyecto, el usuario es dirigido a las instrucciones para configurar e instalar el agente. En pocas palabras, se deben crear usuarios para el agente, luego descargar el script de instalación del agente y ejecutarlo. En comandos shell, se vería aproximadamente así:
psql -c "CREATE ROLE pgscv WITH LOGIN SUPERUSER PASSWORD 'A7H8Wz6XFMh21pwA'"
export PGSCV_PG_PASSWORD=A7H8Wz6XFMh21pwA
curl -s https://dist.weaponry.io/pgscv/install.sh |sudo -E sh -s - 1 6ada7a04-a798-4415-9427-da23f72c14a5Si hay pgbouncer en el host, también será necesario crear un usuario para conectar el agente. La forma específica de configurar el usuario en pgbouncer puede variar y depende en gran medida de la configuración utilizada. En términos generales, la configuración consiste en agregar el usuario a stats_users el archivo de configuración (generalmente esto es pgbouncer.ini) y especificar la contraseña (o su hash) en el archivo indicado en el parámetro auth_file. Al cambiar stats_users, será necesario reiniciar pgbouncer.
El script install.sh acepta un par de argumentos obligatorios que son únicos para cada proyecto y a través de variables de entorno recibe las credenciales de los usuarios creados. Luego, el script inicia el agente en modo bootstrap: el agente se copia a PATH, crea una configuración con las credenciales, una unidad systemd y se inicia como un servicio systemd.
Aquí termina la instalación. En un par de minutos, la instancia de la base de datos aparecerá en la lista de hosts en la interfaz y se podrán ver las primeras recomendaciones. Pero un punto importante es que muchas recomendaciones requieren una gran cantidad de métricas acumuladas (al menos durante un día).
Fuente: habr.com
