Telemetria do MySQL e OCI Log Analytics

Exporta logs do servidor MySQL para o OCI Log Analytics.

A telemetria fornece um método conveniente para exibir e analisar os logs do servidor MySQL usando o OCI Log Analytics Service, em vez de depender exclusivamente do cliente de linha de comando MySQL.

Pré-requisitos

Pré-requisitos para enviar Logs do MySQL para o OCI Log Analytics.

Para enviar Logs do MySQL para o OCI Log Analytics, certifique-se de que:

  • Você tem acesso ao serviço OCI Log Analytics e às permissões apropriadas.
    Observação

    O Log Analytics é um serviço faturável, não está incluído na sua assinatura do MySQL HeatWave Service e deve ser ativado separadamente. Consulte Log Analytics para obter mais informações.
  • Você criou pelo menos um Grupo de Logs do Log Analytics. Isso é necessário para armazenar os logs do MySQL.
  • Seu Sistema de BD executa o MySQL versão 9.6.1 ou mais recente.
  • Seu Sistema de BD é independente. A exportação de logs do MySQL para o OCI Log Analytics não é suportada no momento por Sistemas de BD de Alta Disponibilidade ou Sistemas de BD com Réplicas de Leitura.
  • Seu Sistema de BD não é de camada Always Free, que não tem acesso ao Log Analytics.
  • Você definiu políticas do IAM conforme descrito em Políticas.
  • Para registrar instruções SQL no Log de Auditoria, defina os filtros do Log de Auditoria. Consulte Filtragem do Log de Auditoria.

Logs do MySQL

Exporta logs do servidor MySQL para o OCI Log Analytics ou para pontos finais personalizados do OpenTelemetry.

Os seguintes logs podem ser exportados:

  • Log de erro: Contém um registro de tempos de inicialização e shutdown de mysqld. Ele também contém mensagens de diagnóstico, como erros, avisos e observações que ocorrem durante a inicialização e o shutdown do servidor e enquanto o servidor está em execução.
  • Log de consulta lento: Consiste em instruções SQL que levam mais de long_query_time segundos para serem executadas e exigem que pelo menos min_examined_row_limit linhas sejam examinadas. O log de consultas lentas pode ser usado para localizar consultas que levam muito tempo para serem executadas e, portanto, são candidatas à otimização.
  • Log de auditoria: Contém detalhes de conexão e desconexão do cliente e quais ações eles executam enquanto conectados, como quais bancos de dados e tabelas acessam.
  • Log geral: Um registro geral do que o mysqld está fazendo. O servidor grava informações neste log quando os clientes se conectam ou se desconectam e registra cada instrução SQL recebida dos clientes.

Exibindo Logs do MySQL no OCI Log Analytics

Você pode exibir os Logs do MySQL configurados no Log Explorer do OCI Log Analytics.

Essa tarefa pressupõe que você tenha configurado todos os Pré-requisitos necessários.
  1. Navegue até o OCI Log Analytics Log Explorer.
  2. Selecione o Compartimento apropriado no filtro e clique em Aplicar.
  3. As origens de log Abrir Logs de Telemetria e Logs JSON de Auditoria do MySQL Database são exibidas na tabela Origem de Log.
    Abrir Logs de Telemetria contém os logs de Erro, Geral e Consulta Lenta, e Logs JSON de Auditoria do MySQL Database contém os Logs de Auditoria.

Exibindo a Telemetria do MySQL e a Tabela do OCI Log Analytics

A tabela MySQL Telemetry e OCI Log Analytics armazena dados de monitoramento para logs exportados no Esquema de Desempenho do MySQL Server.

Usando um Client de Linha de Comando

Use um cliente de linha de comando como MySQL Client ou MySQL Shell para exibir a tabela MySQL Telemetry e OCI Log Analytics.

Esta tarefa requer o seguinte:
  1. Para o MySQL Shell, alterne para o modo SQL informando o comando \sql.
  2. Insira a seguinte instrução SQL, especificando a tabela que deseja visualizar:
    SELECT * FROM performance_schema.<table_name>;

    Por exemplo, para exibir o status dos logs exportados, use o seguinte comando SQL:

    SELECT * FROM performance_schema.telemetry_oci_export_status;
    Observação

    Para exibir a lista completa de tabelas, você pode especificar em <table_name>. Consulte Tabela de Telemetria do MySQL e OCI Log Analytics.
Você obtém uma resposta semelhante à seguinte:
+--------------+---------------+----------------------+--------------------+------------------------+----------------------+-----------------+--------------------+-----------------------+
| 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                  |
+--------------+---------------+----------------------+--------------------+------------------------+----------------------+-----------------+--------------------+-----------------------+                

