Heartbeat Monitoring

Heartbeats are a feature unique to Opsgenie that help monitor the connectivity between Opsgenie and your other systems.

Heartbeat Monitoring feature is available to Standard and Enterprise plans only.

This documentation explains how to configure your Heartbeats if you are using our new v2 version of Heartbeat Monitoring. If you are still using the old version, you can refer to this document. If you would like to switch your Heartbeats to the v2 version, you can refer here.

If you subscribed to a paid plan before October 14, 2016, you can refer Deprecated Heartbeats+ Separation for further information.

Our Heartbeats feature can be used to ensure that your environment is able to connect to Opsgenie continuously and that:

  • There are no network problems between your system and Opsgenie
  • Your Heartbeat sender system is working as expected

Heartbeats can also be used to monitor that your periodic tasks are running as expected by using a suitable Heartbeat expiration interval regarding your periodic task run time.

When a Heartbeat is added to Opsgenie with an interval of 10 minutes, your system is expected to send HTTP based Heartbeat requests periodically, at least every 10 minutes. If a Heartbeat request is not received for more than 10 minutes, Opsgenie will conclude that there is a problem between your system and Opsgenie, and create an alert according to your settings.

You can add any number of Heartbeats to monitor your systems and tasks. You can configure the check intervals for each Heartbeat separately up to once per minute.

Setup

  1. Add your Heartbeats from Heartbeats tab of your team, or from the Heartbeats page that is available on the left-hand side menu. For each Heartbeat, define a unique name and select your desired interval. If you do not add/save a Heartbeat, you are not able to ping the Heartbeat.

    • You can also add Heartbeats via Heartbeats API.
    • While adding a Heartbeat, you can also specify the message, priority and tag fields which will be used within Heartbeat expiration alerts. If not edited, these fields are populated with their default values when the Heartbeat is created. Same fields can be configured via Heartbeat API while creating the Heartbeat.
  2. Choose one of the following methods to send heartbeat to Opsgenie:

    • Lamp, the command line utility can be easily called to ping a Heartbeat, easy as: lamp heartbeat.
    • Heartbeats API, you may directly call the REST API from any programming language.
    • Opsgenie Java API, if you are familiar with Java, you can go with this option.
    • You can also use the Script Monitoring Client to automatically create and send Heartbeat messages using a single command. The client is released for both Linux and Windows distributions. It's also a fit for monitoring one-time script jobs.
    • Send a built-in email to Opsgenie to ping a Heartbeat. While creating the Heartbeats on Opsgenie, you will see the built-in email address configured according to your account and Heartbeat name. Note that the Heartbeat name should be correctly formatted according to RFC 822 standards to use this feature.
  3. Make sure that your system sends Heartbeats periodically at least every Heartbeat interval amount that you set.

  4. Make sure that your Heartbeat is enabled.

  5. Users that have the right to Edit Configuration can create and configure global or team-specific Heartbeats using the Heartbeats page. On the other hand, team admins can create Heartbeats that belong to their team and configure them.

  6. Additionally, you can enable Auto Heartbeat Creation from your settings page. If you enable this feature; when you send a ping request with any method provided above, if there is no Heartbeat with that name, a new one will be created and pinged for you. If you want to use this feature, consider the following notes:

    • For a Heartbeat to be created by ping, apiKey that is used for this ping request should belong to a team.
    • When a Heartbeat is created with ping request, that Heartbeat will belong to the same team as the integration apiKey used for ping request.
    • When a Heartbeat is created with ping request, it will also be pinged, so you don’t have to send another ping request until your regular ping interval.
  7. All Heartbeat expiration alerts will have “Heartbeat” tag by default.

Sample Scenario

Add Heartbeat

From the Heartbeats page add a new Heartbeat with a unique name and your desired expire interval. Alert fields for Heartbeat expiration alert will be populated with default values, but you can also set them yourself with your desired values.

You will see the designated email address made from the Heartbeat's name which you can use to send to Opsgenie.

Active Heartbeats

Send a Heartbeat, open the Heartbeats page, it will show your latest active Heartbeat.

Expired Heartbeat

Wait until your last Heartbeat expires- do not send again. Open the Heartbeats page and it will show your latest expired Heartbeat.

An alert is created soon after Heartbeat expires, notifying the recipients.

Heartbeat active again

Send another Heartbeat, it will show your latest active Heartbeat.

The expiry alert will be automatically closed soon after.