Skip to content

Slack

dockmesh alerts can fire into any Slack channel via an incoming webhook.

  1. In Slack, go to Apps → Incoming Webhooks → Add to Slack
  2. Choose the channel (e.g. #ops-alerts)
  3. Click Add Incoming Webhook Integration
  4. Copy the webhook URL — looks like https://hooks.slack.com/services/T.../B.../xxxx

Settings → Channels → New channel → Slack

FieldValue
Nameops-alerts
Webhook URLpaste the URL from Slack
Default severity filterAll / Warning+ / Critical only
Username (optional)dockmesh
Icon emoji (optional):robot_face:

Click Send test — a test message should appear in Slack within 2 seconds.

Either:

  • Per-rule: edit an alert rule and add the Slack channel
  • Global default: in Settings → Alerts → Default channels, set Slack as default for critical severity

Alerts fire with this structure:

🔴 [Critical] Container restart loop
Container: analytics_web_1 on prod-01
Metric: container_restarts (value: 5 in 5m)
Rule: Prod restart loop
→ View in dockmesh

The → View in dockmesh link takes you to the alert detail page with the rule, scope, and history.

When an alert auto-resolves (metric returns below threshold), dockmesh replies in the same Slack thread:

✓ Resolved after 4m12s — metric returned to normal

Easy to see in-channel which alerts are still active.

For orgs on Slack Enterprise Grid, or if you want OAuth-scoped access instead of webhooks:

  1. Create a Slack app at api.slack.com/apps
  2. Enable OAuth & Permissions with scopes: chat:write, chat:write.customize
  3. Install to workspace, get the Bot User OAuth Token
  4. In dockmesh, switch the channel type from Webhook to Bot Token
  5. Choose which channels the bot can post to

Bot-token channels support richer formatting (buttons, attachments) and don’t expire.

No messages arriving:

  • Send test from dockmesh — does it succeed?
  • Check the Slack channel’s “Integration logs” to see if the webhook received anything
  • If the webhook URL was regenerated in Slack, update it in dockmesh

Rate limits:

  • Slack limits webhooks to ~1 msg/sec per channel. If your alert storm exceeds that, dockmesh queues and retries with backoff
  • For high-volume alerting, create multiple channels (e.g. per-service) instead of one firehose