Tabela MySQL Telemetry e OCI Log Analytics

O Esquema de Desempenho inclui a seguinte tabela MySQL Telemetry e OCI Log Analytics:

Tabela performance_schema.telemetry_oci_export_status

Tabela 17-14 Tabela do Esquema de Desempenho telemetry_oci_export_status

Coluna Descrição
CHANNEL_NAME Indica quais tipos de log foram enviados ao OCI Log Analytics.

Os valores válidos são: ERROR_LOG, GENERAL_LOG e SLOW_LOG.

SERVICE_STATE Indica se os dados são coletados para cada tipo de log.
EXPORT_SUCCESS_COUNT Indica o número de exportações com êxito.
EXPORT_ERROR_COUNT Indica o número de exportações com falha.
LAST_SUCCESS_TIMESTAMP Timestamp da última exportação bem-sucedida.
LAST_ERROR_TIMESTAMP Timestamp da última exportação com falha.
LAST_ERROR_CODE Código de erro da última exportação com falha.
LAST_ERROR_MESSAGE Mensagem de erro da última exportação com falha.
LAST_ERROR_REQUEST_ID ID da solicitação da chamada da API REST do OCI Log Analytics para a última exportação com falha, se houver.

Exibindo a Telemetria do MySQL e as Variáveis de Status do OCI Log Analytics

As variáveis de status do MySQL Telemetry e do OCI Log Analytics são indicadores estáticos que permitem monitorar o status de diferentes componentes do MySQL Telemetry e do OCI Log Analytics. Não é possível alterar os valores dessas variáveis.

Usando um Client de Linha de Comando

Use um cliente de linha de comando, como Cliente MySQL ou MySQL Shell, para exibir as variáveis de status e seus valores.

Esta tarefa requer o seguinte:
Para exibir as variáveis do Health Monitor faça o seguinte:
  1. Para o MySQL Shell, alterne para o modo SQL informando o comando \sql.
  2. Digite a seguinte instrução SQL:
    show status like '<variable_name>';

    Por exemplo:

    show status like 'telemetry_oci.run_level';
Você obtém uma resposta semelhante à seguinte:
+-------------------------+-----------+
| Variable_name           | Value     |
+-------------------------+-----------+
| telemetry_oci.run_level | CONFIGURE |
+-------------------------+-----------+

Variáveis de Status do OCI Log Analytics e Telemetria do MySQL

Tabela 17-15 Variáveis de Status do MySQL Telemetry e do OCI Log Analytics

Variável de Sistema Descrição Valores Possíveis
log_offload.log_analytics_last_error_code Código de erro da última exportação com falha. Um valor de string.
log_offload.log_analytics_last_error_message Mensagem de erro da última exportação com falha. Um valor de string.
log_offload.log_analytics_last_error_opc_request_id ID da solicitação da chamada da API REST do OCI Log Analytics para a última exportação com falha. Um valor de string, semelhante ao seguinte exemplo: /C8DBC62DADE6ECAC222ABF9CAABBC11C/13B10A00F071D7C39DAE333C3CB0DCD8
log_offload.log_analytics_last_error_timestamp Timestamp da última exportação com falha. Um valor de string, indicando a hora local com 6 decimais de microssegundos semelhantes ao seguinte exemplo: 2025-01-29 04:46:44.009907.
log_offload.log_analytics_ops_skipped Indica o número de arquivos que foram ignorados da exportação. Um valor inteiro.
telemetry_oci.exports_failed_error_log Indica o número de exportações com falha para o log de erros. Um valor inteiro.
telemetry_oci.exports_failed_general_log Indica o número de exportações com falha para o log geral. Um valor inteiro.
telemetry_oci.exports_failed_slow_log Indica o número de exportações com falha para o log geral. Um valor inteiro.
telemetry_oci.exports_success_error_log Indica o número de exportações bem-sucedidas do log de erros. Um valor inteiro.
telemetry_oci.exports_success_general_log Indica o número de exportações bem-sucedidas do log geral. Um valor inteiro.
telemetry_oci.exports_success_slow_log Indica o número de exportações bem-sucedidas para o log lento. Um valor inteiro.
telemetry_oci.run_level Indica o estado do componente.
  • BOOT: o componente está sendo carregado e a inicialização foi iniciada. Este estado é temporário.
  • CONFIGURE: O componente está pronto para configuração.
  • READY: configuração concluída com sucesso.
  • FAILED: falha na configuração.
  • UNINSTALL: o componente está sendo desinstalado e depois descarregado.