Recent Updates

September 25, 2020

🥳 🔠 We are releasing a major update to our telemetry tracking - B.Y.O.M.ID - Bring Your Own Monitor IDs!

The fundamental basis of integrating with Cronitor is using a monitor's globally unique ID to send telemetry data about a job's execution using the Ping API. While conceptually simple, this can make integrating with Cronitor cumbersome because it requires first using the dashboard or API to create a monitor in order generate a new monitor ID.

Using the new Universal Ping URL you can assign your own unique (to your account) identifier for a monitor. When a new ID is detected, a new monitor is created automatically.

cronitor.link/ping/a9ff42ad0abc1/A-Unique-Monitor/run

The above URL contains your Ping API key, and calling it would create a new monitor named "A Unique Monitor". Rules and alert preferences could then be attached from the dashboard.

August 23, 2020

🐍🐍 Cronitor is written (mostly) in Python, so we were excited to recently move the most popular Python client (and the cronitor package on PyPi) into our Github organization, and begin contributing to its development.

Today we're launching the 2.0 version of this client. The API has changed to make it easier to work with provisioning/deployment pipelines, and will be used as a model for updates to our other clients. It also comes with something we've wanted for ourselves — a dead simple way to automagically monitor any Python function.

            from cronitor import ping

            @ping("An Important Function")
            def main():
                ...

If that's piqued your interest, take a look at our blog post about this release, or see the project README for install instructions and documentation.

July 28, 2020

⏸ ▶️ We have released an update to our core alert delivery logic. Prior to this change, once a monitor began failing, and as long as it remained in a failing state, a follow up alert would be delivered on a pre-defined interval (8 hours by default). This could (and did) result in sending alerts for years on dead monitors.

With this release monitors will be automatically pause sending alerts after 10 consecutive alerts. If/when the monitor begins receiving the expected telemetry pings again, the expected recovery notification will be delivered, and the monitor will resume sending alerts per its rules.

July 7, 2020

✉️ 📊 Rollup reporting has been one of the most asked for features this year, and after three users requested it in a two week period we decided to bump the priority and ship this quickly.

Today we're launching summary reports. These reports will...ahem...summarize...your monitor activity (failures, new monitors, etc) for a given time period. If you're interested in receiving these reports via slack/teams instead of email, please reach out.

June 11, 2020

  is now an officially supported integration. This makes it easy to quickly authorize Cronitor to send alerts to any team/channel, and to add a channel to a notification list for re-use.

May 22, 2020

📅💡 CloudWatch Events are a great way to bring cron based scheduling to an event driven systems built onto of AWS's SNS/SQS/Lambda infrastructure.

CloudWatch events present an interesting monitoring challenge though. They use a 6 digit cron expression * * * * * * instead of the standard 5 digits. This is similar to Java Cron (Quartz, Spring, etc), however unlike Java Cron where the 6th is added to the left side of the expression and means seconds, with Cloudwatch Events the 6th digit is added to the right side of the expression and signifies years.

In order to correctly monitor CloudWatch Events we've added a special monitor type that correctly parses the 6th digit as years instead of seconds. You can select it from the dashboard or use "monitor_type": "cloudwatch" when creating a monitor via the API.

May 7, 2020

🔥📉 When tuning load times there's nothing more statifying than a chart that's down and to the right!

Refactoring our approach to calculating monitor status in bulk (e.g. opening your cronitor dashboard) has improved load times by a factor of 3-5x for accounts with 50+ monitors.

April 21, 2020

❤️📄 We're grateful to all the teams out there that take the time to write great product documentation for us, and we're committed to doing the same for our users.

Our new docs landing page has been reorganized to help you quickly find the information you need.

We rewrote and redesigned our Cron Job Setup Guide and Cron Job Integration Guide to make getting started with Cronitor even easier.

April 14, 2020

🔍📟 We've made it easy to add an alerting system to your APIs! By creating assertions on the key/value pairs in the response body itself you can quickly add monitoring to any API.

We've been using it to monitor queue lengths, alert counts, and a number of other key metrics that we've written internal APIs for.

Apr 02, 2020

🌐 Select regions for your Website, API and Server monitoring! This feature makes it easier to prevent false alarms by deploying monitoring close to your actual users.

Website and API monitors can also now use a Response Body Does Not Contain assertion.

March 26, 2020

🔒 Monitor your private S3 buckets to ensure they stay private. Cronitor will alert you instantly if they become publicly accessible.

🔓You can also monitor the availability and health of your public S3 buckets with assertions like Item Count > 10.

March 21, 2020
CLI 25.2
  • We made it easier to selectively import cron jobs from your crontab when using cronitor discover. With this update you can easily skip a job import withctrl-c
  • .
  • Fix a race condition with cronitor exec that could cause output failures and, in certain cases, even a process deadlock.
Feb 25, 2020
Dashboard
  • Improved navigation and design of the account settings page! In fact, this is the first change to the design of the account settings page since Cronitor launched in 2014.

    Over the years we managed to cram a lot of features into that page, and as a result it became harder and harder to use. All settings are now grouped under logical sections (Team, Billing, Integrations, etc), and each section is linkable via the URL.

