Registros en Azure Database for PostgreSQL con un único servidor
SE APLICA A: Azure Database for PostgreSQL: servidor simple
Importante
El servicio de servidor único de Azure Database for PostgreSQL está en proceso de retirada. Se recomienda encarecidamente actualizar a Azure Database for PostgreSQL: Servidor flexible. Para más información sobre la migración al servidor flexible de Azure Database for PostgreSQL, consulte ¿Qué sucede con el servicio de servidor único de Azure Database for PostgreSQL?.
Azure Database for PostgreSQL permite configurar y acceder a los registros estándar de Postgres. Los registros se pueden usar para identificar, solucionar y reparar errores de configuración y casos de rendimiento no óptimo. La información de registro que puede configurar y a la que puede acceder incluye errores, información de consultas, registros de vaciado automático, conexiones y puntos de control (no está disponible el acceso a los registros de transacciones).
El registro de auditoría está disponible a través de una extensión de PostgreSQL, pgaudit. Para más información, visite el artículo sobre conceptos de auditoría.
registro
Puede configurar el registro estándar de Postgres en el servidor mediante los parámetros de servidor relacionados con el registro. En cada servidor de Azure Database for PostgreSQL, log_checkpoints
y log_connections
están activados de forma predeterminada. Existen parámetros adicionales que puede ajustar según sus necesidades de registro:
Para obtener más información acerca de los parámetros de registro de Postgres, visite las secciones When To Log (Cuándo registrar) y What To Log (Qué registrar) de la documentación de Postgres. La mayoría de los parámetros de registro de Postgres, pero no todos, se pueden configurar en Azure Database for PostgreSQL.
Para aprender a configurar los parámetros en Azure Database for PostgreSQL, consulte la documentación del portal o la documentación de la CLI.
Nota
La configuración de un volumen elevado de registros (por ejemplo, el registro de instrucciones) puede suponer una sobrecarga importante en el rendimiento.
Acceso a los archivos .log
El formato de registro predeterminado en Azure Database for PostgreSQL es .log. Una línea de ejemplo de este registro tiene el siguiente aspecto:
2019-10-14 17:00:03 UTC-5d773cc3.3c-LOG: connection received: host=101.0.0.6 port=34331 pid=16216
Azure Database for PostgreSQL proporciona una ubicación de almacenamiento a corto plazo para los archivos .log. Cada hora o cada 100 MB, lo que suceda primero, comienza un nuevo archivo. Los registros se anexan al archivo actual a medida que se emiten desde Postgres.
Puede establecer el período de retención de este almacenamiento de registros a corto plazo mediante el parámetro log_retention_period
. El valor predeterminado es 3 días y el valor máximo 7 días. La ubicación de almacenamiento a corto plazo puede contener hasta 1 GB de archivos de registro. Una vez alcanzado 1 GB, se eliminarán los archivos más antiguos, con independencia del período de retención, para dejar espacio a los nuevos registros.
Para la retención a largo plazo de registros y análisis de registros, puede descargar los archivos .log y moverlos a un servicio de terceros. Puede descargar los archivos mediante Azure Portal o la CLI de Azure. Como alternativa, puede establecer la configuración de diagnóstico de Azure Monitor, que emite automáticamente los registros (en formato JSON) a ubicaciones a largo plazo. En la sección siguiente puede obtener más información sobre esta opción.
Puede detener la generación de archivos .log si establece el parámetro logging_collector
en OFF. Se recomienda desactivar la generación de archivos .log si se usa la configuración de diagnóstico de Azure Monitor. Esta configuración reducirá el impacto en el rendimiento del registro adicional.
Nota
Reinicie el servidor para aplicar este cambio.
Registros del recurso
Azure Database for PostgreSQL se integra con la configuración de diagnóstico de Azure Monitor. Esta configuración permite enviar los registros de Postgres en formato JSON a los registros de Azure Monitor para llevar a cabo análisis y creación de alertas, a Event Hubs para streaming y a Azure Storage para el archivado.
Importante
Esta característica de diagnóstico para registros de servidor solo está disponible en los planes de tarifa de uso general y optimizados para memoria.
Configuración de valores de diagnóstico
Puede habilitar la configuración de diagnóstico para el servidor de Postgres mediante Azure Portal, la CLI, la API REST y PowerShell. La categoría de registro que se debe seleccionar es PostgreSQLLogs (hay otros registros que puede configurar si usa el Almacén de consultas).
Para habilitar los registros de recursos mediante Azure Portal:
- En el portal, vaya a Configuración de diagnóstico en el menú de navegación del servidor de Postgres.
- Seleccione Agregar configuración de diagnóstico.
- Asigne un nombre a esta configuración.
- Seleccione el punto de conexión preferido (cuenta de almacenamiento, centro de eventos, análisis de registros).
- Seleccionar el tipo de registro Registros del servidor PostgreSQL.
- Guarde la configuración.
Para habilitar registros de recursos mediante PowerShell, la CLI o la API REST, vea el artículo sobre la configuración del diagnóstico.
Acceso a los registros de recursos
La forma de acceder a los registros depende del punto de conexión que elija. Si se trata de Azure Storage, consulte el artículo sobre la cuenta de almacenamiento de registros. Si se trata de Event Hubs, consulte el artículo Transmisión de los registros de Azure.
Si se trata de los registros de Azure Monitor, los registros se envían al área de trabajo seleccionada. Los registros de Postgres usan el modo de recopilación AzureDiagnostics, por lo que se pueden consultar desde la tabla AzureDiagnostics. A continuación se describen los campos de la tabla. Obtenga más información acerca de las consultas y las alertas en Introducción a las consultas de registro en Azure Monitor.
A continuación se muestran consultas que puede intentar iniciar. Puede configurar alertas basadas en las consultas.
Buscar todos los registros de Postgres de un servidor determinado del último día
AzureDiagnostics
| where LogicalServerName_s == "myservername"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
Buscar todos los intentos de conexión que no son de localhost
AzureDiagnostics
| where Message contains "connection received" and Message !contains "host=127.0.0.1"
| where Category == "PostgreSQLLogs" and TimeGenerated > ago(6h)
La consulta anterior mostrará los resultados de las últimas 6 horas para cualquier servidor Postgres que inicie sesión en esta área de trabajo.
Formato de registro
En la tabla siguiente se describen los campos del tipo PostgreSQLLogs. En función del punto de conexión de salida que elija, pueden variar los campos incluidos y el orden en el que aparecen.
Campo | Descripción |
---|---|
TenantId | El identificador de inquilino |
SourceSystem | Azure |
TimeGenerated [UTC] | Marca de tiempo de cuando se grabó el registro en UTC |
Tipo | Tipo del registro. Siempre AzureDiagnostics |
SubscriptionId | GUID de la suscripción a la que pertenece el servidor |
ResourceGroup | Nombre del grupo de recursos al que pertenece el servidor |
ResourceProvider | Nombre del proveedor de recursos Siempre MICROSOFT.DBFORPOSTGRESQL |
ResourceType | Servers |
ResourceId | URI de recurso |
Recurso | Nombre del servidor |
Category | PostgreSQLLogs |
OperationName | LogEvent |
errorLevel | Ejemplo de nivel de registro: LOG, ERROR, NOTICE |
Message | Mensaje de registro principal |
Domain | Versión del servidor, ejemplo: postgres-10 |
Detail | Mensaje de registro secundario (si procede) |
ColumnName | Nombre de la columna (si procede) |
SchemaName | Nombre del esquema (si procede) |
DatatypeName | Nombre del tipo de datos (si procede) |
LogicalServerName | Nombre del servidor |
_ResourceId | URI de recurso |
Prefijo | Prefijo de la línea de registro |
Pasos siguientes
- Más información sobre el acceso a los registros desde Azure Portal o la CLI de Azure.
- Más información sobre los precios de Azure Monitor.
- Más información sobre los registros de auditoría