Cron Heatmap: ferramenta gratuita permite geração de “mapa de calor” de cron jobs

por | 08/08/2023 | Servidores

Se você possui um servidor, hospedando seus sites ou lidando com os e-mails da sua empresa, a ferramenta Cron Heatmap pode ser de grande valia.

Descobri esta excelente ferramenta alguns dias atrás, durante minhas “perambulações online”, e devo dizer que gostei bastante dela.

Além disso, apesar de voltado, em minha opinião, a servidores, o Cron Heatmap também pode ser perfeitamente utilizado em desktops ou notebooks.

Porém, os benefícios oriundos do uso da ferramenta são bem maiores no caso de servidores (Linux), principalmente quando existe um grande número de tarefas agendadas.

E através deste artigo, você conhecerá algumas informações úteis a respeito da mesma, bem como de alguns elementos relacionados.

Sobre Cron, cron jobs e crontab

Antes de entender o quão útil a ferramenta Cron Heatmap pode ser, é importante que você tenha pelo menos uma pequena noção a respeito do Cron, das cron jobs e da crontab.

Pois bem, em sistemas Unix-like, como o Linux, há uma ferramenta chamada Cron, que serve para a execução de tarefas de forma agendada.

Cron - Cron job - Crontab
Conferindo o status do serviço

O Cron é na verdade um conjunto de utilitários, que inclui até mesmo um daemon. Tudo isto funciona em segundo plano, ou seja, você pode perfeitamente determinar “quando” e “como” determinadas tarefas devem ser executadas.

Há também um “arquivo de configuração”, chamado crontab: nele ficam armazenadas todas as cron jobs, que são, portanto, as tarefas agendadas.

Se você utiliza Linux, provavelmente já se deparou com todos os termos acima. Você também já deve ter ouvido falar em “tarefas agendadas”, “tarefas cron“, etc.

Pois bem, uma cron job (ou tarefa cron) é uma tarefa agendada, a qual, por sua vez, deve constar em uma crontab.

Já a crontab, finalmente, é um arquivo (o nome vem de cron table, ou tabela cron) que armazena todos os agendamentos.

Assim, de forma resumida:

  • Cron job (tarefa cron, tarefa agendada): trata-se da tarefa que será automatizada / agendada;
  • Crontab: é a tabela cron. Arquivo que armazena todas as tarefas cron;
  • Cron: conjunto de utilitários para o agendamento de tarefas em sistemas Unix-like.

Neste momento, você pode até se perguntar: o que pode, ou deve, ser agendado / automatizado, no Linux?

Pois bem, é possível automatizar e agendar uma série de tarefas, desde alterações em arquivos até completas rotinas de backup, passando pelo envio de e-mails após o sucesso em alguma execução, por exemplo.

As possibilidades são bem grandes, mas não pretendo, neste artigo, entrar em detalhes mais aprofundados a respeito do Cron, mas sim apenas apresentar a ferramenta Cron Heatmap.

O que é o Cron Heatmap?

Cron Heatmap é uma ferramenta online totalmente gratuita, através da qual você pode gerar heatmaps (mapas de calor) com base em sua própria crontab.

Criado pelo desenvolvedor Daniel Lockyer, o serviço online é acessível a partir de qualquer navegador web.

Lockyer menciona em seu blog que a ideia para o projeto surgiu a partir de suas próprias necessidades, ao lidar com um servidor que executava mais de 70 cron jobs ao longo de um único dia.

Quem administra um servidor certamente sabe que isto pode representar um problema, aumentando bastante o consumo de recursos pela máquina.

Dependendo das tarefas em execução, por exemplo, o uso de CPU pode atingir níveis muitas vezes alarmantes.

Em algumas situações, altos níveis de uso de memória RAM e/ou CPU podem até mesmo levar a interrupções, quedas, lentidão e problemas diversos.

Dessa forma, o Cron Heatmap é uma ferramenta valiosa, pois permite, através de um “mapa de calor”, que você identifique os horários em que seu servidor está executando o maior número de tarefas cron.

Através da ferramenta gratuita, você pode identificar “horários de pico”, por exemplo, e então realizar os ajustes necessários, alterando horários de execução das tarefas de modo a “distribuir a carga” ao longo de um mesmo dia.

