Skip to content

Alertmanager

Connect your Prometheus Alertmanager so its alerts flow into KubeManta's activity feed and alert history, and optionally trigger automatic investigation by the AI copilot.


What it gives you

  • Centralized alert view — Alertmanager firings appear in the alert history on KubeManta's Alerts page, tagged Alertmanager, and in the Activity feed alongside cluster events
  • Alert history — searchable, sortable, persisted in KubeManta (by default for 180 days)
  • AI auto-investigation — when a critical alert fires (Pro + AI enabled), KubeManta can automatically diagnose the issue and deliver the diagnosis to your alert integrations (enable it in Admin → AI → Alert diagnosis)

Tier: Free (ingestion + view); Pro (auto-investigation)


Prerequisites

  1. Alertmanager running — already deployed and firing alerts. We'll add KubeManta as a receiver.
  2. Network path — Alertmanager must reach KubeManta's webhook URL (typically https://kubemanta.example.com/api/agent/integrations/alertmanager/webhook for internet-facing, or an internal hostname if on the same network).
  3. A receiver secret — a strong shared value you choose and enter in KubeManta, so only your Alertmanager can deliver alerts. Until one is saved, the webhook refuses every request.

Configure in KubeManta

Step 1 — Generate a receiver secret

In KubeManta:

  1. In the sidebar, click Admin (gear icon).
  2. Open the Observability tab.
  3. Open the Alertmanager tab.
  4. Enter a strong Receiver Secret of your choosing (you'll give it to Alertmanager next).
  5. Your webhook URL is displayed — copy that too. It already includes the secret as ?token=; Alertmanager can use that URL as-is, or send the secret as an Authorization: Bearer header instead.
  6. Click Save.

Both the secret and URL are stored encrypted at rest.

Step 2 — Configure Alertmanager to send to KubeManta

In your Alertmanager config:

receivers:
  - name: kubemanta
    webhook_configs:
      - url: https://kubemanta.example.com/api/agent/integrations/alertmanager/webhook
        send_resolved: false

Add the secret as a header by replacing the simple url: above with:

receivers:
  - name: kubemanta
    webhook_configs:
      - url: https://kubemanta.example.com/api/agent/integrations/alertmanager/webhook
        send_resolved: false
        headers:
          Authorization: "Bearer YOUR_RECEIVER_SECRET"

Or, if your Alertmanager version supports query parameters in the webhook URL, append the token:

receivers:
  - name: kubemanta
    webhook_configs:
      - url: https://kubemanta.example.com/api/agent/integrations/alertmanager/webhook?token=YOUR_RECEIVER_SECRET
        send_resolved: false

Step 3 — Route alerts to the receiver

Add a route in your Alertmanager config to send the alerts you care about to KubeManta:

global:
  resolve_timeout: 5m

route:
  receiver: default
  routes:
    - receiver: kubemanta
      match:
        severity: "critical"   # Send only critical alerts, or remove match to send all

Reload Alertmanager:

kubectl rollout restart -n monitoring statefulset/alertmanager
# or: amtool config routes  (to reload without restarting)

Verify

Quick check in the UI

  1. Click Activity in the sidebar (or Overview → scroll to activity feed).
  2. You should see a Filters section with an alert-count indicator.
  3. If an alert just fired in Alertmanager, it should appear in the feed within seconds.

Test with amtool

If you have amtool installed, send a test alert:

amtool alert add test severity=critical

Then refresh the KubeManta Activity feed — you should see it appear.

Check KubeManta logs

kubectl logs -n kubemanta-system deploy/kubemanta-agent | grep observability

Look for messages confirming the webhook was received.

Expected states

State Meaning Next step
No alerts in Activity feed Either no alerts have fired, or Alertmanager hasn't reached KubeManta yet Fire a test alert with amtool, or check logs for webhook errors
Alerts appear in the feed Success! (Optional) Enable AI auto-investigation if you have Pro + AI
Alerts appear but seem stale Alertmanager may be sending old firings due to grouping or timing Check your Alertmanager config's group_wait / group_interval

Auto-investigation (optional, Pro + AI)

When you have a Pro license and AI enabled, KubeManta can automatically investigate critical alerts:

  1. Turn it on in Admin → AI → Alert diagnosis ("Send an AI diagnosis after each alert"), choosing the minimum severity. It needs Pro and a configured AI provider; it is off by default.
  2. The read-only diagnosis is delivered to your configured alert integrations.
  3. Turn the same switch off to stop it.

Troubleshooting

Alerts not appearing in KubeManta

Is Alertmanager actually firing alerts?

amtool alert
# should show active alerts

If none, fire a test:

amtool alert add test severity=critical

Is the webhook URL reachable from Alertmanager? - For in-cluster Alertmanager: can it reach KubeManta's cluster IP / service DNS? - For external Alertmanager: can it reach your KubeManta hostname over HTTPS?

Try a test webhook POST:

curl -X POST \
  -H "Authorization: Bearer YOUR_RECEIVER_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"alerts":[{"labels":{"alertname":"TestAlert","severity":"critical"},"status":"firing"}]}' \
  https://kubemanta.example.com/api/agent/integrations/alertmanager/webhook

Check KubeManta logs for webhook errors:

kubectl logs -n kubemanta-system deploy/kubemanta-agent | grep -i alert

"Webhook signature invalid" or "unauthorized" error

Did you copy the secret correctly? Double-check it character-for-character in the Authorization header.

Is the secret still the same? If you regenerated the secret in KubeManta, update Alertmanager's config with the new one.

Alerts are duplicated in the feed

Alertmanager re-sends a firing alert every repeat_interval (and on group changes), and KubeManta records each delivery as a separate row; it does not de-duplicate Alertmanager deliveries. Tune group_interval and repeat_interval on the KubeManta route to control the volume.