Telemetría de MySQL y OCI Log Analytics

Exporta los logs del servidor MySQL a OCI Log Analytics.

La telemetría proporciona un método práctico para ver y analizar los logs del servidor MySQL mediante el servicio OCI Log Analytics en lugar de depender únicamente del cliente de línea de comandos de MySQL.

Requisitos

Requisitos para enviar logs de MySQL a OCI Log Analytics.

Para enviar logs de MySQL a OCI Log Analytics, asegúrese de lo siguiente:

  • Tiene acceso al servicio OCI Log Analytics y los permisos adecuados.
    Nota

    Log Analytics es un servicio facturable, no está incluido en su suscripción a MySQL HeatWave Service y se debe activar por separado. Consulte Log Analytics para obtener más información.
  • Ha creado al menos un grupo de logs de Log Analytics. Esto es necesario para almacenar los logs de MySQL.
  • Su sistema de base de datos ejecuta MySQL versión 9.6.1 o superior.
  • El sistema de base de datos es independiente. Actualmente, la exportación de logs de MySQL a OCI Log Analytics no está soportada por sistemas de base de datos de alta disponibilidad o sistemas de base de datos con réplicas de lectura.
  • Su sistema de base de datos no es de capa siempre libre, que no tiene acceso a Log Analytics.
  • Ha definido políticas de IAM como se describe en Políticas.
  • Para registrar sentencias SQL en el log de auditoría, debe definir filtros del log de auditoría. Consulte Audit Log Filtering.

Logs de MySQL

Exporta los logs del servidor de MySQL a OCI Log Analytics o a puntos finales personalizados de OpenTelemetry.

Se pueden exportar los siguientes logs:

  • Log de errores: contiene un registro de las horas de inicio y cierre de mysqld. También contiene mensajes de diagnóstico, como errores, advertencias y notas, que se producen durante el inicio y el cierre del servidor y mientras este se está ejecutando.
  • Log de consultas lentas: consta de sentencias SQL que tardan más de long_query_time segundos en ejecutarse y que requieren que se examinen al menos min_examined_row_limit filas. El log de consultas lentas se puede utilizar para buscar consultas que tardan mucho tiempo en ejecutarse y que, por lo tanto, son candidatas para la optimización.
  • Log de auditoría: contiene los detalles de conexión y desconexión del cliente y las acciones que realizan mientras están conectados, como las bases de datos y tablas a las que acceden.
  • Log general: registro general de lo que mysqld está haciendo. El servidor escribe información en este log cuando los clientes se conectan o desconectan, y registra cada sentencia SQL recibida de los clientes.

Visualización de logs de MySQL en OCI Log Analytics

Puede ver los logs de MySQL configurados en el explorador de logs de OCI Log Analytics.

Esta tarea supone que ha configurado todos los requisitos necesarios.
  1. Navegue al explorador de logs de OCI Log Analytics.
  2. Seleccione el compartimento adecuado en el filtro y haga clic en Aplicar.
  3. Los orígenes de log Logs de telemetría abiertos y Logs de JSON de auditoría de MySQL Database se muestran en la tabla Origen de log.
    Abrir logs de telemetría contiene los logs de error, general y de consulta lenta, y MySQL Database Audit JSON Logs contiene los logs de auditoría.

Visualización de la tabla de telemetría de MySQL y OCI Log Analytics

La tabla MySQL Telemetry y OCI Log Analytics almacenan los datos de supervisión de los logs exportados en el esquema de rendimiento de MySQL Server.

Uso de un cliente de línea de comandos

Utilice un cliente de línea de comandos como MySQL Client o MySQL Shell para ver la tabla de telemetría de MySQL y OCI Log Analytics.

Para esta tarea, se necesita lo siguiente:
  1. Para MySQL Shell, cambie al modo SQL introduciendo el comando \sql.
  2. Introduzca la siguiente sentencia SQL, especificando la tabla que desea ver:
    SELECT * FROM performance_schema.<table_name>;

    Por ejemplo, para ver el estado de los logs exportados, utilice el siguiente comando SQL:

    SELECT * FROM performance_schema.telemetry_oci_export_status;
    Nota

    Para ver la lista completa de tablas, puede especificar en <table_name>. Consulte la tabla Telemetría de MySQL y OCI Log Analytics.
Obtendrá una respuesta similar a la siguiente:
+--------------+---------------+----------------------+--------------------+------------------------+----------------------+-----------------+--------------------+-----------------------+
| CHANNEL_NAME | SERVICE_STATE | EXPORT_SUCCESS_COUNT | EXPORT_ERROR_COUNT | LAST_SUCCESS_TIMESTAMP | LAST_ERROR_TIMESTAMP | LAST_ERROR_CODE | LAST_ERROR_MESSAGE | LAST_ERROR_REQUEST_ID |
+--------------+---------------+----------------------+--------------------+------------------------+----------------------+-----------------+--------------------+-----------------------+
| ERROR_LOG    | OFF           |                    0 |                  0 | NULL                   | NULL                 | NULL            | NULL               | NULL                  |
| GENERAL_LOG  | OFF           |                    0 |                  0 | NULL                   | NULL                 | NULL            | NULL               | NULL                  |
| SLOW_LOG     | OFF           |                    0 |                  0 | NULL                   | NULL                 | NULL            | NULL               | NULL                  |
+--------------+---------------+----------------------+--------------------+------------------------+----------------------+-----------------+--------------------+-----------------------+                

