Troubleshooting
Most operational problems show up as a component that will not start, a page that returns an error, or a connection that fails. Work from the outside in: confirm the service state, read the component logs, then check the configuration the failing component depends on. This page lists the first checks and the most common causes.
First checks
Then confirm that Core is healthy:
/api/health/, /koko/health/, and /lion/health/ return the component state and
are also what a load balancer should check.
Where the logs are
Component logs are written under VOLUME_DIR, /data/jumpserver by default:
Core writes jumpserver.log, gunicorn.log, drf_exception.log, and
unexpected_exception.log. Read the files directly, or use Docker:
The detail level is controlled by LOG_LEVEL. docker logs output disappears when
the container is recreated, so copy important log files aside before an upgrade.
Common problems
Use the audit trail
For user or administrator reports, correlate the time of the issue with the audit records in Audits > Operation logs, Login logs, and Asset sessions. The operation log shows who changed which object, while the session record shows what happened during the connection.

Before contacting support
Collect the following in one archive:
- Output of
./jmsctl.sh statusand./jmsctl.sh --help. - The JumpServer version from the UI or the installer output.
- Core, KoKo, and web logs around the failure time.
- The browser error, the failing URL, and the user, asset, and time involved.
- A screenshot of the failing page, without secrets.
See the Client documentation page for connection-specific issues.