Skip to main content
Setup time: 10 Min
Integrate Observium with All Quiet in a matter of minutes. With a simple alert transport script, you can forward Observium alerts to your All Quiet inbound integration webhook URL, keeping incident handling consistent across your observability stack.

1. Create Observium Integration on All Quiet

Sign in to your All Quiet account.

Create Integration

  1. Click on the Inbound Integrations tab.
  2. Click on + Create.

Select Observium as the integration’s type

  1. Enter a Display Name for your integration, e.g. “Observium”.
  2. Select a Team.
  3. Select Observium as the integration’s type.
  4. Click Create Inbound Integration.

Copy Webhook URL

After creating the integration on All Quiet, copy the webhook URL. You will require this URL in step 2 when configuring Observium.

2. Configure the Integration with Observium

Once you’ve set up an integration of type “Observium” with All Quiet, you can configure an alert transport script on your Observium host to forward alerts to All Quiet.

Alert statuses (important)

Observium provides an alert status that indicates whether this is an alert, a recovery, or a suppressed/delayed notification.
  • alert_status = 0: alert → creates / updates an incident
  • alert_status = 1: recovery → resolves the incident
  • alert_status = 2: delayed → dropped (does not create/update incidents in All Quiet default mapping)
  • alert_status = 3: suppressed → dropped (does not create/update incidents in All Quiet default mapping)
Post-processing also supports the alias alertStatus (camelCase) for alert_status. In this guide we use alert_status.

Add an All Quiet alert script

Create a script on the Observium server, for example at /usr/local/bin/observium-allquiet.sh. This script is intentionally shaped to match the default Observium mapping shipped with All Quiet (correlation = alert_id + entity_id, status and severity mapping, title composed from host + message, plus URL, conditions, metrics, entity type).
observium-allquiet.sh
#!/usr/bin/env bash
set -euo pipefail

allquiet_webhook_url="$1"
alert_id="$2"
entity_id="$3"
alert_status="$4"        # 0=alert, 1=recovery, 2=delayed(dropped), 3=suppressed(dropped)
alert_severity="$5"      # critical|warning|informational
device_hostname="$6"
alert_message="$7"
alert_url="$8"
conditions="${9:-}"
metrics="${10:-}"
entity_type="${11:-}"

curl -sS -m 10 --fail -X POST \
  "${allquiet_webhook_url}" \
  -H 'Content-Type: application/json' \
  -d "{
    \"alert_id\": ${alert_id@Q},
    \"entity_id\": ${entity_id@Q},
    \"alert_status\": ${alert_status@Q},
    \"alert_severity\": ${alert_severity@Q},
    \"device_hostname\": ${device_hostname@Q},
    \"alert_message\": ${alert_message@Q},
    \"alert_url\": ${alert_url@Q},
    \"conditions\": ${conditions@Q},
    \"metrics\": ${metrics@Q},
    \"entity_type\": ${entity_type@Q}
  }"
Make it executable:
chmod +x /usr/local/bin/observium-allquiet.sh

Wire the script into Observium alerting

Configure Observium to call the script when alerts fire and recover.
The exact configuration depends on your Observium edition and alert transport setup. The important part is: send the fields that the default mapping expects (listed in the script above).
Example invocation (adapt placeholders / variables to your environment):
/usr/local/bin/observium-allquiet.sh \
  "https://YOUR_WEBHOOK_URL_FROM_STEP_1" \
  "${ALERT_ID}" \
  "${ENTITY_ID}" \
  "${ALERT_STATUS}" \
  "${ALERT_SEVERITY}" \
  "${DEVICE_HOSTNAME}" \
  "${ALERT_MESSAGE}" \
  "${ALERT_URL}" \
  "${ALERT_CONDITIONS}" \
  "${ALERT_METRICS}" \
  "${ENTITY_TYPE}"
For recoveries, Observium should pass alert_status = 1.

3. Test Your Integration

Navigate back to All Quiet and open the Payload Mapping tab of the integration you just created.
  1. Trigger a test alert in Observium.
  2. Verify the payload shows up in Latest payloads.
  3. Check that the pre-built mapping creates an incident with the expected Title, Status, and Severity.
You’re ready to go. If you set up your integration this way, Observium alerts will automatically create and update All Quiet incidents.

Adjust Payload Mapping

Looking to customize the fields of your incidents by adjusting the pre-built payload mapping? Simply head over to the “Payload” tab within your integration and make the necessary edits to the mapping. For detailed guidance, you may check out our payload mapping documentation.
Using our Terraform provider? Download the default mapping template and tailor it to your needs from https://allquiet.app/api/integrations/terraform/default/Observium.tf.