Log Component Selection Guide
When installing the Logging module on ACP 4.4 you pick one of two storage backends per storage cluster:
- ClickHouse (fresh install via Alauda Container Platform Log Storage Management) — recommended for high throughput and cost-sensitive retention.
- OpenSearch (fresh install via Alauda Container Platform Log Storage Management) — recommended when Lucene-style query experience matters.
The operator is the same for both — Alauda Container Platform Log Storage Management — and the backend is selected in PlatformLogForward.spec.externalStorage.type.
The Elasticsearch backend that earlier releases shipped is no longer offered on ACP 4.4. Customers upgrading from ACP 4.2 or 4.3 on Elasticsearch must migrate their data to ClickHouse or OpenSearch as part of the upgrade — see the upgrade guide. The comparison table below still lists Elasticsearch so upgrading customers can weigh a target for the migration.
This page compares the options so you can pick one before you install.
- Pick one backend per storage cluster. Do not stack ClickHouse and OpenSearch on the same storage cluster.
- The DevOps product does not currently support archiving Jenkins pipeline execution records into ClickHouse or OpenSearch. If Jenkins pipeline archival is a hard requirement, the ACP 4.4 platform cannot serve it today; raise this with the platform team before you plan the migration.
- The ServiceMesh product currently integrates with the Elasticsearch backend only. If ServiceMesh log integration is a hard requirement, the ACP 4.4 platform cannot serve it today either; raise this with the platform team before you plan the migration.
- The ClickHouse backend does not support IPv6-only or IPv6 dual-stack workload clusters.
TOC
Architecture at a glanceClickHouseOpenSearchElasticsearch (upgrade-only reference)Feature comparisonRecommendationsKnown OpenSearch backend limitationsArchitecture at a glance
ClickHouse
A columnar database for OLAP workloads. Compresses well, aggregates fast, and pairs cleanly with S3 for tiered cold storage. Trade-off: no inverted index, so keyword search is a LIKE-style scan.
OpenSearch
A distributed search engine forked from Elasticsearch. Inverted-index search over log records; strong ad-hoc query experience with keyword highlighting and faceted queries. Trade-off: heavier per-record storage and more CPU for the same ingest volume.
Elasticsearch (upgrade-only reference)
The Lucene backend used in earlier releases. Not installable on ACP 4.4; the row is kept in the comparison below so customers migrating off ACP 4.3 Elasticsearch have a like-for-like reference against the two supported backends.
Feature comparison
Recommendations
-
You want the most cost-effective backend for large log volume and can accept SQL-only search. Install Alauda Container Platform Log Storage Management and set
PlatformLogForward.spec.externalStorage.type: clickhouse. Enable S3 tiered storage if long retention drives your storage bill. -
You rely on Lucene-style keyword search, highlighting, or faceted queries, or you are already familiar with the Elasticsearch DSL. Install Alauda Container Platform Log Storage Management and set
PlatformLogForward.spec.externalStorage.type: opensearch. Make sure theanalysis-ikplugin is installed on every OpenSearch node before you apply the PLF. -
You are upgrading from ACP 4.2 or 4.3 on Elasticsearch. The Elasticsearch backend is not offered on ACP 4.4, so you must migrate. Pick either ClickHouse or OpenSearch above and follow Upgrade from Log Storage for Elasticsearch plus Historical Data Migration for the concrete migration path.
Known OpenSearch backend limitations
The following behaviors have been observed on the OpenSearch backend in live installations. They are not present on the ClickHouse backend. Weigh them against the "Lucene-style query" upside before choosing OpenSearch for a production workload; if any of them is a blocker, pick ClickHouse.
These are tracked as separate follow-ups on the operator side and may be closed by a later log-storage-operator bump; the list above reflects the state as of 2026-09.
The symptom that most often surfaces first is "queries return zero when I filter by a time range around the application timestamp." That is the timestamp-overwrite issue above, not a query problem. Compare SELECT count() FROM ... WHERE timestamp BETWEEN a AND b with an unbounded SELECT count() before you conclude the data is missing.