# Guia Configuração do Monitor Sidekiq na Elven Platform

O **Monitor Sidekiq** da **Elven Platform** permite verificações baseadas em consultas chaves em fila do Sidekiq. Essa funcionalidade ajuda a configurar verificações contínuas, definir alertas e criar limites para abertura de incidentes automáticos, garantindo que você seja informado rapidamente sobre quaisquer irregularidades na conectividade ou desempenho dos serviços.&#x20;

**Sidekiq** é uma solução de gerenciamento de filas e processamento de jobs em background, amplamente utilizada em aplicações Ruby e Rails. Projetado para lidar com tarefas assíncronas de forma eficiente, ele permite que sistemas distribuídos processem grandes volumes de jobs de maneira confiável e escalável. Com suporte a múltiplas filas, priorização de tarefas e agendamento de jobs futuros, o Sidekiq é ideal para cenários como envio de e-mails, processamento de dados em massa, integração de APIs e outras operações intensivas. Sua arquitetura baseada em threads maximiza o desempenho, enquanto sua integração nativa com Redis simplifica a configuração e a manutenção, tornando o Sidekiq uma escolha robusta e flexível para desenvolvedores que buscam otimizar workflows em suas aplicações.

## **Acessando o Monitoramento Sidekiq**&#x20;

* Navegue até o menu principal e clique em **Services Hub**.&#x20;
* Em **Queue**, selecione o item **Sidekiq.**&#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FWY3qXW7IrkZp3GaCSAAG%2Fsqm01.png?alt=media&#x26;token=573009bc-afc1-406e-9175-4c079a507439" alt=""><figcaption></figcaption></figure>

## **Configuração do Monitoramento**

Monitorar a disponibilidade dos seus serviços nunca foi tão simples. Comece dando um nome claro ao recurso que deseja acompanhar (**Resource Name**) para facilitar a identificação. Depois, ajuste o intervalo entre as verificações (**Interval**) e o tempo limite para respostas (**Timeout**).    &#x20;

Selecione onde está o agente de monitoramento (**Checkpoint Cloud**), escolhendo Environment, se não existir você pode criar em **+ Checkpoint**. Depois disso, para configurar o monitoramento do Sidekiq na Elven Platform, adicione a **Healthcheck URL**, que é o endereço usado para verificar a saúde do serviço. Esse endpoint ajuda a plataforma a garantir que o Sidekiq esteja funcionando corretamente. Caso seu ambiente não utilize SSL ou você esteja testando em um ambiente interno, marque a opção **Skip SSL** para ignorar a verificação de certificados. Mas lembre-se: essa opção deve ser usada com cuidado, especialmente em ambientes de produção.&#x20;

&#x20;Acompanhar as métricas das filas é fundamental para entender a performance do Sidekiq. O campo **Queue Size** mostra o número total de jobs pendentes, enquanto o **Buzy Size** indica quantos desses jobs estão sendo processados em tempo real. Já o **Schedule Size** dá visibilidade aos jobs programados para execução futura. Por fim, o campo **Connected Clients** permite monitorar quantos processos ou serviços estão conectados ao Sidekiq no momento, ajudando a identificar interações ativas e possíveis gargalos. Com esses dados configurados, a Elven Platform oferece uma visão clara e eficiente para você gerenciar suas filas e works de forma prática e intuitiva.

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FcUODY552gRbyPM4PEJsZ%2Fsqm02.png?alt=media&#x26;token=0960709b-83d2-48cc-b566-579213d62963" alt=""><figcaption></figcaption></figure>

## **Abertura de Incidentes Automáticos**

Você pode configurar a abertura automática de incidentes para garantir uma resposta rápida a problemas críticos. Para começar, defina a severidade do incidente, permitindo que você priorize de acordo com a urgência. Em seguida, ajuste o **Check Interval**, especificando o intervalo de checagem em segundos para monitorar continuamente o recurso. Isso ajuda a garantir que você esteja sempre um passo à frente, detectando problemas assim que eles surgem.  &#x20;

Além disso, selecione o time que será notificado sempre que um incidente ocorrer e ative a opção **Enable to set up automatic incidents opening** para garantir que a configuração esteja habilitada. Com essa configuração, a plataforma automatiza a gestão de incidentes, tornando o processo de resposta mais ágil e eficiente, sem a necessidade de intervenção manual. Isso garante que sua equipe esteja sempre pronta para resolver qualquer questão com rapidez e precisão.

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FVmPD9MowRR7VDGgVTQOz%2Fsqm03.png?alt=media&#x26;token=5e754f5e-0d77-4601-9818-bb3ad532c8dc" alt=""><figcaption></figcaption></figure>

## **Maintenance Window**

