Avance
Todavía estamos trabajando en esta característica, ¡pero nos encantaría que la probaras!
Esta función se proporciona actualmente como parte de una vista previa de conformidad con nuestras políticas de prelanzamiento.
Configure el monitoreo de PostgreSQL usando el NRDOT Collector en entornos autohospedados, incluidos servidores físicos, máquinas virtuales e instalaciones independientes.
Requisitos previos
Antes de instalar, asegúrese de tener:
PostgreSQL
14y superiorUna clave de licencia de New Relic.
Acceso administrativo a su instancia de PostgreSQL.
Conectividad de red entre el host donde instala el Collector NRDOT y su base de datos PostgreSQL.
Conectividad de red a la documentación de los extremos OTLP de New Relic
Esta integración está disponible como parte del programa de vista previa pública (public preview) de New Relic. Consulte con el Gerente de su organización para activarla desde la página de Previsualizaciones y pruebas (Previews & Trials).
Para conocer las versiones compatibles de PostgreSQL, los permisos requeridos y los parámetros de servidor recomendados, consulte Compatibilidad y requisitos previos.
Configurar NRDOT Collector
Instale el NRDOT Collector en su sistema:
Configurar el usuario y los permisos de la base de datos
Cree un usuario de monitoreo con los privilegios necesarios para su instancia de PostgreSQL.
Para crear el usuario de monitoreo y los permisos:
Conéctese a su instancia de PostgreSQL como superusuario u otro usuario con los permisos requeridos:
bash$sudo -u postgres psql --dbname=postgres --port=5432Cree el usuario de monitoreo:
CREATE USER <YOUR_DB_USERNAME> WITH LOGIN PASSWORD '<YOUR_DB_PASSWORD>';Otorgar la membresía del rol de usuario de monitoreo según sea necesario:
Si usa PostgreSQL 15 o superior, asigne el rol para heredar privilegios:
ALTER ROLE <YOUR_DB_USERNAME> INHERIT;Sugerencia
Si usa PostgreSQL 14, el usuario de monitoreo hereda los privilegios por defecto, por lo que puede omitir este paso.
Cree el siguiente esquema y permisos en cada base de datos que desee monitorear:
CREATE SCHEMA IF NOT EXISTS otel;GRANT USAGE ON SCHEMA otel TO <YOUR_DB_USERNAME>;GRANT USAGE ON SCHEMA public TO <YOUR_DB_USERNAME>;GRANT SELECT ON ALL TABLES IN SCHEMA public TO <YOUR_DB_USERNAME>;GRANT pg_monitor TO <YOUR_DB_USERNAME>;CREATE EXTENSION IF NOT EXISTS pg_stat_statements;(Opcional) Para recopilar métricas de vectores, cree la extensión
pgvectoren cada base de datos:CREATE EXTENSION IF NOT EXISTS vector;Las funciones de distancia
l1,hammingyjaccardrequieren la versión0.7.0o superior depgvector.(Opcional) Para verificar la conexión y los permisos, ejecute:
bash$psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> --command '\conninfo'$psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> \>-c "SELECT * FROM pg_stat_database LIMIT 1;" && echo "pg_stat_database OK">psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> \>-c "SELECT * FROM pg_stat_activity LIMIT 1;" && echo "pg_stat_activity OK">psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> \>-c "SELECT * FROM pg_stat_statements LIMIT 1;" && echo "pg_stat_statements OK"Si cada comando se completa sin errores, el usuario de monitoreo, el host y el puerto son correctos.
Configurar el Colector NRDOT
Configure el NRDOT Collector con su configuración específica de PostgreSQL. Seleccione su tipo de configuración según sus necesidades de monitoreo:
Parámetro de configuración
La siguiente tabla describe los parámetros de configuración clave para el receptor nrpostgresql:
| Parámetro | Descripción |
|---|---|
<YOUR_DB_HOST> | Ingrese el nombre de host de su base de datos PostgreSQL. |
<YOUR_DB_PORT> | Ingrese el puerto de su base de datos PostgreSQL. |
<YOUR_DB_USERNAME> | Ingrese su nombre de usuario de la base de datos. |
<YOUR_DB_PASSWORD> | Ingrese la contraseña de su base de datos. |
<YOUR_DATABASE_NAME> | Ingrese el nombre de la base de datos que desea monitorear. |
<YOUR_NEWRELIC_OTLP_ENDPOINT> | Ingrese el extremo OTLP de New Relic. Para obtener más información, consulte Extremos OTLP de New Relic. |
<YOUR_NEWRELIC_LICENSE_KEY> | Ingrese su clave de licencia de New Relic. |
collection_interval | Ingrese el intervalo entre los raspados de métricas. Predeterminado: 15s. |
Sugerencia
Tú también puedes:
- Configurar múltiples receptores: para monitorear múltiples instancias de PostgreSQL desde un recolector.
- Vincule su base de datos PostgreSQL con APM: para correlacionar el rendimiento de la aplicación con las operaciones de la base de datos. Esto le permite ver exactamente qué aplicaciones están generando workloads de base de datos específicas.
- Permisos del plan EXPLAIN: para recopilar planes de consulta para declaraciones de bloqueo o escritura sin otorgar acceso de escritura al usuario de monitoreo.
- Configure la gestión de secretos: para administrar de forma segura información confidencial, como las credenciales de bases de datos. Esto ayuda a mejorar la seguridad de su configuración de monitoreo al evitar la codificación rígida de datos sensibles en los archivos de configuración.
Valide la configuración de NRDOT Collector
Actualice la ruta de configuración para que apunte a su nuevo archivo
postgresql-config.yaml:bash$OTELCOL_OPTIONS="/etc/nrdot-collector/postgresql-config.yaml"Valide la configuración del NRDOT Collector para asegurarse de que tenga el formato correcto y funcione correctamente:
bash$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/postgresql-config.yaml
Reiniciar NRDOT Collector
Después de configurar el recolector, reinicie el servicio NRDOT Collector para aplicar los cambios:
$sudo systemctl restart nrdot-collectorPara verificar que el recolector se esté ejecutando correctamente, verifique el estado del servicio:
$sudo systemctl status nrdot-collectorSugerencia
Reinicie siempre el NRDOT Collector después de realizar cambios de configuración para garantizar que los nuevos ajustes surtan efecto.
Encuentra y utiliza tus datos
Las muestras de consulta y las consultas principales llegan como log de evento (event.name = 'db.server.query_sample' / 'db.server.top_query', db.system.name = 'postgresql'). Las métricas llegan bajo el namespace postgresql.*.
Para encontrar su entidad de base de datos PostgreSQL en New Relic:
- Vaya a https://one.newrelic.com > All Capabilities > Databases.
- En el menú desplegable Entity type, seleccione PostgreSQL instance y luego haga clic en Apply.
- Seleccione su base de datos PostgreSQL de la lista de entidades.
Documentación relacionada
Vincule su base de datos PostgreSQL con APM
Aprenda a correlacionar el rendimiento de su aplicación con las operaciones de la base de datos.
Guía de solución de problemas
Aprenda a solucionar problemas comunes con el monitoreo de PostgreSQL.
Referencia de métricas
Obtenga información sobre las métricas disponibles recopiladas por NRDOT Collector.