La integración de PostgreSQL recopila métricas de uso de la base de datos, como el tamaño de la base de datos, la cantidad de backends o de operaciones. La integración también recopila registros de PostgreSQL y los analiza en una carga útil de JSON. Este resultado incluye campos para el rol, el usuario, el nivel y el mensaje.
Para obtener más información sobre PostgreSQL, consulta la documentación de PostgreSQL.
Requisitos previos
Para recopilar la telemetría de PostgreSQL, debes instalar el agente de operaciones:
- Para las métricas, instala la versión 2.9.0 o una posterior. Se agregaron métricas adicionales en la versión 2.21.0.
- Para los registros, instala la versión 2.9.0 o una posterior.
Esta integración es compatible con la versión 10.18+ de PostgreSQL.
Configura tu instancia de PostgreSQL
El receptor postgresql
se conecta de forma predeterminada a un servidor postgresql
local con un socket Unix y la autenticación Unix como el usuario root
.
Configura el agente de operaciones para PostgreSQL
Mediante la guía Configura el Agente de operaciones, agrega los elementos necesarios para recopilar la telemetría de las instancias de PostgreSQL y reinicia el agente.
Configuración de ejemplo
Los siguientes comandos crean la configuración para recopilar y transferir la telemetría para PostgreSQL y reinician el agente de operaciones.
Configura la recopilación de registros
A fin de transferir registros desde PostgreSQL, debes crear receptores para los registros que produce PostgreSQL y, luego, crear una canalización para los receptores nuevos.
A fin de configurar un receptor para tus registros postgresql_general
, especifica los siguientes campos:
Campo | Predeterminada | Descripción |
---|---|---|
exclude_paths |
Una lista de patrones de ruta de acceso del sistema de archivos que se excluirán del conjunto que coincide con include_paths . |
|
include_paths |
[/var/log/postgresql/postgresql*.log, /var/lib/pgsql/data/log/postgresql*.log, /var/lib/pgsql/*/data/log/postgresql*.log] |
Una lista de rutas de acceso del sistema de archivos que se leerán mediante la visualización del final de cada archivo. Se puede usar un comodín (* ) en las rutas. |
record_log_file_path |
false |
Si se configura como true , la ruta al archivo específico desde el que se obtuvo el registro aparece en la entrada de registro de salida como el valor de la etiqueta agent.googleapis.com/log_file_path . Cuando se usa un comodín, solo se registra la ruta de acceso del archivo del que se obtuvo el registro. |
type |
El valor debe ser postgresql_general . |
|
wildcard_refresh_interval |
60s |
El intervalo en el que se actualizan las rutas de acceso de archivos comodín en include_paths. Se proporciona como una duración de tiempo que se puede analizar mediante time.ParseDuration, por ejemplo, 30s o 2m . Esta propiedad puede ser útil en el caso de una capacidad de procesamiento de registro alta en la que los archivos de registro se rotan más rápido que el intervalo predeterminado. |
¿Qué se registra?
logName
se deriva de los ID de receptor especificados en la configuración. Los campos detallados dentro de LogEntry
son los siguientes.
Los registros postgresql_general
contienen los siguientes campos en LogEntry
:
Campo | Tipo | Descripción |
---|---|---|
jsonPayload.level |
string | Gravedad del registro o tipo del tipo de interacción de la base de datos para algunos registros |
jsonPayload.message |
string | Registro de la acción de la base de datos |
jsonPayload.role |
string | Rol autenticado para la acción que se registra cuando es relevante |
jsonPayload.tid |
número | ID de subproceso en el que se originó el registro |
jsonPayload.user |
string | Usuario autenticado para la acción que se registra cuando es relevante |
severity |
string (LogSeverity ) |
Nivel de entrada de registro (traducido). |
Configura la recopilación de métricas
Para transferir métricas desde PostgreSQL, debes crear un receptor para las métricas que produce PostgreSQL y, luego, crear una canalización destinada al receptor nuevo.
Este receptor no admite el uso de varias instancias en la configuración, por ejemplo, para supervisar varios extremos. Todas estas instancias escriben en las mismas series temporales, y Cloud Monitoring no tiene forma de distinguirlas.
Para configurar un receptor para las métricas de postgresql
, especifica los siguientes campos:
Campo | Predeterminada | Descripción |
---|---|---|
ca_file |
Ruta al certificado de CA. Como cliente, esto verifica el certificado del servidor. Si está vacío, el receptor usa la CA raíz del sistema. | |
cert_file |
Ruta de acceso al certificado TLS que se usará para las conexiones requeridas por mTLS. | |
collection_interval |
60s |
Un valor time.Duration, como 30s o 5m . |
endpoint |
/var/run/postgresql/.s.PGSQL.5432 |
La ruta hostname:port o del socket que comienza con / se usa para conectarse al servidor postgresql . |
insecure |
true |
Establece si se debe usar o no una conexión TLS segura. Si se configura como false , TLS está habilitado. |
insecure_skip_verify |
false |
Establece si se debe omitir la verificación del certificado. Si insecure se configura como true , no se usa el valor insecure_skip_verify . |
key_file |
Ruta de acceso a la clave TLS que se usará para las conexiones requeridas por mTLS. | |
password |
La contraseña usada para conectarse al servidor. | |
type |
Este valor debe ser postgresql . |
|
username |
El nombre de usuario usado para conectarse al servidor. |
Qué se supervisa
En la siguiente tabla, se proporciona una lista de métricas que el agente de operaciones recopila de la instancia PostgreSQL.
Tipo de métrica | |
---|---|
Categoría, tipo Recursos supervisados |
Etiquetas |
workload.googleapis.com/postgresql.backends
|
|
GAUGE , INT64 gce_instance |
database
|
workload.googleapis.com/postgresql.bgwriter.buffers.allocated
|
|
CUMULATIVE , INT64 gce_instance |
|
workload.googleapis.com/postgresql.bgwriter.buffers.writes
|
|
CUMULATIVE , INT64 gce_instance |
source
|
workload.googleapis.com/postgresql.bgwriter.checkpoint.count
|
|
CUMULATIVE , INT64 gce_instance |
type
|
workload.googleapis.com/postgresql.bgwriter.duration
|
|
CUMULATIVE , INT64 gce_instance |
type
|
workload.googleapis.com/postgresql.bgwriter.maxwritten
|
|
CUMULATIVE , INT64 gce_instance |
|
workload.googleapis.com/postgresql.blocks_read
|
|
CUMULATIVE , INT64 gce_instance |
database
table
source
|
workload.googleapis.com/postgresql.commits
|
|
CUMULATIVE , INT64 gce_instance |
database
|
workload.googleapis.com/postgresql.connection.max
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/postgresql.database.count
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/postgresql.db_size
|
|
GAUGE , INT64 gce_instance |
database
|
workload.googleapis.com/postgresql.index.scans
|
|
CUMULATIVE , INT64 gce_instance |
database
table
index
|
workload.googleapis.com/postgresql.index.size
|
|
GAUGE , INT64 gce_instance |
database
table
index
|
workload.googleapis.com/postgresql.operations
|
|
CUMULATIVE , INT64 gce_instance |
database
table
operation
|
workload.googleapis.com/postgresql.replication.data_delay
|
|
GAUGE , INT64 gce_instance |
replication_client
|
workload.googleapis.com/postgresql.rollbacks
|
|
CUMULATIVE , INT64 gce_instance |
database
|
workload.googleapis.com/postgresql.rows
|
|
GAUGE , INT64 gce_instance |
database
state
table
|
workload.googleapis.com/postgresql.table.count
|
|
GAUGE , INT64 gce_instance |
database
|
workload.googleapis.com/postgresql.table.size
|
|
GAUGE , INT64 gce_instance |
database
table
|
workload.googleapis.com/postgresql.table.vacuum.count
|
|
CUMULATIVE , INT64 gce_instance |
database
table
|
workload.googleapis.com/postgresql.wal.age
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/postgresql.wal.lag
|
|
GAUGE , INT64 gce_instance |
operation
replication_client
|
Verifica la configuración
En esta sección, se describe cómo verificar que hayas configurado correctamente el receptor de PostgreSQL. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar telemetría.
Para verificar que los registros de PostgreSQL se envíen a Cloud Logging, haz lo siguiente:
-
En el panel de navegación de la consola de Google Cloud, selecciona Logging y, luego, Explorador de registros:
- Ingresa la siguiente consulta en el editor y, luego, haz clic en Ejecutar consulta:
resource.type="gce_instance" log_id("postgresql_general")
Para verificar que las métricas de PostgreSQL se envíen a Cloud Monitoring, haz lo siguiente:
-
En la consola de Google Cloud, selecciona Monitoring y, luego, leaderboard Explorador de métricas, o haz clic en el siguiente botón:
- En la barra de herramientas del panel Seleccionar una métrica, selecciona el botón cuyo nombre comienza con Código.
- Selecciona MQL en el botón de activación Lenguaje. El botón de activación de lenguaje se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.
- Ingresa la siguiente consulta en el editor y, luego, haz clic en Ejecutar consulta:
fetch gce_instance | metric 'workload.googleapis.com/postgresql.backends' | every 1m
Ver panel
Para ver tus métricas de PostgreSQL, debes tener configurado un gráfico o un panel. La integración de PostgreSQL incluye uno o más paneles. Cualquier panel se instala de forma automática después de que configuras la integración y de que el agente de operaciones comienza a recopilar datos de métricas.
También puedes ver vistas previas estáticas de los paneles sin instalar la integración.
Para ver un panel instalado, haz lo siguiente:
-
En la consola de Google Cloud, selecciona Monitoring y, luego,
Paneles, o haz clic en el siguiente botón:
- Selecciona la pestaña Lista de paneles y, luego, la categoría Integraciones.
- Haz clic en el nombre del panel que quiera ver.
Si configuraste una integración, pero el panel no se instaló, verifica que el agente de operaciones se esté ejecutando. Cuando no hay datos de métricas para un gráfico en el panel, la instalación del panel falla. Una vez que el agente de operaciones comienza a recopilar métricas, el panel se instalará por ti.
Para obtener una vista previa estática del panel, haz lo siguiente:
-
En la consola de Google Cloud, selecciona Monitoring y, luego,
Integraciones, o haz clic en el siguiente botón:
- Haz clic en el filtro de la plataforma de implementación Compute Engine.
- Ubica la entrada para PostgreSQL y haz clic en Ver detalles.
- Selecciona la pestaña Paneles para ver una vista previa estática. Si el panel está instalado, haz clic en Ver panel para navegar a él.
Para obtener más información de los paneles en Cloud Monitoring, consulta Paneles y gráficos.
Para obtener más información del uso de la página Integraciones, consulta Administra integraciones.
Instala políticas de alertas
Las políticas de alertas le indican a Cloud Monitoring que te notifique cuando ocurren condiciones especificadas. La integración de PostgreSQL incluye una o más políticas de alertas para que uses. Puedes ver e instalar estas políticas de alertas desde la página Integraciones en Monitoring.
Para ver las descripciones de las políticas de alertas disponibles y, luego, instalarlas, haz lo siguiente:
-
En la consola de Google Cloud, selecciona Monitoring y, luego,
Integraciones, o haz clic en el siguiente botón:
- Ubica la entrada para PostgreSQL y haz clic en Ver detalles.
- Selecciona la pestaña Alertas. En esta pestaña, se proporcionan descripciones de las políticas de alertas disponibles y una interfaz para instalarlas.
- Instala las políticas de alertas. Las políticas de alertas deben saber a dónde enviar notificaciones que la alerta se activó, por lo que requieren información de ti para la instalación.
Para instalar las políticas de alertas, haz lo siguiente:
- En la lista de políticas de alertas disponibles, selecciona las que deseas instalar.
En la sección Configura notificaciones, selecciona uno o más canales de notificaciones. Tienes la opción de inhabilitar el uso de los canales de notificación, pero si lo haces, las políticas de alertas se activarán de forma silenciosa. Puedes verificar su estado en Monitoring, pero no recibirás notificaciones.
Para obtener más información de los canales de notificaciones, consulta Administra canales de notificaciones.
- Haz clic en Crear políticas.
Para obtener más información de las políticas de alertas en Cloud Monitoring, consulta Introducción a las alertas.
Para obtener más información del uso de la página Integraciones, consulta Administra integraciones.
¿Qué sigue?
Para obtener una explicación sobre cómo usar Ansible para instalar el agente de operaciones, configurar una aplicación de terceros y, luego, instalar un panel de muestra, consulta el video Instala el agente de operaciones para solucionar problemas de apps de terceros.