Skip to content

Alerting

A dissolved oxygen crash at dawn should page someone.

DO crashes do not schedule themselves for business hours. The classic fish kill starts before sunrise, when respiration has drawn the pond down all night and nobody is watching a dashboard. An email fired at 4:37 a.m. It was read at 7:10. The difference between those timestamps is the difference between an incident and a loss.

Production companies solved this decades ago: critical systems page a human until a human acknowledges. Your farm is a production company. The fish do not care that the industry calls this "ops tooling."

How it actually works

FarmHub sends critical alerts to PagerDuty through the Events API v2, and PagerDuty does what it does: escalate until someone acknowledges.

  • Conditions checked every five minutes. FarmHub evaluates alert conditions on a five-minute cycle. When a critical threshold trips, the event goes to PagerDuty immediately and your escalation policy takes over: phone, SMS, push, whatever wakes your on-call.
  • Severities map to PagerDuty severities. FarmHub high maps to critical, medium to warning, low to info. Your escalation rules can treat a crashing raceway differently from a drifting pH.
  • One alert, one incident. Each FarmHub alert carries a stable deduplication key, so a condition that stays tripped across multiple five-minute checks does not stack up duplicate incidents.
  • Resolutions close their own incidents. When the alert resolves in FarmHub, the matching PagerDuty incident resolves through the same deduplication key. Your on-call sees the recovery without hunting for it.

FarmHub already sends email and push notifications. PagerDuty is the layer for the alerts that cannot wait for someone to check their phone voluntarily.

WHAT YOU CAN COUNT ON

What you can count on

What is under the hood:

  • Routing key per connection, encrypted. You paste the integration key from a PagerDuty Events API v2 integration on your service. It is stored encrypted, scoped to this connection alone.
  • Treated as a critical channel. FarmHub classifies PagerDuty as a critical integration internally, with delivery retries and backoff so a transient network failure does not eat a page.
  • Test before you trust. A built-in test event confirms the routing key works before a real emergency depends on it.
  • Kill switch and hash-chained audit rows. Disable the connection instantly, and every delivery attempt is logged in tamper-evident, hash-chained audit rows.

What we do not do

What we leave to PagerDuty, and to you:

  • FarmHub does not manage your escalation policies, schedules, or on-call rotations. That configuration lives in PagerDuty.
  • FarmHub does not read anything back from PagerDuty. Acknowledging a page does not change the alert in FarmHub; the alert resolves when the underlying condition clears.
  • A page is only as good as the rotation behind it. If nobody is on call, PagerDuty cannot fix that, and neither can we.

Setup, honestly

You need a PagerDuty account with a service you can add an integration to.

  1. In PagerDuty, add an Events API v2 integration to your service and copy the 32-character integration key.
  2. In FarmHub, open Integrations, choose PagerDuty, and paste the key.
  3. Send the built-in test event and confirm an incident appears on the service.
  4. Set your critical thresholds in FarmHub, and make sure the escalation policy behind the service actually wakes someone.

Questions farmers ask

How fast does a critical alert become a page?

FarmHub checks alert conditions every five minutes and sends the event to PagerDuty the moment a threshold trips. From there your PagerDuty escalation policy controls how the page reaches on-call.

Will a persistent alert create duplicate incidents?

No. Each alert uses a stable deduplication key, so an ongoing condition maps to one incident rather than a new one per check cycle.

Does the incident resolve when the water recovers?

Yes. When the alert resolves in FarmHub, the resolution is sent with the same deduplication key and the PagerDuty incident closes itself.

How do FarmHub severities map to PagerDuty?

High maps to critical, medium to warning, low to info. You can route and escalate on those severities inside PagerDuty.

Do I need PagerDuty for every alert?

No, and you should not use it that way. Email and push are built into FarmHub for routine alerts. Reserve PagerDuty for the conditions that justify waking someone, like dissolved oxygen, power, or water level.

READY FOR THE NEXT SHIFT

Give the 4 a.m. alert an escalation path

Connect PagerDuty with one integration key and the next critical excursion pages your on-call until a human acknowledges it. The fish will not wait for the morning email check.

Start free