/PyQueryMonitor

Ferramento para monitoramento de consultas lentas em SQL

Primary LanguagePythonMIT LicenseMIT

PyQueryMonitor

Ferramento para monitoramento de consultas lentas em SQL

Atualmente só possue suporte para MySQL, futuramente sera adicionado para outros SGBDs

Instalação

Clone o repositório para sua maquina:

git clone https://github.com/drmcarvalho/PyQueryMonitor.git

Acesse o diretorio do repositorio clonado:

cd PyQueryMonitor

Crie e ative seu ambiente virtual (virtualenv) e em seguida instale as depedencias executando o seguinte comando:

pip install -r requirements.txt

Após ter seguido esses passos a ferramenta vai estar pronta para uso.


Executando

Para executar o PyQueryMonitor você pode começar vendo as opções disponivel executando o seguinte comando:

python app.py --help

Opções:

usage: app.py [-h] [--host HOST] [--user USER] [--password PASSWORD]
              [--port PORT] [--time TIME] [--interval INTERVAL]
              [--discord DISCORD] [--channel CHANNEL] [--token TOKEN]

PyQueryMonitor ferramenta para monitoramento de consultas SQL

optional arguments:
  -h, --help           show this help message and exit
  --host HOST          Endereço do servidor de banco de dados e o valor padrão
                       é o localhost.
  --user USER          Usuário que vai utilizar para fazer o monitoramento,
                       sendo o valor padrão root.
  --password PASSWORD  Senha do banco de dados.
  --port PORT          Porta utilizada para se conectar no banco, padrão 3306.
  --time TIME          Especifica o tempo que a query esta executando para que
                       ela possa ser capturada pelo monitor.
  --interval INTERVAL  O intervalo que o monitor vai executar para obter os
                       processos das consultas que estão demorando. Exemplo:
                       se definir 5 segundos, ele vai verificar os processos
                       das consultadas a cada 5 segundos.
  --discord DISCORD    Opção para determinar se vai usar o Discord como log.
  --channel CHANNEL    Id do webhook do Discord.
  --token TOKEN        Token do canal do webhook do Discord.

Iniciando um monitoramento

Vamos começar com um monitoramento basico:

python app.py --user root --password minha_senha

Você também pode especificar servidores remotos utilizando a opção host para monitorar. Segue um exemplo de saída:

Process id: 12345678
User: user
Host: 127.0.0.1:0000
DB: database
Time: 10
State: Sending data
Info:
SELECT conteudo FROM posts WHERE autor like '%fulano%'

A ferramenta possui integração com webhook do Discord.