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.
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
(tarefacron
, tarefa agendada): trata-se da tarefa que será automatizada / agendada;
Crontab
: é a tabelacron
. Arquivo que armazena todas as tarefascron
;
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:
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:
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!
0 comentários