Utilizando a Ferramenta format_obproxy_digest_log para Analisar SQLs com Alto Consumo de Tempo na Camada de Rede do OBProxy

Este artigo apresenta a ferramenta format_obproxy_digest_log, projetada para analisar o tempo gasto em consultas SQL na camada de rede do OceanBase Proxy (OBProxy). A solução compltea permite investigar a latência em requisições de SQL de negócios, tanto no lado do proxy (camada de rede) quanto no lado do servidor (camada do observer).

Nota Importante: Esta ferramenta foi desenvolvida para processar o arquivo de log obproxy_digest.log do OBProxy, especificamente baseada no formato de log da versão 433. Ela deve ser compatível com versões 4.x do OBProxy, mas a compatibilidade com versões futuras não é garantida.

Sobre o Log obproxy_digest.log

O arquivo obproxy_digest.log é o log de auditoria do OBProxy. Ele registra requisições SQL cujo tempo de execução excede um limite configurado, além de todas as requisições que resultam em erro.

  • Slow Queries: Solicitações SQL com duração superior ao parâmetro query_digest_time_threshold são registradas (o padrão é 100ms, mas em alguns ambientes pode ser 2ms).
  • Erros: Todas as requisições que falham, seja por erro interno do OBProxy ou erro retornado pelo OBServer, são registradas.
  • Conteúdo do Log: Cada registro inclui detalhes como timestamp, nome da aplicação, TraceId, informações do banco físico (cluster:tenant:database), tipo de SQL, resultado (sucesso/falha), código de erro, tempo total de execução, tempo de pré-execução, tempo de conexão e tempo de execução no banco de dados.

Devido à complexidade e ao formato denso desse log, sua análise manual pode ser trabalhosa. A ferramenta format_obproxy_digest_log foi criada para simplificar esse processo.

Utilizando a Ferramenta

Após obter o executável format_obproxy_digest_log, transfira-o para o servidor Linux onde os logs estão disponíveis e conceda permissão de execução:

chmod +x format_obproxy_digest_log

Para visualizar as opções de uso, execute o comando sem argumentos:

./format_obproxy_digest_log

A ferramenta oferece uma interface simples para processar e formatar o log, tornando as informações relevantes mais fáceis de interpretar. O comando a seguir demonstra uma execução típica, onde o log é processado e a saída formatada é exibida ou redirecionada:

./format_obproxy_digest_log [opções] caminho/para/obproxy_digest.log > log_formatado.txt

A saída formatada organiza os campos-chave do log em um layout mais legível, permitindo uma análise mais rápida do tempo gasto em cada etapa do ciclo de vida da requisição SQL no proxy.

Tags: OceanBase OBProxy obproxy_digest_log SQL Audit Database Proxy

Publicado em 6-6 16:56 por Thomas