estatísticas e relatórios do banco de dados com ou sem análise de logs integrados

1

Eu prefiro um utilitário / plugin / aplicação estatística genérica, mas não me limite como o específico pode fazer bem também.

Eu quero ver uma maneira pela qual eu possa ver estatísticas de consulta para TODAS as consultas .

, por exemplo, exibindo, classificando ou filtrando

  1. todas as consultas, ou
  2. todas as consultas feitas em
  3. todos ou bancos de dados específicos ou
  4. em tabelas específicas.
  5. ou em colunas específicas ou
  6. com consulta específica regex / params; classificação pela maioria das consultas feitas, a maioria das consultas longas em contexto ao tempo gasto
  7. No entanto, alguns gráficos seriam mais positivos. Existem aplicativos ou recursos incorporados para essas coisas?

Para fazer isso, você precisará registrar todas as consultas e, em seguida, executar / analisar esses registros por meio de algum tipo de analisador. Isso pode precisar de um aplicativo analisador de registro de compilação personalizado.

O servidor atual é um servidor de alto volume: 500 a 3000 consultas por segundo. O registro pode ser armazenado em outro HDD.

Perguntas:

  1. Existe algum aplicativo pré-criado para essas coisas?

  2. Será que diminui as consultas regulares? Se sim, quanto, aproximadamente?

  3. Existe uma maneira de ver as consultas ao vivo e fazer o registro em outro lugar onde, ou não fazer, e fazer um relatório de estatísticas ao vivo por algum outro aplicativo?

  4. Eu não poderia analisar os logs com um criador de estatísticas específico do banco de dados, mas apenas obteria o arquivo de log e faria meu próprio aplicativo analisador e faria estatísticas e gráficos com esses logs. Pode ser colocado os estados analisados em outro banco de dados com valores de consultas + tempo gasto para exec + data de consulta, depois gerar relatórios a partir dele posteriormente. Esta é uma boa ideia?

  5. Eu não percebi nenhuma maneira "ao vivo" de fazer tudo isso sem registrá-lo em um arquivo.

  6. Qualquer aplicativo pré-compilado para mysql e postgres ? É o que eu uso.

  7. Alguma recomendação de estratégia para fazer tudo isso? Eu comecei a pensar em "como fazer análise de desempenho em detalhes".

por Mab 27.10.2013 / 18:29

1 resposta

0

Este é um problema complexo, e provavelmente não há uma resposta fácil.

Uma abordagem que usei é usar pg_logforward para interceptar logs, encaminhá-los para um daemon personalizado, que grava entradas de log normalizadas em outro banco de dados PostgreSQL. (Hadoop etc. também seria possível.) Em seguida, execute consultas ad hoc nesse banco de dados ou crie um frontend bonito. Não é pré-construído por qualquer meio, mas é a abordagem mais poderosa no momento, IMO.

    
por 29.10.2013 / 21:09