Ship logs
CH-UI can receive logs itself and write them to ClickHouse, so you do not need a collector that talks to ClickHouse. One setup creates the table, an ingest pipeline, a key and the Telemetry source. You need the analyst or admin role; viewers see who to ask.
Set it up
Section titled “Set it up”- Click Visualize in the rail, then Telemetry, then Logs.
- Click Send data here. It is in the page header, and in the middle of the page while you have no logs source yet.
- Check the three fields:
- Database: where the table goes.
defaultis preselected. - Table:
otel_logsby default. CH-UI creates it in the OpenTelemetry layout, or reuses it if it already has that shape. - Retention in days: rows older than this are dropped. 30 by default; 0 keeps them forever.
- Database: where the table goes.
- Click Set up.
Copy the key
Section titled “Copy the key”The sheet now shows the new ingest key, with a warning above it. Copy it with the button next to it and store it in your secret manager. CH-UI keeps only its prefix: you will not see the key again. Lost it? Create another one later from the same sheet with Create key.
Point your shipper at CH-UI
Section titled “Point your shipper at CH-UI”Below the key, pick your shipper. The snippet already holds your CH-UI URL and the key.
- OpenTelemetry Collector: add the
otlphttpexporter from the snippet to your collector config and to itslogspipeline, then restart it. - OTel SDK env vars: export the variables in the environment of the service you want logs from, then restart it.
- curl: run the command to send one test record,
hello from curl. - Fluent Bit: add the output block to
fluent-bit.conf.
Click Copy snippet, paste it where it belongs, and close the sheet.
See logs arrive
Section titled “See logs arrive”- Back on Telemetry, Logs, pick the new source in the source list at the top left if it is not selected yet.
- Pick a recent time range, such as the last 15 minutes, and click Refresh. Turn on Live to tail new records as they come in.
- Click a row to open its details: body, attributes and resource.
Nothing showing up? Open Build, Pipelines, open the pipeline and
check it is running and its counters show requests. A wrong key shows up as
rejections labelled bad key.
Other ways in
Section titled “Other ways in”Ingest covers the rest: JSON events into any table, the Elasticsearch bulk API for Filebeat and Logstash, Splunk HEC, Vector, key limits and the separate ingest port. To read tables an existing collector already writes, see Telemetry sources.
