Telemetria MySQL e OCI Log Analytics

Esporta i log del server MySQL in OCI Log Analytics.

La telemetria fornisce un metodo conveniente per visualizzare e analizzare i log del server MySQL utilizzando il servizio OCI Log Analytics invece di affidarsi esclusivamente al client della riga di comando MySQL.

Requisiti indispensabili

Prerequisiti per l'invio dei log MySQL a OCI Log Analytics.

Per inviare i log MySQL a OCI Log Analytics, assicurarsi quanto riportato di seguito.

  • È possibile accedere al servizio Log Analytics OCI e alle autorizzazioni appropriate.
    Nota

    Log Analytics è un servizio fatturabile, non è incluso nella sottoscrizione al servizio MySQL HeatWave e deve essere attivato separatamente. Per ulteriori informazioni, vedere Log Analytics.
  • È stato creato almeno un gruppo di log di Log Analytics. È necessario per memorizzare i log MySQL.
  • Il sistema DB esegue MySQL versione 9.6.1 o successiva.
  • Il sistema DB è standalone. L'esportazione dei log MySQL in OCI Log Analytics non è attualmente supportata dai sistemi DB High Availability o dai sistemi DB con repliche di lettura.
  • Il sistema DB non è di livello Sempre gratis, che non dispone dell'accesso a Log Analytics.
  • Avete definito i criteri IAM come descritto in Policy.
  • Per registrare le istruzioni SQL nel log di audit, è necessario definire i filtri del log di audit. Vedere Filtro del log di audit.

Log MySQL

Esporta i log del server MySQL in OCI Log Analytics o negli endpoint OpenTelemetry personalizzati.

È possibile esportare i log riportati di seguito.

  • Log degli errori: contiene un record di mysqld tempi di avvio e chiusura. Contiene anche messaggi di diagnostica quali errori, avvertenze e note che si verificano durante l'avvio e l'arresto del server e mentre il server è in esecuzione.
  • Log query lenta: è costituito da istruzioni SQL che richiedono più di long_query_time secondi per l'esecuzione e richiedono l'esame di almeno min_examined_row_limit righe. Il log di query lento può essere utilizzato per trovare query che richiedono molto tempo per essere eseguite e pertanto sono candidate per l'ottimizzazione.
  • Log di audit: contiene i dettagli di connessione e disconnessione del client e le azioni che eseguono durante la connessione, ad esempio i database e le tabelle a cui accedono.
  • Log generale: record generale delle operazioni eseguite da mysqld. Il server scrive le informazioni in questo log quando i client si connettono o si disconnettono e registra ogni istruzione SQL ricevuta dai client.

Visualizzazione dei log MySQL in OCI Log Analytics

È possibile visualizzare i log MySQL configurati in OCI Log Analytics Log Explorer.

Questo task presuppone che siano stati configurati tutti i prerequisiti richiesti.
  1. Passare a OCI Log Analytics Log Explorer.
  2. Selezionare il compartimento appropriato nel filtro e fare clic su Applica.
  3. Le origini log Log di telemetria aperta e Log JSON di audit di MySQL Database vengono visualizzati nella tabella Origine log.
    I log di telemetria aperti contengono i log Error, General e Slow Query e i log JSON di audit di MySQL Database contengono i log di audit.

Visualizzazione della telemetria MySQL e della tabella OCI Log Analytics

La tabella MySQL Telemetry e OCI Log Analytics memorizza i dati di monitoraggio per i log esportati nello schema delle prestazioni di MySQL Server.

Uso di un client dalla riga di comando

Utilizzare un client della riga di comando, ad esempio MySQL Client o MySQL Shell, per visualizzare la telemetria MySQL e la tabella OCI Log Analytics.

Questa attività richiede quanto segue:
  1. Per MySQL Shell, passare alla modalità SQL immettendo il comando \sql.
  2. Immettere la seguente istruzione SQL, specificando la tabella che si desidera visualizzare:
    SELECT * FROM performance_schema.<table_name>;

    Ad esempio, per visualizzare lo stato dei log esportati, utilizzare il comando SQL seguente:

    SELECT * FROM performance_schema.telemetry_oci_export_status;
    Nota

    Per visualizzare l'elenco completo delle tabelle, è possibile specificare in <table_name>, vedere Tabella Telemetria MySQL e OCI Log Analytics.
Si ottiene una risposta simile alla seguente:
+--------------+---------------+----------------------+--------------------+------------------------+----------------------+-----------------+--------------------+-----------------------+
| 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                  |
+--------------+---------------+----------------------+--------------------+------------------------+----------------------+-----------------+--------------------+-----------------------+                

Telemetria MySQL e tabella OCI Log Analytics

Lo schema delle prestazioni include la seguente telemetria MySQL e la tabella OCI Log Analytics:

