Tenemos Postgres allí, pero no sé qué hacer con él (c)

Esta es una cita de uno de mis amigos que una vez se me acercó con una pregunta sobre Postgres. Luego resolvimos su problema en un par de días y, agradeciéndome, añadió: "Es bueno tener un DBA familiar".

¿Pero qué hacer si no conoces un DBA? Puede haber muchas opciones de respuesta, desde buscar amigos entre amigos hasta estudiar la pregunta usted mismo. Pero sea cual sea la respuesta que se te ocurra, tengo buenas noticias para ti. En modo de prueba, lanzamos un servicio de recomendación para Postgres y todo lo que lo rodea. ¿Qué es esto y cómo llegamos a vivir así?

¿Por qué es todo esto?

Postgres al menos no es fácil y, a veces, muy difícil. Depende del grado de implicación y responsabilidad.

Quienes trabajan en operaciones deben asegurarse de que Postgres como servicio funcione de manera adecuada y estable: monitorear la utilización de los recursos, la disponibilidad, la idoneidad de la configuración, realizar actualizaciones periódicas y controles de estado periódicos. Quienes están en desarrollo y escriben aplicaciones, en términos generales, necesitan monitorear cómo la aplicación interactúa con la base de datos y que no cree situaciones de emergencia que puedan hacer caer la base de datos. Si una persona tiene la mala suerte de ser líder técnico/director técnico, entonces es importante para él que Postgres en su conjunto funcione de manera confiable, predecible y no cree problemas, aunque es aconsejable no profundizar en Postgres durante mucho tiempo. .

En cualquiera de estos casos, estás tú y Postgres. Para servir bien a Postgres, es necesario comprenderlo bien y comprender cómo funciona. Si Postgres no es una especialización directa, entonces puedes dedicar bastante tiempo a aprenderlo. Lo ideal es que cuando hay tiempo y ganas no siempre esté claro por dónde empezar, cómo y hacia dónde avanzar.

Incluso si se introduce el control, que en teoría debería facilitar el funcionamiento, la cuestión del conocimiento experto sigue abierta. Para poder leer y comprender gráficos, aún es necesario tener una buena comprensión de cómo funciona Postgres. De lo contrario, cualquier seguimiento se convierte en imágenes tristes y spam de alertas en momentos aleatorios del día.

Arsenal recién creado para hacer que Postgres sea más fácil de usar. El servicio recopila y analiza datos sobre Postgres y hace recomendaciones sobre lo que se puede mejorar.

El objetivo principal del servicio es proporcionar recomendaciones claras que den una idea de lo que está sucediendo y lo que se debe hacer a continuación.

Para los profesionales que no tienen conocimientos expertos, las recomendaciones proporcionan un punto de partida para una formación avanzada. Para los especialistas avanzados, las recomendaciones indican puntos a los que se debe prestar atención. En este sentido, Weaponry actúa como un asistente que realiza tareas rutinarias para encontrar problemas o deficiencias que requieran una atención especial. El armamento se puede comparar con un linter que verifica Postgres y señala fallas.

¿Cómo están las cosas ahora?

En la actualidad Arsenal está en modo de prueba y de forma gratuita, la inscripción está temporalmente limitada. Junto con varios voluntarios, estamos ultimando el motor de recomendaciones en bases cercanas a combate, identificando falsos positivos y trabajando en el texto de las recomendaciones.

Por cierto, las recomendaciones siguen siendo bastante sencillas: simplemente dicen qué hacer y cómo hacerlo, sin detalles adicionales, por lo que al principio tendrás que seguir los enlaces relacionados o buscarlos en Google. Las comprobaciones y recomendaciones cubren la configuración del sistema y del hardware, la configuración del propio Postgres, el esquema interno y los recursos utilizados. Todavía quedan muchas cosas por agregar a los planes.

Y, por supuesto, buscamos voluntarios que estén dispuestos a probar el servicio y dar su opinión. También tenemos manifestación, puedes entrar y echar un vistazo. Si comprende que necesita esto y está listo para intentarlo, escríbanos a correo.

Actualizado el 2020 de septiembre de 09. Empezando.

Después del registro, se solicita al usuario que cree un proyecto, que le permite combinar instancias de bases de datos en grupos. Después de crear un proyecto, se dirige al usuario a las instrucciones para configurar e instalar el agente. En pocas palabras, debe crear usuarios para el agente, luego descargar el script de instalación del agente y ejecutarlo. En los comandos del shell se ve 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-da23f72c14a5

Si el host tiene pgbouncer, también deberá crear un usuario para conectar el agente. La forma específica de configurar un usuario en pgbouncer puede ser muy variable y depender en gran medida de la configuración utilizada. En términos generales, la configuración se reduce a agregar un usuario a estadísticas_usuarios archivo de configuración (normalmente pgbouncer.ini) y escribiendo la contraseña (o su hash) en el archivo especificado en el parámetro archivo_autenticación. Si cambia stats_users, deberá reiniciar pgbouncer.

El script install.sh toma un par de argumentos obligatorios que son únicos para cada proyecto y, a través de variables de entorno, acepta los detalles de los usuarios creados. A continuación, el script inicia el agente en modo de arranque: el agente se copia a sí mismo en PATH, crea una configuración con detalles, una unidad systemd y se inicia como un servicio systemd.
Esto completa 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 ya podrá ver las primeras recomendaciones. Pero un punto importante es que muchas recomendaciones requieren una gran cantidad de métricas acumuladas (al menos por día).

Fuente: habr.com

Añadir un comentario