← Back to blog
Changelog 4 min read 炬鲸团队

v3.2 Released: Native OpenTelemetry Protocol and Collector Auto-Discovery

OBSERVE v3.2 ships native OTLP ingestion, removing the standalone Collector layer; collectors gain auto-discovery for new containers and hosts; plus cross-cluster log queries and alert evidence chains. Here are the details, upgrade steps, and known issues.

Release Overview

v3.2 is OBSERVE's major release for the first half of the year. Its core goal is moving OpenTelemetry from "compatible" to "native," and cutting manual configuration out of the collection layer in dynamic environments. This release ships 3 feature modules, 2 enhancements, and 4 fixes.

New Features

1. Native OTLP Ingestion

Previously, traces/metrics/logs had to pass through a standalone OpenTelemetry Collector for conversion before reaching OBSERVE. From v3.2, the OBSERVE gateway exposes an OTLP port directly, so apps can skip the Collector:

# OpenTelemetry SDK config on the application side
exporters:
  otlp:
    endpoint: "observe-gw.example.com:4317"
    protocol: grpc

Changes:

  • Supports both OTLP/gRPC and OTLP/HTTP transports.
  • Data no longer passes through a conversion layer, cutting latency by roughly 30%.
  • The Collector compatibility path remains, so existing deployments keep working and can retire the middle layer gradually.

2. Collector Auto-Discovery

Editing collector config every time a new service ships in K8s is the most-hated chore in ops. The v3.2 collector watches the K8s API and matches collection rules when new pods appear:

discovery:
  enabled: true
  watch:
    - resource: pod
      labels:
        - "app"
        - "tier"
  rules:
    - match: "label[tier] == 'backend'"
      action: collect_logs

A matched rule starts collection immediately, no restart required. On the host side, new service processes are likewise discovered by name.

3. Cross-Cluster Log Queries

Log search now queries multiple backends (Elasticsearch / ClickHouse / object storage) in one pass, with SQL-style syntax pushed down automatically — see the previous tutorial.

Enhancements and Fixes

  • Alert evidence chain: alert details now carry three links — trace query, log query, and change correlation.
  • Error fingerprints: errors aggregate by exception type plus top stack frame, with first-seen time and last-hour count.
  • Fixes: cross-day queries dropping data when the timezone isn't UTC; an intermittent eBPF collector crash on ARM; P95 precision drift on ClickHouse cold data; old alert rules not migrating after upgrade.

Upgrade Steps

Back up the config store first, then upgrade in this order:

  1. Gateway and query services (stateless, rolling update).
  2. Collectors (in batches, watching data continuity).
  3. Storage engine (rolling restart, triggering one rebalance).

After upgrading, run observe-cli doctor to verify OTLP port connectivity, sampling config, and cross-cluster query routing.

Known Issues

  • With auto-discovery on, extreme cases (5000+ pods per node) add 2–3% extra API Server load from the watch; large clusters should raise the watch reconnect interval.
  • gzip is off by default on OTLP/HTTP; enable it manually for high-throughput scenarios.

See the changelog page in the docs for the full list. Users on older versions should upgrade within a maintenance window; expect 30–40 minutes.