tabella performance_schema.telemetry_oci_export_status

Tabella schema prestazioni telemetry_oci_export_status tabella 17-14

Colonna Descrizione
CHANNEL_NAME Indica quali tipi di log sono stati inviati a OCI Log Analytics.

I valori validi sono: ERROR_LOG, GENERAL_LOG e SLOW_LOG.

SERVICE_STATE Indica se i dati vengono raccolti per ogni tipo di log.
EXPORT_SUCCESS_COUNT Indica il numero di esportazioni riuscite.
EXPORT_ERROR_COUNT Indica il Numero di esportazioni non riuscite.
LAST_SUCCESS_TIMESTAMP Indicatore orario dell'ultima esportazione riuscita.
LAST_ERROR_TIMESTAMP Indicatore orario dell'ultima esportazione non riuscita.
LAST_ERROR_CODE Codice di errore dell'ultima esportazione non riuscita.
LAST_ERROR_MESSAGE Messaggio di errore dell'ultima esportazione non riuscita.
LAST_ERROR_REQUEST_ID ID richiesta della chiamata API REST Log Analytics OCI per l'ultima esportazione non riuscita, se presente.

Visualizzazione delle variabili di stato di MySQL Telemetry e OCI Log Analytics

Le variabili di stato di MySQL Telemetry e OCI Log Analytics sono indicatori statici che consentono di monitorare lo stato dei diversi componenti di MySQL Telemetry e OCI Log Analytics. Non è possibile modificare i valori di queste variabili.

Uso di un client dalla riga di comando

Utilizzare un client della riga di comando, ad esempio MySQL Client o MySQL Shell, per visualizzare le variabili di stato e i relativi valori.

Questa attività richiede quanto segue:
  • Un sistema DB in esecuzione.
  • Client della riga di comando, ad esempio MySQL Client o MySQL Shell connesso al sistema DB. Vedere Connection to a DB System.
Per visualizzare le variabili di Health Monitor, effettuare le operazioni riportate di seguito.
  1. Per MySQL Shell, passare alla modalità SQL immettendo il comando \sql.
  2. Immettere l'istruzione SQL seguente:
    show status like '<variable_name>';

    Ad esempio:

    show status like 'telemetry_oci.run_level';
Si ottiene una risposta simile alla seguente:
+-------------------------+-----------+
| Variable_name           | Value     |
+-------------------------+-----------+
| telemetry_oci.run_level | CONFIGURE |
+-------------------------+-----------+

Variabili di stato della telemetria MySQL e di OCI Log Analytics

Tabella 17-15 Variabili dello stato di MySQL Telemetry e OCI Log Analytics

Variabile di sistemi Descrizione Valori possibili
log_offload.log_analytics_last_error_code Codice di errore dell'ultima esportazione non riuscita. Valore stringa.
log_offload.log_analytics_last_error_message Messaggio di errore dell'ultima esportazione non riuscita. Valore stringa.
log_offload.log_analytics_last_error_opc_request_id ID richiesta della chiamata API REST Log Analytics OCI per l'ultima esportazione non riuscita. Un valore stringa simile all'esempio seguente: /C8DBC62DADE6ECAC222ABF9CAABBC11C/13B10A00F071D7C39DAE333C3CB0DCD8
log_offload.log_analytics_last_error_timestamp Indicatore orario dell'ultima esportazione non riuscita. Valore stringa che indica l'ora locale con 6 decimali di microsecondi simili all'esempio seguente: 2025-01-29 04:46:44.009907.
log_offload.log_analytics_ops_skipped Indica il numero di file che non sono stati esportati. Un valore intero.
telemetry_oci.exports_failed_error_log Indica il numero di esportazioni non riuscite per il log degli errori. Un valore intero.
telemetry_oci.exports_failed_general_log Indica il numero di esportazioni non riuscite per il log generale. Un valore intero.
telemetry_oci.exports_failed_slow_log Indica il numero di esportazioni non riuscite per il log generale. Un valore intero.
telemetry_oci.exports_success_error_log Indica il numero di esportazioni riuscite per il log degli errori. Un valore intero.
telemetry_oci.exports_success_general_log Indica il numero di esportazioni riuscite per il log generale. Un valore intero.
telemetry_oci.exports_success_slow_log Indica il numero di esportazioni riuscite per il log lento. Un valore intero.
telemetry_oci.run_level Indica lo stato del componente.
  • BOOT: il componente è in fase di caricamento e l'inizializzazione è stata avviata. Questo stato è transitorio.
  • CONFIGURE: il componente è pronto per la configurazione.
  • READY: configurazione completata e riuscita.
  • FAILED: configurazione non riuscita.
  • UNINSTALL: il componente viene disinstallato e quindi scaricato.