Skip to content
Nowlark
Browse guides

Prometheus Alertmanager alerts on your iPhone

Each firing Alertmanager group arrives as one notification from one webhook receiver, and the same notification changes when it clears.

N
ALERTMANAGER · now[FIRING] DiskFull (2)/var on db-01 is 95% full
A firing group. When it resolves, this same notification changes to show it is resolved.

What you need#

  • Nowlark on your iPhone, and your key from Settings › Connect an App › Create Your Key. Copy it when it is shown, because it is shown once. It starts nlk_.
  • Prometheus Alertmanager, and access to its configuration file.

Add Nowlark to Alertmanager#

  1. Open alertmanager.yml on the machine that runs Alertmanager.
  2. Add this receiver to it, with your own key in place of nlk_…:
receivers:
  - name: nowlark
    webhook_configs:
      - url: https://nowlark.com/v1/hooks/alertmanager
        send_resolved: true
        http_config:
          authorization:
            credentials: nlk_…
  1. Route the alerts you want on your iPhone to it, for example receiver: nowlark on your top-level route.
  2. Reload Alertmanager, with kill -HUP or a POST to /-/reload.
  3. To check it, fire a test alert, with your own Alertmanager's address in place of localhost. It arrives on your iPhone at High priority within your route's group_wait.
amtool alert add alertname=NowlarkTest severity=warning \
  --alertmanager.url=http://localhost:9093

Your key goes in the Authorization header, not in the address. To keep it out of the file, use credentials_file instead of credentials.

What arrives#

In Alertmanager On your iPhone
A group fires
"[FIRING]" and the alert's name, with its summary or description underneath. Tap it to open the alert's source.
It resolves
The same notification changes to show it is resolved. No second alert to clear.
Several alerts in one group
One notification, with up to five of them summarised.

The alert's severity label sets the priority: critical or page is Urgent and breaks through Focus modes, warning, error or high is High, and resolved is Normal. An alert with no severity label arrives at High.

Each alert arrives under the source Alertmanager. In the app's Sources tab you can give it a colour, and with the Upgrade Pass its own tone.

On a team channel#

Use a channel key instead of your own, and everyone on the channel gets the alert. When Alertmanager reports it resolved, the alert is resolved on the channel too, and no later escalation step goes out for it. Channels and escalation covers the rest.

Get the app