Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Incident handling

How engineers respond to an outage, a regression or a security incident on an Exponential site - triage, the tools for each symptom (maintenance mode, repair from the browser, error references, logs, audit trail…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/software-engineers/incident-handling.md

On this page

Incident handling

This page is for engineers on call for an Exponential site. It gives a sequence for any incident and points to the runbooks for the common ones. It does not replace your organization's incident process; it fills in the Exponential-specific steps.

Contents

  1. The first ten minutes
  2. Symptoms and the tools for them
  3. Stopping the damage
  4. Fixing: roll forward
  5. Security incidents
  6. After the incident

The first ten minutes

  1. Confirm and scope. Request the front page and the administration login from outside. The front page may be served from a cache while the database is down, so the login page tells you more (Health checks and uptime).
  2. Check the servers. ./console exp:velocity status for Velocity; the PHP-FPM service and the database server otherwise.
  3. Read the newest errors. Setup > Log files, or ./console exp:logs; a visitor's error reference leads to the lines of their request (Finding an error by its reference).
  4. Ask what changed. The audit trail records deploys, settings writes and cache clears with who and when: ./console exp:audit tail --allow-root-user.
  5. Decide: stop the damage first, or fix directly?

Symptoms and the tools for them

SymptomFirst toolRunbook
The site does not answerserver status, error.logSite down
Pages are slowdebug bar on your address, exp:benchmark kernelSlow site
A blank page or PHP output instead of the site, vendor/ missingrepair from the browser (Repair)Site down
Velocity does not startexp:velocity status, its logVelocity will not start
A change "did not work"the deploy order: code loaded before caches clearedDeploying a change
Disk fullvar/ sizes in Setup > Caches, log archivesDisk full
A certificate expiredthe HTTPS configuration of the engineCertificate expiry
A suspected compromisesecurity.log, the audit trailCompromised site

Stopping the damage

  • Maintenance mode takes the public site offline with a 503 and Retry-After, and brings it back with one command:

    php bin/php/maintenance.php on --message="Back at 06:00" --until=2h --allow-root-user
    php bin/php/maintenance.php off --allow-root-user

    (Maintenance mode).

  • Switch off the extension or setting that the change introduced, through settings/override/ and an INI cache clear (and a Velocity restart).

  • Restore from backup when data is damaged (Restore from backup).

Fixing: roll forward

Fix forward with a new commit and, for a release, a new version. A published tag or release is never moved, replaced or re-cut, even when it is the cause; the next version's notes say what was wrong with the previous one (Version numbers and immutable tags). On an installation made of Git clones, you can use a fix before it is released (Develop with Git).

Security incidents

  • A vulnerability in Exponential itself is reported privately to the address in SECURITY.md, not in the public issue tracker. Include the version, the engine, the database, what an attacker can do and the steps to reproduce, and leave out passwords, secrets and personal data.
  • Verify the audit trail's integrity (./console exp:audit verify --allow-root-user, exit status 1 when a chain is broken) before you rely on it as evidence.
  • Rotate the secrets an attacker may have seen, from settings/override/.

After the incident

  • Write down the timeline, the cause, what detected it and what would have detected it earlier.
  • Add the test that would have caught it (Testing strategy).
  • If the cause was a behavior change, check that its upgrade notes in doc/eng-us/bc/6.0/ said what to do; if not, correct them (Changelogs and upgrade notes).
  • File a public issue for a bug in the software, with the diagnostics the help's Report an error page prepares (When something goes wrong).

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x