Ainda  temos **Maintenance Window** que é uma funcionalidade essencial para gerenciar períodos de manutenção planejada na sua aplicação. Durante esse intervalo, as verificações são temporariamente pausadas, evitando que o monitoramento, alertas e notificações sejam acionados enquanto você realiza ajustes ou atualizações. Isso permite que a manutenção ocorra de maneira tranquila, sem gerar notificações desnecessárias ou alarmes falsos, garantindo que sua operação siga de forma ordenada e sem interrupções inesperadas nos relatórios de desempenho.    \
&#x20;\
Por exemplo, imagine que você precise atualizar o sistema de pagamento de um e-commerce, realizando ajustes no backend, como a instalação de novos certificados de segurança. Para isso, você pode configurar a **Maintenance Window** para um horário específico, como 13/12/2024, das 14:00 às 14:30. Durante esse período, a Elven Platform suspende as verificações, evitando que o monitoramento registre falhas temporárias ou dispare alertas falsos. Assim, você consegue fazer as alterações necessárias com calma, sabendo que o sistema de monitoramento não será impactado durante a manutenção. Essa abordagem garante que a atualização seja feita de maneira organizada, sem afetar a experiência dos usuários ou gerar notificações indesejadas.

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FPVGBbZgU8wVaaMlLfcV9%2Fsqm04.png?alt=media&#x26;token=0c669373-4ba5-44c4-86a4-72f6c0dc00f3" alt=""><figcaption></figcaption></figure>

## **Application Opening Hours**

Ainda, você pode contar com a funcionalidade **Application Opening Hours**, que permite configurar os horários de funcionamento da sua aplicação. Essa funcionalidade é essencial para personalizar o monitoramento com base nos períodos em que sua aplicação está realmente ativa, evitando alertas e notificações fora do horário de operação. Assim, o monitoramento se torna mais alinhado com as necessidades reais do seu negócio, garantindo relatórios mais precisos e uma gestão eficiente.   &#x20;

Por exemplo, imagine que sua aplicação funcione apenas de segunda a sexta-feira, das 09:00 às 18:00. Você pode configurar o **Application Opening Hours** para refletir esse horário, especificando os dias e períodos de funcionamento. Com isso, a Elven Platform desativa automaticamente as verificações fora desses horários, evitando registros de falhas que não afetam os usuários finais e prevenindo alertas desnecessários. Essa abordagem otimiza a análise de desempenho, focando somente nos períodos relevantes e proporcionando uma visão mais clara sobre a saúde da sua aplicação durante seu horário de operação. &#x20;

<figure><img src="https://1787513308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjv1RurNOS0w2Y9bpxizM%2Fuploads%2FYs769Jf8h9rYMEfh8Pdh%2Fsqm05.png?alt=media&#x26;token=75c3608d-df4e-4168-85fb-0e85c5eee359" alt=""><figcaption></figcaption></figure>

## **Glossário de Termos Técnicos**

**Sidekiq:** Sidekiq é uma ferramenta de processamento assíncrono de jobs em background, projetada para aplicações Ruby e Rails. Ela permite o gerenciamento de tarefas pesadas e demoradas fora do ciclo de requisição-resposta, garantindo que o desempenho da aplicação não seja afetado por essas operações. O Sidekiq utiliza filas para organizar os jobs e workers para processá-los, oferecendo escalabilidade e desempenho através de sua arquitetura baseada em threads. Além de suportar o processamento de jobs de forma concorrente e eficiente, o Sidekiq também oferece recursos como agendamento de jobs e controle de falhas. Ideal para tarefas como envio de e-mails, processamento de dados em massa e integração com APIs, o Sidekiq proporciona uma solução robusta e fácil de configurar para melhorar a performance de aplicações Ruby.**Interval:** Intervalo de tempo entre as verificações automáticas realizadas no monitoramento. \
&#x20;\
**Timeout:** Tempo limite para que o monitoramento receba uma resposta do recurso monitorado antes de registrar uma falha. **Checkpoint Cloud:** Local onde o agente de monitoramento está localizado, podendo ser um ambiente preexistente ou criado pelo usuário. &#x20;

**Healthcheck URL:** URL usada para verificar a saúde do serviço Sidekiq. Permite que a Elven Platform faça requisições para monitorar se o Sidekiq está funcionando corretament&#x65;**.**&#x20;

**Skip SSL: Definição:** Opção para desabilitar a verificação de certificados SSL ao acessar a Healthcheck URL. Uso: Ideal para ambientes sem SSL ou testes em ambientes internos, mas deve ser usado com cautela, principalmente em produção.&#x20;

**Queue Size:** Definição: Número total de jobs pendentes na fila do Sidekiq. Ajuda a monitorar a carga do sistema e identificar possíveis atrasos no processamento das tarefas.&#x20;

**Buzy Size:** Número de jobs sendo processados ativamente pelo Sidekiq. Permite ver quantas tarefas estão em execução em tempo real, indicando o nível de atividade dos workers.&#x20;

**Schedule Size:** Definição: Número de jobs agendados para execução futura. Mostra as tarefas que estão programadas para serem processadas posteriormente, sem execução imediata.&#x20;

**Connected Clients:** Número de clientes (processos ou serviços) conectados ao Sidekiq no momento. Permite monitorar as interações ativas com o Sidekiq, ajudando a identificar problemas de congestionamento ou gargalos. \
&#x20;\
**Enable to set up automatic incidents opening:** Opção que, quando ativada, habilita a abertura automática de incidentes na detecção de problemas críticos. &#x20;

**Severity (Severidade):** Grau de criticidade atribuído a um incidente, permitindo sua priorização conforme a urgência. &#x20;

**Check Interval:**  \
Intervalo de tempo, em segundos, para realizar verificações contínuas do recurso monitorado. &#x20;

**Maintenance Window:** Funcionalidade que pausa temporariamente o monitoramento, alertas e notificações durante os períodos de manutenção planejada. &#x20;

**Application Opening Hours:** Configuração que define os horários de funcionamento da aplicação, alinhando o monitoramento aos períodos ativos e evitando alertas fora desses horários.
