fbpx

O quê é cron Jobs, porquê e como monitorar

Daniella Costa

O quê é cron Jobs, porquê e como monitorar

Os cron jobs são para os data centers o que os pregos são para uma casa: você provavelmente não pensa neles com muita frequência, mas eles estão por toda parte e desempenham um papel crítico na manutenção de tudo. Se eles não fizerem seu trabalho corretamente, tudo desmorona.

Várias coisas podem dar errado com eles, desde falha na inicialização, tempos limite, problemas de desempenho e muito mais. Quando um cron job do qual seu sistema operacional ou aplicativos dependem não funciona corretamente, isso pode resultar em consequências significativas para suas operações e seus clientes.

É por isso que o monitoramento de tarefas cron é um requisito crítico para qualquer ambiente de TI que inclua sistemas do tipo Unix que usam cron.

Abaixo, explicamos como o cron funciona, por que é importante monitorar o cron, o que procurar ao realizar o monitoramento do cron e como obter a amplitude e a profundidade necessárias para monitorar o cron de maneira eficaz usando uma ferramenta como Site24x7.

O que é cron?

O Cron é um utilitário para Linux e outros sistemas operacionais do tipo Unix, que executa tarefas automaticamente de acordo com as configurações definidas pelos administradores de TI. Uma ferramenta amplamente usada disponível desde a década de 1970, o cron é instalado por padrão na maioria dos sistemas operacionais semelhantes ao Unix disponíveis hoje – incluindo aqueles usados ​​para hospedar cargas de trabalho em um data center.

Uma tarefa configurada para ser executada via cron é conhecida como cron job. Normalmente, os cron jobs são scripts Bash que executam tarefas de manutenção, como girar arquivos de log, limpar diretórios temporários ou atualizar caches de dados.

Os trabalhos cron são normalmente configurados em um arquivo conhecido como crontab, que está localizado em /etc/crontabe pode ser editado apenas pelo usuário root (ou um usuário com privilégios sudo). Usuários individuais também podem adicionar seus próprios crontabs.

A maioria dos sistemas operacionais vem com algumas /etc/crontabentradas por padrão, e é comum que os administradores de TI adicionem entradas personalizadas para ajudar a automatizar as tarefas de manutenção. Como resultado, mesmo uma empresa de médio porte pode ter milhares de cron jobs espalhados por seus servidores, todos silenciosamente fazendo sua parte para manter o data center funcionando sem problemas.

Por que o monitoramento de cron job é importante?

As tarefas que os cron jobs lidam podem parecer mundanas, mas são essenciais para manter os sistemas operacionais e os aplicativos funcionando com eficiência.

Se um cron job que rotaciona arquivos de log ou limpa diretórios temporários não é executado conforme programado, os arquivos podem ocupar tanto espaço que seu servidor fica sem capacidade de disco. Eventualmente, um servidor que ficar sem espaço falhará.

Da mesma forma, a falha ao executar um cron job que atualiza os caches de dados pode prejudicar o desempenho de um aplicativo que depende do cache, pois os dados do cache estarão desatualizados quando o aplicativo os acessar.

Para evitar problemas como esses, você precisa monitorar os cron jobs para garantir que eles sejam executados corretamente. Você não pode garantir operações íntegras para seu sistema operacional ou aplicativos sem acompanhar as operações do cron.

Por padrão, você normalmente não receberá alertas sobre falhas do cron. Os sistemas operacionais geralmente não enviam nenhum tipo de notificação sobre problemas com o cron além de fazer uma entrada em seu arquivo syslog. Por padrão, o cron falhará silenciosamente, deixando os administradores de TI com poucos insights sobre possíveis problemas, a menos que eles ouçam sobre problemas de desempenho dos usuários finais.

Para complicar ainda mais, o cron é um utilitário local, o que significa que cada servidor em seu data center terá seu próprio crontab (ou crontabs, se houver crontabs de usuário além de um crontab root). Cada servidor também registrará dados sobre operações cron localmente.

Para verificar seus cron jobs manualmente, faça login em cada servidor separadamente e examine seus arquivos syslog. Ou encontre uma maneira de agregar os arquivos syslog de todo o data center e, em seguida, identifique quais entradas cron nos logs agregados correspondem a quais servidores. De qualquer forma, você terá uma experiência confusa e ineficiente se tiver vários servidores e tentar monitorar o cron manualmente.

O que monitorar em um cron job

