Connect external ClickHouse
Create a dedicated database and account as a ClickHouse administrator:/etc/towbar/config.yml:
/etc/towbar/config.yml
towbar_logs_verify checks a temporary insert and read through MCP.
Enable a server collector
- Configure ClickHouse before server setup. Prerequisites → OTEL Logs Collector installs and enables it immediately after Caddy.
- For an already prepared server, open Settings → OTEL Logs Collector and choose Install & Enable Log Collection.
- Emit a fresh workload log. Confirm Active, a recent Last ingestion, and results in Monitor → Logs.
server.collectLogs. It preserves an explicit disable. A configured but unavailable database or failed install stops setup at the collector step.
The collector needs outbound HTTPS to the Towbar API. Installation uses the server’s stored SSH key and trusted host key. API and MCP callers need
server.collectLogs for collector changes, including automatic setup.
Application output
Write application logs to stdout or stderr. JSON loggers such as Pino work when their output reaches Docker. File-only logging and logs sent only to a remote OTLP endpoint are not captured by this file-based collector.Coverage and limits
Cleanup attempts a final log drain before removing managed containers. Docker rotation, outages, and queue limits can still lose unaccepted records. Common credential patterns are masked; applications must avoid logging secrets.
Storage usage
Open Settings → System health. Data Storage shows PostgreSQL usage; Log Storage shows active on-disk storage for the ClickHouse log table. Readings are saved every two hours for 90 days. Missing readings are gaps, not zero. See Storage measurements for scope and permissions.Troubleshooting
Do not include root-owned collector configuration or credentials in support requests. Removing
observability.logs disables ingestion and queues collector shutdown during maintenance; it does not erase accepted history.