The agent
What it watches
The signals an incident hides in. Each one shows up in the simulated console above.
Channel status
Retrying, binding, and stopped states caught the moment they drift, before a sender channel gives up for good.
Channels view ↑Queue depth trends
Depth measured against each queue's own baseline, so a slow climb toward MAXDEPTH is flagged with time to spare.
Queues view ↑CF structures (z/OS)
Coupling Facility structure usage and contention in a queue-sharing group, watched before it bites shared queues.
z/OS view ↑MQ events
Channel, performance, and configuration events read straight from the SYSTEM.ADMIN event queues MQ already emits.
Incident timeline ↑Error logs
AMQERR logs on distributed and CSQ messages on z/OS, parsed continuously instead of waiting for a paste.
Incident timeline ↑Recurring patterns
Findings fingerprinted from anonymized signals, so a problem that keeps coming back gets flagged as chronic, not new.
Chronic patterns view ↑Why proactive
The page is the failure. Everything before it was the warning.
Every MQ incident leaves a trail before it becomes an outage: a depth trending up, a channel retrying, an event nobody was watching at 3am. Abendly watches that trail so the fix happens during the warning, not the outage.
You find out when it breaks.
A channel stops, a queue fills, a job abends. The alert fires, someone gets paged, and only then does anyone go reading logs to work out what happened.
You find out while it's building.
Abendly is already reading the estate. It catches the trend, diagnoses the cause, and surfaces the fix to a human, with time to act before anything stops.
Two triggers, one engine
Caught early, or caught the instant it breaks.
Prevention can't catch everything. A hardware fault or a fat-fingered config has no runway. So the same diagnosis engine runs both ways.