Cron Job Monitoring

Keep tabs on your cron jobs.

  • checkmark See the status, metrics and logs from every job
  • checkmark Instant alerts when a job fails or never starts

You're in great company

Join 70,000+ developers, and thousands of customers all around the globe.

What's Inside

See what developers love most about Cronitor

Alerts when a job fails or doesn't start on time.

Timeline view of job schedules and activity.

Metrics to monitor and debug your jobs.

Easily find the logs from every execution.

Reports and Status Pages to keep people informed.

w

Monitor any kind of job

With 12+ open source integrations, you can monitor all of your jobs, no matter where you are running them. See the status, metrics and logs of every job on a single pane of glass.

We trust Cronitor to monitor our mission critical services. They are lightening fast at reporting issues, and detect problems that other providers can't.

Simon Bennet

CEO @ SnapShooter

Getting started is simple

Automatic integrations for popular job platforms and languages, and a simple API you can use directly.

# Add the Cronitor Helm chart
helm repo add cronitor https://cronitorio.github.io/cronitor-kubernetes/

# Add your Cronitor API Key as a Secret
kubectl create secret generic cronitor-secret -n <namespace> --from-literal=CRONITOR_API_KEY=<api key>

# Deploy using Helm 2 or Helm 3
helm upgrade --install <release name> cronitor/cronitor-kubernetes --namespace <namespace> \
    --set credentials.secretName=cronitor-secret \
    --set credentials.secretKey=CRONITOR_API_KEY


# Tell Cronitor that your job is running and automatically create your first monitor
curl https://cronitor.link/p/<API-KEY>/test-job?state=run


# Now, simulate a failure and trigger an alert
curl https://cronitor.link/p/<API-KEY>/test-job?state=fail


# Add monitoring directly to your crontab
* 0 * * * /important-job.py && curl https://cronitor.link/p/<API-KEY>/test-job?state=complete


# You can even include metadata
curl https://cronitor.link/p/<API-KEY>/test-job?state=complete \
       &status_code=0 \
       &message=Import+Complete \
       &metric=duration:419.44 \
       &metric=count:3329
# Add Cronitor to your project
pip install cronitor


# Import & configure
import cronitor
cronitor.api_key = 'your key here'


# Add the job decorator to anything you want to monitor
@cronitor.job('important-background-job')
def daily_metrics_task():
   print('running an important background job, with monitoring!')
# Add Cronitor to your project
npm install cronitor


# Import & Configure
const cronitor = require('cronitor')('your key here')


# Integrate easily with popular node-cron packages
const nodeCron = require('node-cron')
cronitor.wraps(nodeCron)


# Or, use the cronitor.wrap method to monitor any function.
cronitor.wrap('important-background-job', function () {
   console.log('running an important background job, with monitoring!')
})
# Add Cronitor to your project
gem install cronitor


# Import & Configure
require 'cronitor'
Cronitor.api_key = 'your key here'


# Use the Cronitor#job method to wrap any block with monitoring
Cronitor.job 'daily-metrics-job' do
   DailyMetricsJob.new(Date.today).run()
end 
# Add Cronitor to your project
gem install sidekiq-cronitor


# Add the Cronitor middleware to your Sidekiq initializer
require 'cronitor'
require 'sidekiq/cronitor'
Cronitor.api_key = 'your key here'

Sidekiq.configure_server do |config|
  config.server_middleware do |chain|
    chain.add Sidekiq::Cronitor::ServerMiddleware
  end
end


# Learn more - https://github.com/cronitorio/cronitor-sidekiq
 
# Add Cronitor to your project
composer require cronitor/cronitor-php


# Import & Configure
$cronitor = new Cronitor\Client('your key here');


# Use the $cronitor->job method to wrap any function with monitoring
$cronitor->job('important-background-job', function() {
  echo('running an important background job, with monitoring!')
});


# Or use directly with an invokable class
$cronitor->job('important-background-job', new InvokableBackgroundJob());
Start for free

How cron monitoring works

Don't let flaky cron jobs impact your application's uptime and performance. Cronitor will alert you whenever there's a problem, so you'll never be surprised by silent failures and performance regressions. Cron monitoring has 3 key capabilities:

  1. A fast and flexible alerting engine that gives you control to fine-tune your alert thresholds and failure tolerances. With integrations like Slack and PagerDuty you can trust that the right person or team will be alerted if one of your jobs fails to run, runs for longer than expected, throws an exception, or exits with an error code.
  2. Powerful open-source integrations for Linux, Kubernetes, Celery and more that automatically capture the status, metrics and logs from your jobs. Logs and metrics are automatically correlated with each job execution itself, making it easy to investigate problems and understand issues.
  3. Track your jobs on a timeline that's easy to read and understand. Cron schedules are famously difficult to read and the timeline view is the perfect way to identify hotspots and related failures across jobs. Scroll back in time to view previous executions, and go forward to see what's scheduled next.

Of course, there's a lot more to it than that, and Cronitor gives you everything you need for cron monitoring out-of-the-box, including:

Capture cron logs

Your cron logs are automatically captured and correlated with the job execution that wrote them. No more hunting through log files.

Job performance alerts

Use automatic slow job alerts or set your own thresholds and Cronitor will alert you when your job performance degrades.

Flexible notifications

Have control over when you'll be alerted with grace periods, failure tolerance and schedule tolerance settings on each job.

No silent failures

Cronitor understands your job schedule and expects your job to run on time. If it goes missing for any reason, you'll be alerted.

Cron job metrics

Track performance trends and answer operational questions with clear, fast dashboards and full year of data retention.

Your cron dashboard

Add, organize and monitor any kind of job. Understand what's running, where it's running, when it's expected, and how often it fails.

Case Study Aloft.ai

Aloft uses Cronitor to monitor realtime flight data and stay in compliance.

Read More →
Case Study GreatWaves

GreatWaves uses Cronitor to automate WiFi deployments and rollbacks.

Read More →
Chime

"Cronitor has increased our Operations staff's efficiency and responsiveness immensely. Their spin on micro-monitoring represents a best-in-class solution to the age old problem of visibility."

Ethan Erchinger Director of Operations
OfferLogic

"I was finding too many cases where our cron jobs would silently fail - we sometimes would not find out for days that a job was broken. Cronitor gives our team the confidence and peace of mind that if a job is not running, we'll know fast."

Gary Malouf VP of Technology
BabyList

"Before we used Cronitor, we had an important data backup job fail silently for over a month. We use Cronitor so that will never happen again!"

Natalie Gordon CEO

Monitoring for Developers