Slack
dockmesh alerts can fire into any Slack channel via an incoming webhook.
Create a Slack webhook
Section titled “Create a Slack webhook”- In Slack, go to Apps → Incoming Webhooks → Add to Slack
- Choose the channel (e.g.
#ops-alerts) - Click Add Incoming Webhook Integration
- Copy the webhook URL — looks like
https://hooks.slack.com/services/T.../B.../xxxx
Add to dockmesh
Section titled “Add to dockmesh”Alerts → Channels → New channel → Slack
| Field | Value |
|---|---|
| Name | ops-alerts |
| Webhook URL | paste the URL from Slack |
Click Send test — a test message should appear in Slack within 2 seconds.
Attach to alert rules
Section titled “Attach to alert rules”Open the rule under Alerts → Rules, edit it, and add the Slack channel to its Channels list. Severity filtering happens per rule, not per channel — there is no global “Slack gets all, PagerDuty gets only critical” toggle. Express the same intent by listing Slack on every rule and PagerDuty only on critical-severity rules.
Message format
Section titled “Message format”Alerts fire with a payload like:
🔴 [Critical] Container memory > 90% (sustained)Container: paperless-gotenberg-1 on localMetric: mem_percent value: 93.4 threshold: 90Rule: Container memory > 90% (sustained)
→ View in dockmeshThe metric is one of cpu_percent or mem_percent — those are the two the alert engine evaluates today. The link points back at the alert detail in dockmesh.
Thread replies for resolution
Section titled “Thread replies for resolution”When an alert auto-resolves (metric returns below threshold), dockmesh replies in the same Slack thread:
✓ Resolved after 4m12s — metric returned to normalEasy to see in-channel which alerts are still active.
Slack App (for larger setups)
Section titled “Slack App (for larger setups)”For orgs on Slack Enterprise Grid, or if you want OAuth-scoped access instead of webhooks:
- Create a Slack app at api.slack.com/apps
- Enable OAuth & Permissions with scopes:
chat:write,chat:write.customize - Install to workspace, get the Bot User OAuth Token
- In dockmesh, switch the channel type from Webhook to Bot Token
- Choose which channels the bot can post to
Bot-token channels support richer formatting (buttons, attachments) and don’t expire.
Troubleshooting
Section titled “Troubleshooting”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
See also
Section titled “See also”- Alerts — how rules fire to channels
- Integrations · Discord — alternative chat platform
- Integrations · ntfy.sh — self-hosted push notifications