Há uma variedade de fatores a serem rastreados para cada tarefa cron nos arquivos crontab de seus servidores. Métricas úteis para monitorar incluem:

  • Tempo de resposta do trabalho : quanto tempo leva para o trabalho ser concluído e o tempo médio de resposta do trabalho mudou? Em geral, o tempo de resposta para cada tarefa deve permanecer o mesmo; uma desaceleração pode indicar um problema.
  • Sucesso ou falha do trabalho: O trabalho foi concluído com êxito?
  • Status de falha : Se o trabalho falhou, você deve saber a natureza da falha. Ele falhou ao iniciar inicialmente? Ou começou, mas abortou ou atingiu o tempo limite em um determinado ponto?

Monitorando o cron como um todo

Além dessas métricas, você também deve acompanhar a integridade do cron como um todo medindo pontos de dados como:

  • Quantos cron jobs são executados em um determinado período? : rastrear o número total de tarefas cron em execução ajuda a avaliar a eficácia do cron em geral.
  • Tendências de falha e resposta do cron : O rastreamento do número total de falhas ou lentidão de tarefas do cron em resposta ao longo do tempo fornece visibilidade da integridade das operações gerais do cron.
  • Quantos recursos o cron consome em um determinado período? : Conhecer a carga coletiva que os trabalhos cron colocam em seu servidor ajudará você a evitar prejudicar o desempenho do servidor. Você também pode decidir reprogramar alguns cron jobs se achar que eles estão colocando uma carga pesada no servidor em horários inoportunos, como horários do dia em que o tráfego de usuários é alto.

Alerta de cron job

Monitorar os trabalhos cron e o desempenho geral do cron é apenas metade da batalha. Igualmente importante é ter uma solução eficiente e automatizada para notificar os administradores de TI instantaneamente quando algo der errado com qualquer cron job em qualquer servidor em seu data center.

O próprio Cron não se esforça para informar sobre problemas e não possui nenhum recurso de notificação nativo além de gravar em arquivos de log, portanto, você precisará implementar um utilitário separado para alertas do cron.

O Site24x7 resolve esse problema permitindo que você configure alertas cron que serão enviados por SMS, e-mail e/ou seu aplicativo de colaboração em tempo real favorito, como Slack ou HipChat. Plataformas de gerenciamento de incidentes como o PagerDuty também são suportadas.

Monitoramento de cron job com Site24x7

O Cron é uma ferramenta poderosa e desempenha um papel crítico na maioria dos data centers modernos. No entanto, uma de suas fraquezas é que ele falha silenciosamente e oferece pouco em termos de monitoramento ou alerta automatizado.

Se você não investir em uma solução que permita monitorar o cron automaticamente em todo o data center, sofrerá uma lacuna crítica de visibilidade em seu data center.

Você pode fechar essa lacuna com o Site24x7, que oferece uma solução de monitoramento cron fácil de implantar que fornece alertas avançados e insights profundos sobre o desempenho do cron. Com o Site24x7, você simplesmente especifica a expressão cron que deseja executar e designa administradores de TI para receber alertas sobre ela. O Site24x7 configura o cron job para você e monitora automaticamente falhas ou problemas de desempenho. Você receberá alertas instantâneos para os canais de sua escolha quando o cron job não for executado conforme o esperado. Você obterá relatórios de desempenho que o ajudarão a rastrear a integridade de suas operações cron ao longo do tempo em todo o data center.

Monitore tarefas cron, backups, daemons, lotes ou outras tarefas agendadas. Configure alertas para monitorar tarefas cron com falha e saber quando as tarefas falham.

Configuração simples e sem codificação

Adicione um monitor cron em apenas alguns minutos. Dê um nome, especifique a expressão cron e selecione quem notificar. Você Terminou!

Não há mais tarefas cron ou backups com falha

Diga adeus às falhas silenciosas ou às que passam despercebidas. Obtenha melhor visibilidade de seus trabalhos visualizando sua disponibilidade e desempenho ao longo do tempo.

Alerta instantâneo

Configure alertas para notificá-lo por SMS ou e-mail, bem como por meio de integrações como PagerDuty, HipChat e Slack.

Monitoramento de batimentos cardíacos

Saiba se sua tarefa pode ou não se comunicar com seu servidor. Seja alertado quando eles não responderem.

Como funciona?

Adicione um monitor cron, configure alertas, seja notificado quando o trabalho falhar ou estender seu período de tempo especificado e analise seu desempenho usando nossos relatórios.

Você pode experimentar o Site24x7 dentro da sua empresa sem custo algum. Que tal realizar esse teste agora?

Conheça na prática como o Site24x7 pode ajudar você e o seu negócio. Nossos técnicos estão disponíveis para te apresentar a melhor solução de monitoramento em nuvem para sua infraestrutura, conte sempre com o apoio da equipe ACSoftware.

ACSoftware / Figo Software seu Distribuidor e Revenda ManageEngine no Brasil

Fone (11) 4063 1007 – Vendas (11) 4063 9639