Feb 13, 2020
New Feature
  • Monitors can now ping using email! Just send an email to {MONITOR_ID}@cronitor.link

    Email pings are great ways to validate that your emails are being delivered - create a monitor to alert you if it doesn't receive an email on a given schedule or within a certain time interval. It can also be a handy way to send telemetry (ping) data from servers that can't make outbound HTTP requests, but are configured to allow SMTP requests..

    To call different monitor events append the event name with a + as shown below.
    d3x0c1+run@cronitor.link
    d3x0c1+complete@cronitor.link
    d3x0c1+fail@cronitor.link
    d3x0c1+ok@cronitor.link

Feb 03, 2020
Dashboard
  • Enhancement: Auto-updating for all job activity feeds. Removed pagination/refresh button. No controls necessary!
Nov 3, 2019
API Dashboard
  • Enhancement: Introduction of new monitor types including Java Cron Job, Scheduled Task, AWS Scheduled Event and more.
Sep 20, 2019
API
  • Enhancement: Ping API has improved ping matching logic that computes durations even when job instances overlap.
Sep 2, 2019
CLI 23.0
  • Fix: discover was not saving user crontabs on RHEL
  • Enhancement: discover will prefill monitor names when you are re-running the command
August 20, 2019
API Dashboard
  • Enhancement: New VictorOps integration for Teams, Business and Unlimited subscribers.
  • Fix: Cronitor will properly ignore failures that happened while a monitor was paused.
July 30, 2019
API Dashboard
  • Enhancement: New OpsGenie integration for Teams, Business and Unlimited subscribers.
July 19, 2019
API Dashboard
  • Enhancement: New failure tolerance feature for all monitor types give you control over when you get alerted.
June 18, 2019
API Dashboard
  • Enhancement: ping api /ok endpoint to reset a monitor back to healthy status until the next scheduled run.
  • Enhancement: dashboard pause feature will automatically send an /ok ping when your monitor is unpaused.
May 29, 2019
CLI 22.9
Dashboard
  • Enhancement: discover will no longer create monitors for meta cron jobs like cron.daily or cron.monthly
  • Enhancement: dashboard will no longer display monitors for meta cron jobs like cronitor discover
April 15, 2019
CLI 22.6
  • Fix: discover will not crash when hostnames are longer than 55 characters
  • Enhancement: discover now includes the cron job administration tools list, select and shell
March 17, 2019
CLI 21.1
  • Fix: discover will no longer create monitors with duplicate names in some edge conditions
  • Fix: discover will display an interactive prompt even when no $PS1 is set
  • Enhancement: discover now supports the editing of auto-generated names at the interactive prompt
  • Enhancement: For compatibility with older systems, a 32-bit build is now available
November 7, 2018
CLI 20.0
  • Enhancement: discover will prompt a user to save updated crontab if no automatic --save flag is supplied
October 16, 2018
CLI 19.0
  • Enhancement: discover can now be supplied a path to a single crontab or a directory of crontabs.
  • Enhancement: discover will automatically find jobs in /etc/cron.d when run as a root user.
  • Enhancement: discover interactive shell is cleaner and more descriptive.
August 13, 2018
CLI 18.2
  • Fix: exec will no longer strip newline characters from stdout and stderr.
  • Enhancement: Increase reliability of Ping API communication with longer timeout and more advanced retry logic.
July 1, 2018
CLI 18.0
  • Enhancement: exec will relay signals. Signals will now be ignored by the exec process and sent directly to the subprocess. Note that in Unix-based operating systems like Linux SIGKILL cannot be caught or relayed.
  • Enhancement: exec will return stdout and stderr from subprocess as a combined stdout stream. Before this change the output was buffered until the subprocess exited.
  • Enhancement: exec will relay the exit code from the subprocess. If your subprocess returns code 127, exec will return 127.
June 24, 2018
CLI 17.2
  • Fix: exec will no longer append a newline when writing stdout from the subprocess.
May 7, 2018
API
  • Fix: Properly handle notification templates with dots in their key. Before this change templates with keys like ops.default couldn't be deleted.
March 27, 2018
CLI 17.1
  • Fix: discover increase timeout to accommodate crontab files with hundreds of jobs.
March 12, 2018
API Dashboard
  • Enhancement: New NotRunAt rule type for heartbeat monitors. With this rule type you will be alerted if a ping is not sent by a certain time each day.
  • Enhancement: More detailed monitor status text
  • Enhancement: Better monitor initialization emails
  • Fix: Upgrade SAML SSO library in response to authentication bypass vulnerability
March 7, 2018
Dashboard
  • Enhancement: Notification lists can now be created and updated from your dashboard. Before this change the feature was only available via the API and was called "templates". All templates have been turned into notification lists.
February 28, 2018
CLI 17.0
  • Enhancement: discover can accept a --notification-list argument
  • Enhancement: exec will now set the environment variable CRONITOR_EXEC=1 so a process can know if it's being run under exec.
February 23, 2018
CLI 16.0
  • Enhancement: discover interactive mode to easily customize monitor names during crontab import.
  • Enhancement: discover will automatically find your user crontab if no file is supplied.