Spell out each abbreviation where it first appears on a page, in the form "Expanded Form (ABBR)", so every page in docs/ passes the Coder.AbbreviationFirstUse rule that the next commit enables. Where the first use is a UI label in bold, the label stays as the UI shows it and the expansion goes elsewhere in the same paragraph or list item. Reversed forms such as "PKCE (Proof Key for Code Exchange)" are flipped to the expanded-first form. A few sentences needed a small rewording to take the expansion: glossary entries that said "abbreviated CVA" and "abbreviated PAT", hyphenated compounds such as "EKS-specific", and a parenthetical about SSDs that would otherwise nest parentheses. Other changes on touched lines: "IDES" becomes "IDEs", "DERP MAP" becomes "DERP map", and an em dash in a table row that the table formatter re-padded becomes a comma, because the em-dash check reads changed lines. Assisted-by: AI
2.8 KiB
title
| title |
|---|
| Logs |
All Coder services log to standard output, which can be critical for identifying errors and monitoring Coder's deployment health. Like any service, logs can be captured via Splunk, Datadog, Grafana Loki, or other ingestion tools.
coderd Logs
By default, coderd, the process that runs the control plane, exports
human-readable logs to standard output. You can access these logs via
kubectl logs deployment/coder -n <coder-namespace>
on Kubernetes or journalctl -u coder if you deployed Coder on a host
machine/virtual machine (VM).
- To change the log format/location, you can set
CODER_LOGGING_HUMANandCODER_LOGGING_JSONserver config. options. - To only display certain types of logs, use
the
CODER_LOG_FILTERserver config. Using.*will result in theDEBUGlog level being used.
Note
To disable human-readable logging, set
--log-human(orCODER_LOGGING_HUMAN) to/dev/null. An empty string does not disable logging.
Events such as server errors, audit logs, user activities, and single sign-on (SSO) & OpenID
Connect logs are all captured in the coderd logs.
provisionerd Logs
Logs for external provisioners are structured
and configured similarly
to coderd logs. Use these logs to troubleshoot and monitor the Terraform
operations behind workspaces and templates.
Workspace Logs
The Coder agent inside workspaces provides useful logs around workspace-to-server and client-to-workspace connections. For Kubernetes workspaces, these are typically the pod logs as the agent runs via the container entrypoint.
Agent logs are also stored in the workspace filesystem by default:
- macOS/Linux:
/tmp/coder-agent.log - Windows: Refer to the template code (e.g. azure-windows) to see where logs are stored.
Note
Logs are truncated once they reach 5 MB in size.
Startup script logs are also stored in the temporary directory of macOS and Linux workspaces.
Kubernetes Event Logs
Sometimes, a workspace may take a while to start or even fail to start due to underlying events on the Kubernetes cluster such as a node being out of resources or a missing image. You can install coder-logstream-kube to stream Kubernetes events to the Coder UI.
