Cron Job Monitoring

Cron Monitoring

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

You're in great company

Cronitor is trusted by thousands of customers all around the globe.

Often the most critical parts of our apps run in automated background jobs. With Cronitor, you get key insight into knowing these important jobs are actually running. I can't recommend it enough!

Jonathan Reinink

Co-Creator @ TailwindCSS

Timeline

Follow your jobs on a timeline

Visualize your job schedules and find surprise hotspots.

Scroll back through historical data to understand what's already happened, and move forward in time to see what's running next.

Metrics

Capture metrics from every job

See what's really happening with your jobs.

Explore job performance, success rate, and custom metrics with realtime dashboards and 12 months of data retention.

Logs

Collect logs from every execution

Find the details you need, without hunting through log files.

Audit your jobs and resolve incidents faster by accessing execution logs and error messages without leaving Cronitor.

Alerts

Stay on top of every problem

Be the first to know when a job fails or doesn't start.

Detect and triage problems fast with clear and concise alerts. Add Cronitor to your workflow with 10+ alert integrations.

Reporting

Keep everybody in the loop

w

Reports and Status Pages keep everybody informed.

Cronitor gives you multiple ways to keep teammates, stakeholders and customers informed about job health and downtime.

Monitor any kind of job

With 12+ open source integrations, you can instrument 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

Start monitoring in minutes

At Cronitor, engineers call the shots and we focus on every detail of your developer experience.

# 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 caught off-guard by silent failures and performance regressions. We've been there ourselves, and we started Cronitor with a simple mission: give developers a better way to monitor and understand their cron jobs. Cron monitoring is comprised of 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