An open API service indexing awesome lists of open source software.

https://github.com/drmcarvalho/pyquerymonitor

Ferramento para monitoramento de consultas lentas em SQL
https://github.com/drmcarvalho/pyquerymonitor

monitoring mysql query sql tool

Last synced: 23 days ago
JSON representation

Ferramento para monitoramento de consultas lentas em SQL

Awesome Lists containing this project

README

        

# 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.