Notifications and Alerts
LyftData supports general-purpose runtime notifications that can be surfaced in three places:
- Dashboard toast for immediate operator feedback.
- Issues/Problems when the notification is warning/error severity.
- Logs when a job emits the notification with
log-event: true.
Use this page for practical setup and troubleshooting.
1. Emit notifications from a job
Section titled “1. Emit notifications from a job”Use the message action:
actions: - message: notification-type: alert message-content: "Open listening port detected: {{ bind_address }}:{{ port }}" log-event: trueGuidance:
notification-type: alertraises warning-style notifications.notification-type: inforaises informational notifications.log-event: trueis required when you want the same signal in Issues and Logs.
2. Deploy the security alert catalog job
Section titled “2. Deploy the security alert catalog job”The local catalog includes security-open-port-alert (library job + blueprint) for open-port detection.
Typical flow:
- Open Deployments → Catalog.
- Select Jobs and search for
security-open-port-alert(or choose the matching security blueprint). - Click Plan & register and configure:
poll_interval(for example60s)allowed_ports_regex(for example22|80|443)tenant_labelsite_name
- Apply the deployment (or create a job from the library job template).
When a non-allowlisted port is detected, the job emits an alert notification and logs the event for Issues/Logs workflows.
3. MCP notification consumption (pull + push)
Section titled “3. MCP notification consumption (pull + push)”Pull (polling fallback)
Section titled “Pull (polling fallback)”Use job_notifications_recent when your MCP client cannot open websocket side channels:
{ "job_names": ["security-open-port-alert"], "window_minutes": 30, "limit": 200}Push (dedicated websocket)
Section titled “Push (dedicated websocket)”Use mcp_notifications_transport_get to discover runtime endpoints:
transport.recent_http→/api/mcp/notifications/recenttransport.subscribe_websocket→/api/mcp/notifications/subscribe
Payload fields:
message_type(UserNotificationorUserAlert)severity(infoorwarning)messagetimestamp/timestamp_ns- optional
job_name,worker_id,worker_name
4. Troubleshooting
Section titled “4. Troubleshooting”- Toast appears, but no Issue/Log entry: ensure
log-event: trueis set on themessageaction. - No dashboard toast: verify realtime updates are enabled and websocket traffic to
/api/notifications/subscribeis not blocked by proxy/network policy. - No MCP push events: confirm admin-scoped auth for
/api/mcp/notifications/*and verify websocket-capable MCP client behavior; otherwise usejob_notifications_recentpolling. - Unexpected alert volume: tighten
allowed_ports_regexand/or increasepoll_interval.