Introdução
Alguns de processos do 7Belts são feitos ássincronos, utilizamos filas para realizar a transferência e mensagens. Hoje utilizamos as funções de fila do SQS da AWS.
Desenvolvi um script para auxiliar na monitoria das filas, verificar o fluxo de mensagens e se a vazão delas está ocorrendo. O script funciona no terminal do linux no qual eu deixo uma aba abertar e vou observando os comportamentos da filas.
O código foi postado no Github
Instalar o AWS-Cli
Primeiro passo é instalar o CLI da aws:
https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html
Criar os arquivos de configurações
É necessário criar os arquivos de configuração que AWS-CLI vai utilizar como credencial para ler o SQS.
Precisa ter o ACCESS_KEY, ACCESS_SECRET e a REGION.
#!/bin/bash $ aws configure AWS Access Key ID [None]: ACCESS_KEY AWS Secret Access Key [None]: ACCESS_SECRET Default region name [None]: REGION Default output format [None]
Paths dos arquivos gerados:
- ~/.aws/config
- ~/.aws/credentials
Configurando as filas que vão ser monitoradas
Basta incluir a URL da fila no arquivo de configuração configs/queues.config.
Exemplo:
https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue https://queue.amazonaws.com/80398EXAMPLE/MyQueue https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue https://queue.amazonaws.com/80398EXAMPLE/TestQueue1 https://queue.amazonaws.com/80398EXAMPLE/TestQueue2
Executar
Para executar o script basta executar o script view-queues.sh
$ chmod +x view-queues.sh # Caso precise a permissão de execução $ ./view-queues.sh +-------------------------------------+---------------+ | Queue | MessageCount | +-------------------------------------+---------------+ | queue_1 | 15 | | queue_2 | 0 | | queue_3 | 0 | +-------------------------------------+---------------+
Utilizando o Watch
Um comando auxiliar para poder monitorar é utilizar o watch que executa um comando por períodos de tempo.
Exemplo:
$ watch -n 10 ./view-queues.sh
A cada 10 segundos o comando ./view-queues.sh será executado automaticamente.
Top comments (0)