Join 70,000+ developers, and thousands of customers all around the globe.
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
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());
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:
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:
Your cron logs are automatically captured and correlated with the job execution that wrote them. No more hunting through log files.
Use automatic slow job alerts or set your own thresholds and Cronitor will alert you when your job performance degrades.
Have control over when you'll be alerted with grace periods, failure tolerance and schedule tolerance settings on each job.
Cronitor understands your job schedule and expects your job to run on time. If it goes missing for any reason, you'll be alerted.
Track performance trends and answer operational questions with clear, fast dashboards and full year of data retention.
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.
"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
"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
"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