Skip to main content
Towbar needs an external ClickHouse HTTP endpoint. It installs the pinned OTEL Logs Collector on prepared Ubuntu servers. Use an HTTPS Towbar API origin. Scout Agent is not required.

Connect external ClickHouse

Create a dedicated database and account as a ClickHouse administrator:
The last grant is optional for ingestion and search. It enables the Log Storage usage chart. Add this section to the root-owned /etc/towbar/config.yml:
/etc/towbar/config.yml
Use an origin without a path, query, or embedded credentials. Use HTTPS across networks. Keep the configuration readable only by root.
Monitor → Logs shows readiness or the connection error. towbar_logs_verify checks a temporary insert and read through MCP.

Enable a server collector

  1. Configure ClickHouse before server setup. Prerequisites → OTEL Logs Collector installs and enables it immediately after Caddy.
  2. For an already prepared server, open Settings → OTEL Logs Collector and choose Install & Enable Log Collection.
  3. Emit a fresh workload log. Confirm Active, a recent Last ingestion, and results in Monitor → Logs.
Setup skips collection when ClickHouse is absent or the requesting account lacks 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.
Last modified on October 15, 2026