Tabla de telemetría de MySQL y Log Analytics de OCI

El esquema de rendimiento incluye la siguiente tabla de telemetría de MySQL y OCI Log Analytics:

tabla performance_schema.telemetry_oci_export_status

Tabla 17-14 Tabla de esquema de rendimiento telemetry_oci_export_status

Columna Descripción
CHANNEL_NAME Indica qué tipos de log se han enviado a OCI Log Analytics.

Los valores válidos son: ERROR_LOG, GENERAL_LOG y SLOW_LOG.

SERVICE_STATE Indica si se recopilan datos para cada tipo de log.
EXPORT_SUCCESS_COUNT Indica el número de exportaciones correctas.
EXPORT_ERROR_COUNT Indica el número de exportaciones fallidas.
LAST_SUCCESS_TIMESTAMP Registro de hora de la última exportación correcta.
LAST_ERROR_TIMESTAMP Registro de hora de la última exportación fallida.
LAST_ERROR_CODE Código de error de la última exportación fallida.
LAST_ERROR_MESSAGE Mensaje de error de la última exportación fallida.
LAST_ERROR_REQUEST_ID ID de solicitud de la llamada a la API de REST de Log Analytics de OCI para la última exportación fallida, si la hay.

Visualización de variables de estado de la telemetría de MySQL y OCI Log Analytics

Las variables de estado de MySQL Telemetry y OCI Log Analytics son indicadores estáticos que le permiten supervisar el estado de diferentes componentes de MySQL Telemetry y OCI Log Analytics. No se pueden cambiar los valores de estas variables.

Uso de un cliente de línea de comandos

Utilice un cliente de línea de comandos como MySQL Client o MySQL Shell para ver las variables de estado y sus valores.

Para esta tarea, se necesita lo siguiente:
  • Un sistema de base de datos en ejecución.
  • Un cliente de línea de comandos como MySQL Client o MySQL Shell que esté conectado al sistema de base de datos. Consulte Conexión a un sistema de base de datos.
Realice lo siguiente para ver las variables del monitor de estado:
  1. Para MySQL Shell, cambie al modo SQL introduciendo el comando \sql.
  2. Introduzca la siguiente sentencia SQL:
    show status like '<variable_name>';

    Por ejemplo:

    show status like 'telemetry_oci.run_level';
Obtendrá una respuesta similar a la siguiente:
+-------------------------+-----------+
| Variable_name           | Value     |
+-------------------------+-----------+
| telemetry_oci.run_level | CONFIGURE |
+-------------------------+-----------+

Variables de estado de MySQL Telemetry y OCI Log Analytics

Tabla 17-15 Variables de estado de telemetría de MySQL y OCI Log Analytics

Variable del sistema Descripción Valores posibles
log_offload.log_analytics_last_error_code Código de error de la última exportación fallida. Un valor de cadena.
log_offload.log_analytics_last_error_message Mensaje de error de la última exportación fallida. Un valor de cadena.
log_offload.log_analytics_last_error_opc_request_id ID de solicitud de la llamada a la API de REST de Log Analytics de OCI para la última exportación fallida. Un valor de cadena, similar al siguiente ejemplo: /C8DBC62DADE6ECAC222ABF9CAABBC11C/13B10A00F071D7C39DAE333C3CB0DCD8
log_offload.log_analytics_last_error_timestamp Registro de hora de la última exportación fallida. Valor de cadena, que indica la hora local con 6 decimales de microsegundos similares al siguiente ejemplo: 2025-01-29 04:46:44.009907.
log_offload.log_analytics_ops_skipped Indica el número de archivos que se omitieron para la exportación. Valor entero.
telemetry_oci.exports_failed_error_log Indica el número de exportaciones fallidas para el log de errores. Valor entero.
telemetry_oci.exports_failed_general_log Indica el número de exportaciones fallidas para el log general. Valor entero.
telemetry_oci.exports_failed_slow_log Indica el número de exportaciones fallidas para el log general. Valor entero.
telemetry_oci.exports_success_error_log Indica el número de exportaciones correctas para el log de errores. Valor entero.
telemetry_oci.exports_success_general_log Indica el número de exportaciones correctas para el log general. Valor entero.
telemetry_oci.exports_success_slow_log Indica el número de exportaciones correctas para el log lento. Valor entero.
telemetry_oci.run_level Indica el estado del componente.
  • BOOT: el componente se está cargando y la inicialización se ha iniciado. Este estado es transitorio.
  • CONFIGURE: el componente está listo para la configuración.
  • READY: la configuración ha finalizado correctamente.
  • FAILED: fallo de configuración.
  • UNINSTALL: el componente se desinstala y, a continuación, se descarga.