Read-only · runs in your environment

Know before
the page.

Abendly watches your IBM MQ estate continuously and read-only, surfacing the cause and the exact fix — early when there's a warning to catch, and the instant there isn't. It recommends; your engineer runs it. Raw logs never cross your network boundary.

Observe, never change Logs stay in your VPC Your keys, your model

For the teams that can't afford an MQ surprise

PaymentsRetail BankingInsuranceClearing & SettlementHealthcare
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.

Reactive — today's tooling

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.

outage → page → scramble → read logs → fix
Proactive — with Abendly

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.

signal → diagnose → surface fix → resolved · no page
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. Either way, it recommends the fix and a human runs it. Abendly never executes anything itself.

PAYMENTS.INBOUND.QL · trend detectedbefore failure
watch09:51 · ~14 min of runway
Queue depth climbing 3x faster than its 30-day baseline. At this rate it reaches MAXDEPTH before the inbound channel can drain it.
confidence highcause consumer not committinghost [HOST_1]
recommended fix · MQSC
1DISPLAY CONN(*) WHERE(OBJNAME EQ PAYMENTS.INBOUND.QL) — find the stalled consumer
2restart the consuming app on [HOST_1]
3DISPLAY QLOCAL(PAYMENTS.INBOUND.QL) CURDEPTH — confirm depth falling
Abendly does not run this. Your engineer reviews and executes — with time to spare.Awaiting your action
BANK.TO.CLEARING.SDR · incident detectedalready failed
incident03:14 · diagnosed in 6s
Sender channel STOPPED — AMQ9999E, exit terminated abnormally. No warning trend; it failed outright. Clearing traffic is now queueing behind it.
confidence highcause channel in STOPPED stateimpact outbound halted
recommended fix · MQSC
1DISPLAY CHSTATUS([CHANNEL_1]) — confirm STATUS(STOPPED) and substate
2START CHANNEL([CHANNEL_1])
3DISPLAY CHSTATUS([CHANNEL_1]) — expect STATUS(RUNNING), backlog draining
Still advisory, even mid-incident. Abendly hands the fix to your on-call engineer — it never executes during an outage.Awaiting your action
How it works

Sense. Reason. Surface.

A continuous loop running inside your environment. It observes and it advises — it does not touch your queue managers. A human always runs the fix.

phase 01 / sense

Watch the estate

The agent reads channel status, queue depths, CF structures, MQ events, and error logs on an interval — across distributed and z/OS.

read-only access
phase 02 / reason

Diagnose the cause

The same engine behind Abendly's log analysis runs continuously — correlating signals into a root cause and a confidence level, before failure.

identifiers stripped first
phase 03 / surface

Hand it to a human

You get a clear finding and the exact MQSC fix in execution order. Your engineer reviews and runs it. Nothing is auto-executed.

human runs the fix
Read-only by design

It can see everything. It can change nothing.

The agent connects with a least-privilege service account that can inquire and display — and nothing else. This is what gets a monitoring tool past a bank's security review instead of stuck in it.

  • Observe, never change

    The service account holds inquire and display authority only. There is no code path that puts, alters, stops, or starts anything.

  • Raw logs never leave

    Hostnames, queue managers, channels, and user IDs are stripped to stable labels inside your boundary, before anything is reasoned over.

  • Your keys, your model

    Bring your own AI provider — your Bedrock, Azure, or self-hosted model. Inference runs on your account under your governance, not ours.

service account · scope
DISPLAY CHSTATUS
DISPLAY QLOCAL / QDEPTH
read SYSTEM.ADMIN.*.EVENT
STOP / START CHANNEL
ALTER / DEFINE / DELETE
PUT / GET message payloads
Enforced by OAM on distributed and RACF on z/OS — you provision it, you can revoke it.
What it watches

The signals an incident hides in.

Channel status

Retrying, binding, and stopped states caught the moment they drift — before a sender channel gives up for good.

Queue depth trends

Depth measured against each queue's own baseline, so a slow climb toward MAXDEPTH is flagged with time to spare.

CF structures (z/OS)

Coupling Facility structure usage and contention in a queue-sharing group, watched before it bites shared queues.

MQ events

Channel, performance, and configuration events read straight from the SYSTEM.ADMIN event queues MQ already emits.

Error logs

AMQERR logs on distributed and CSQ messages on z/OS, parsed continuously instead of waiting for a paste.

Recurring patterns

Findings fingerprinted from anonymized signals, so a problem that keeps coming back gets flagged as chronic, not new.

Deployment

Runs where your logs already live.

The agent is deployed inside your own environment and connects to MQ over your internal network. Nothing about your estate transits a network you don't control.

In your VPC

Private deployment

Stand it up in your cloud account or data center. It reaches MQ over the local network — MQ is never exposed to the internet.

Bring your own key

Your AI, your account

Point it at your Bedrock, Azure OpenAI, or a self-hosted model. Reasoning runs on your provider, billed to you, governed by you.

Air-gapped ready

Nothing has to leave

With a self-hosted model, every step runs behind your firewall. Suitable for estates where production data cannot leave at all.

Security posture

Built to clear the review, not just impress the demo.

The questions a security team asks first, answered by how the product is built — not by a promise.

Read-only
inquire & display only
In your VPC
never exposed out
Your keys
bring your own model
Data residency
stays in region
Audit trail
every analysis logged
SOC 2
in progress
Questions security teams ask

The hard questions, answered plainly.

Can Abendly change anything in our environment?
No. The agent connects with a service account that holds inquire and display authority only, enforced by OAM on distributed MQ and RACF on z/OS. There is no code path that can put, alter, stop, or start anything. Even the fixes it recommends are run by your own engineer — it never executes them.
What actually leaves our network?
Raw logs never do. Hostnames, queue managers, channels, and user IDs are stripped to stable labels inside your boundary, before anything is reasoned over. With a self-hosted model, nothing leaves at all — the entire loop runs behind your firewall.
Whose AI does the analysis run on?
Yours, if you want it that way. With bring-your-own-key, Abendly points at your own Bedrock, Azure OpenAI, or a self-hosted model. Inference runs on your account, billed to you and governed by your existing data agreements — it never touches a third-party AI vendor of ours.
How does it connect to MQ?
Over your internal network, using standard read-only interfaces: PCF inquire commands, the SYSTEM.ADMIN event queues MQ already emits, and the error logs. MQ is never exposed to the internet. The connection is ordinary MQ client work your own admins can review.
Does it cover z/OS as well as distributed?
Both. On distributed it reads AMQERR logs and PCF; on z/OS it reads CSQ messages and queue-sharing-group state including CF structures. Authority is governed by RACF on z/OS and OAM on distributed — you provision the scope, and you can revoke it at any time.
What if a recommendation is wrong?
Every finding ships with a confidence level and the specific signals it's based on, so your engineer can judge it before acting. Because nothing is ever auto-executed, a wrong recommendation is a suggestion to decline — not an action to undo. The human is always the one who runs the fix.
Request a demo

Point it at one queue manager and watch.

We'll connect a read-only agent to a single environment you choose, show it surface real findings from your own estate, and scope a deployment to your security and compliance requirements.

  • Read-only connection to one QM you pick
  • Deployment + data-residency review
  • Security questionnaire support

Or email sales@abendly.io directly.

Thanks! We'll be in touch within one business day.

Stop reading logs after the outage.
Start catching it before.

A read-only agent, in your environment, watching the estate that can't go down.

Request a demo →