Skip to main content
Glama
AIops-tools

io.github.AIops-tools/olvm-aiops

Official

engine_health_rca

Read-only

Diagnose engine health issues ranked worst first in one call, covering certificate expiry, backup failures, and HA reservation alerts.

Instructions

[READ] Problems with the engine itself, ranked worst first, in one call.

Reads the engine's health check, its version, its clock against this machine and its summary counts, plus warning-or-worse events that name no host, VM or storage domain: engine or CA certificate expiry, missing or failed engine backups, a cluster failing its HA reservation. Those alerts appear in no other diagnosis, so call this first for "is anything wrong". Event 10803 (a storage-pool vdsm command failed) names no host and lands here: its cause names the command, which is the subject — not the engine — and its severity is the event's own. Event 2024 is a record that someone ran unlock_entity.sh by hand: it is low, and whatever the unlocked entity then did wrong is reported by its own event. Report findings in rank order and quote their signal.

Args: events_limit: Recent warning-or-worse events to correlate, 1-1000 (default 200). events_window_hours: Ignore events older than this many hours, 1-720 (default 24). target: Engine target name from config; omit to use the default.

Input Schema

NameRequiredDescriptionDefault
targetNo
events_limitNo
events_window_hoursNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only supply readOnlyHint=true; the description carries the real behavioral load. It enumerates what is read (health check, version, clock drift vs. this machine, summary counts), defines the event-inclusion rule (warning-or-worse events naming no host, VM or storage domain), and pre-empts two classification edge cases (10803, 2024) plus the severity semantics and rank ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The placement is correct — purpose and trigger first, args last — and most sentences do work. The two multi-line digressions on events 10803 and 2024 are precise but heavy for a tool description; they are defensible edge-case guidance rather than padding, yet they stretch the entry considerably.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by telling the agent what a finding is, that results are ranked worst-first, and that each signal should be quoted. It stops short of describing the return envelope or how the 'summary counts' are structured, which is the only remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate and does: events_limit is bounded 1-1000 (default 200), events_window_hours bounded 1-720 (default 24), and target is explained as 'Engine target name from config; omit to use the default', resolving the anyOf string/null ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line names a specific verb+scope: '[READ] Problems with the engine itself, ranked worst first, in one call.' The resource (engine, not host/VM/storage) and the ordering guarantee are stated, which separates it from host_health_rca, vm_health_rca and storage_capacity_rca without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit trigger — 'call this first for "is anything wrong"' — and an explicit scope limit: these alerts 'appear in no other diagnosis,' so they cannot be recovered from the sibling RCA tools. That is routing guidance an agent can act on, even though the sibling tools are not named individually.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.