Obviamente, você também pode analisar sua crontab “manualmente”, e assim identificar quais são os horários de maior movimento. Porém, pense em um servidor com uma tabela repleta de agendamentos.

Nestas situações, então, o Cron Heatmap é extremamente valioso.

Alguns alertas

Porém, o criador da ferramenta também alerta que ela é incapaz de determinar por quanto tempo as cron jobs rodam (ou rodaram).

Além disso, o Cron Heatmap considera apenas cron jobs que são executadas diariamente. E, por motivos óbvios, a ferramenta também não é capaz de analisar eventuais impactos / problemas resultantes de tarefas que se sobrepõem.

Como usar o Cron Heatmap

O site / ferramenta online é acessível a partir de qualquer navegador (link abaixo). Antes, porém, você deve ter em mãos o conteúdo da sua crontab.

Obtendo o conteúdo da crontab

Você pode editar a sua crontab, por exemplo, e um dos métodos mais comuns se dá através da utilização do seguinte comando:

crontab -e

Com a tabela em exibição em seu editor de texto favorito, simplesmente copie todo o seu conteúdo para a área de transferência ou então para um arquivo qualquer.

Alternativamente, você também pode exportar sua crontab para um arquivo. Neste caso, basta utilizar um comando com a seguinte sintaxe:

crontab -l > /caminho/nome_Do_Arquivo.txt

Por exemplo:

crontab -l > ~/crontab_exportada.txt

O comando acima irá gerar um arquivo chamado crontab_exportada.txt, dentro do diretório home do seu usuário. E assim por diante.

Obs: a flag -l, utilizada no comando acima, serve para a listagem da crontab do usuário. Ou seja, você pode tanto editar o arquivo e copiar seu conteúdo (via crontab -e) quanto listar o conteúdo da crontab diretamente na linha de comando (via crontab -l).

Adicionando a crontab ao Cron Heatmap

E agora que você tem o conteúdo da sua crontab em mãos (em um arquivo ou na área de transferência), basta acessar o site do Cron Heatmap e colar seu conteúdo no campo “Paste in your crontab“.

Veja:

Cron Heatmap - Utilizando

Entendendo as informações do Cron Heatmap

A partir daqui, tudo é bastante autoexplicativo. Assim que você cola o conteúdo da sua crontab no campo apropriado, conforme a imagem acima, o “mapa de calor” é gerado automaticamente.

Na vertical, você tem as horas, e na horizontal, os minutos. Clicando em qualquer ponto, ou seja, escolhendo um determinado horário, você pode consultar todas as tarefas programadas para aquele momento (no canto inferior esquerdo).

Agora, no canto inferior direito, a ferramenta lista os horários com maior movimento, para que você então seja capaz de realizar os devidos ajustes:

Cron Heatmap - Detalhes

Obviamente, devo também lembrar que este não é o único método de monitoramento de tarefas agendadas.

Há o Cronitor, por exemplo, e você pode obter mais detalhes sobre ele através deste artigo. De qualquer forma, o Cron Heatmap é muito útil quando você precisa de algo mais direto ao ponto e capaz de fornecer resultados de forma rápida.

Conclusão

Como você pode perceber, o Cron Heatmap é uma ferramenta online simples e direta ao ponto. Porém, trata-se de um serviço muito útil, principalmente no caso de servidores.

Determinar os horários de pico, ou seja, os momentos em que várias tarefas agendadas são executadas simultaneamente, também é muito importante para manter a “saúde” de um servidor.

Espero que este conteúdo seja do seu agrado, e em caso de dúvidas e/ou sugestões, não hesite em deixar um comentário.

Até a próxima!

Compartilhe este conteúdo:

<a href="https://teclinux.com/author/marcos-zy/" target="_self">Marcos A.T. Silva</a>

Marcos A.T. Silva

Apaixonado por tecnologia desde tenra idade, trabalha com TI há mais de 20 anos. Tem no rock and roll (em suas mais variadas vertentes) uma válvula de escape, e adora escrever guias e tutoriais, além de ser um grande entusiasta do Linux e do software livre.

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Pin It on Pinterest

Share This

Compartilhe

Compartilhe este post com seus amigos!