26.3 26.2 26.1 26.0 25.3 25.2 25.1 25.0
26.3 26.2 26.1 26.0 25.3 25.2 25.1 25.0

Operational Readiness

A service is only robust if it can be run and supported confidently in production: failures need to be diagnosable quickly, logs need to say something useful without drowning the signal, and releases need to be predictable.

A service is only truly robust if it can be operated confidently in production.

Operational Topic

Best Practice

Desired Outcome

Deployment readiness

Promote tested, reviewable versions with controlled changes

Reduced release risk

Support handover

Document known failure points and escalation paths

Smoother operations and support

Logging

Log meaningful technical and business context without excessive noise

Quicker root-cause analysis

Monitoring

Track key process states, failures, and recurring bottlenecks

Faster incident detection

Helpful Operating Tools

Which Tool Answers Which Question?

Question

Tool

Is this exception happening right now, and who needs to do something?

xUML Service Monitor

This process instance is stuck — can I release it?

Retry Transitions / Send Signal (PAS Administration)

Is this container or pod using too much memory or CPU?

Resource Monitor

What exactly happened?

Log Analyzer

Monitoring xUML Services with the xUML Service Monitor

This tool requires the xuml_monitor_user profile.

The xUML Service Monitor catches every exception an xUML service throws and matches it against configurable error definitions, each identified by a signature of service, error category, error code, and error type. It then sends out notifications as configured.

  • Start from the wildcard master template that catches everything by default, then add specific error definitions as you learn what matters — each field (service, category, code, type) accepts * as a wildcard.

  • Set a threshold: how many occurrences must happen before you're notified.

  • Choose Always notify to get an email on every threshold occurrence, or leave it off for the default of once per 24 hours per distinct signature.

  • Configure recipients (To/CC) and a subject/description that tells the reader what actually happened and what to do next.

  • Add a project-specific #hashtag to the subject line of monitoring alert emails so they can be filtered and routed automatically.

  • Optionally activate Jira integration to create a ticket automatically instead of, or in addition to, an email.

  • Once you've triaged an entry, set its state from "New" to "Checked" so the team can see what's already been looked at.

  • Use Error Groups to bundle related error definitions and attach a shared downtime window, so planned maintenance doesn't spam everyone with alerts.

Retrying Failed Process Instances

This tool requires the xuml_container_admin profile.

When the xUML root state machine catches an error and a process instance is stuck, PAS operators can unstick it directly — no redeploy or CLI access needed.

  • Retry Transitions: on a single persistent state object's details page, resend the last signal if the previous transition failed.

  • Send Signal: send a specific signal, with optional JSON parameters, to a single object or — from the persistent state objects table — to every object currently in a chosen state at once.

  • Both operations run asynchronously: a single object typically takes a few seconds, a bulk send across many instances can take several minutes.

This is exactly the retry path referenced from Integration of External Systems: fix the backend problem, then retry the stuck instances instead of asking the sender to resubmit.

Watching Resource Consumption with the Resource Monitor

This tool requires the resource_monitor_user profile.

The Resource Monitor is a Grafana-based, read-only dashboard reachable from a tile in the Scheer PAS Portal. It shows container metrics on Docker or pod metrics on Kubernetes, with 15 days of data retention.

Example: A service crashes periodically, or spikes load at certain times of day. Isolate it by clicking its name in the dashboard, inspect the underlying data behind a panel, and adjust its memory limit in PAS Administration based on what you see — without guessing from the outside.

Analyzing Logs with OpenSearch Dashboards

This tool requires the kibana_user profile.

Your logs already land in OpenSearch indexes that the Log Analyzer's Discover view searches with DQL or Lucene syntax: xuml*, pas*, and fl* on Docker, or logs* on Kubernetes. Useful fields include log.domain, log.code (or level), message, and service (or workload.name).

  • Click a field's "Top 5 Values" in the sidebar to filter by the most common values without writing a query.

  • Discover keeps 30 days of documents.

  • Pre-built PAS dashboards give an at-a-glance overview (charts, tables, heat maps); use Create dashboard to build a project-specific one, e.g. error rate by service over the last week.

  • To attach evidence to a support request: save your search, then Reporting → Generate CSV.

Establishing logging conventions as described on Custom Logging helps with analyzing the log contents.

📗
📘