Tüm Ürünler
Search
Belge Merkezi

ApsaraDB for ClickHouse:ClickStack

Son Güncelleme:Oct 07, 2026

ApsaraDB for ClickHouse ClickStack hizmeti, ClickHouse ve OpenTelemetry üzerine inşa edilmiş yüksek performanslı bir gözlemlenebilirlik çözümüdür. Günlükleri (Logs), İzlemeleri (Traces) ve Ölçümleri (Metrics) sorunsuz bir şekilde entegre ederek tek bir gözlemlenebilirlik deneyimi sunar; bu sayede geliştiriciler ve operasyon mühendisleri farklı araçlar arasında geçiş yapmadan sorunları uçtan uca takip edip çözebilir. Ayrıca ClickStack hizmeti, gözlemlenebilirlik verisi analizi için yerleşik akıllı bir AI asistanı içerir. Bu asistan, OTel gözlemlenebilirlik verilerini (İzleme/Günlük/Ölçüm) otomatik olarak sorgulayabilir ve SQL sorguları ile yapılandırılmış kök neden analizi (RCA) süreçleri aracılığıyla gözlemlenebilirlik sorun giderme ve kök neden analizini otomatik olarak tamamlayabilir. Bu konuda ClickStack hizmetinin nasıl kullanılacağı açıklanmaktadır.

Ön Koşullar

Bir ApsaraDB for ClickHouse kümesi oluşturulmuş olmalıdır.

  • ApsaraDB for ClickHouse, ClickStack'in tek tıklamayla etkinleştirilmesini destekler.

  • ApsaraDB for ClickHouse Topluluk uyumlu Sürümü ClickStack şu anda davetiye tabanlı ön izleme aşamasındadır. Bu özelliği etkinleştirmek için teknik destekle iletişime geçmek üzere bir destek bileti açın.

Hizmeti Etkinleştirme

  1. ApsaraDB for ClickHouse konsolunda oturum açın. Sol üst köşeden kümenin bulunduğu bölgeyi seçin.

  2. Clusters sayfasında ilgili sürümün örnek listesini seçin ve hedef küme kimliğine tıklayın.

  3. Sol gezinme bölmesinde ClickStack öğesine tıklayın.

  4. İletişim kutusunda Automatically Create Table ve Import Sample Data seçeneklerini belirlemeniz önerilir; ihtiyaçlarınıza göre LLM'ye İnternet erişimini etkinleştirip etkinleştirmeyeceğinize karar verin ve ardından OK düğmesine tıklayın. Hizmetin etkinleştirilmesi yaklaşık 5 ila 10 dakika sürer.

    Önemli
    • LLM'ye İnternet erişimi seçeneğini belirlemek ek ücretlere neden olur. İhtiyacınıza göre etkinleştirin.

    • Hizmet etkinleştirildikten sonra LLM'ye İnternet erişimini ayrı olarak da etkinleştirebilirsiniz.

    Parametre

    Açıklama

    Tabloları otomatik oluştur

    • clickobserve_service veritabanını oluşturur ve bu veritabanında aşağıdaki tabloları oluşturur: otel_logs, otel_traces, otel_metrics_gauge, otel_metrics_histogram, otel_metrics_sum, otel_metrics_summary, otel_traces_trace_id_ts, otel_traces_trace_id_ts_mv, otel_metrics_exponential_histogram.

      Tablo yapılarını görüntülemek için tıklayın

      otel_logs

      CREATE TABLE IF NOT EXISTS "clickobserve_service"."otel_logs" (
              Timestamp DateTime64(9) CODEC(Delta(8), ZSTD(1)),
              TimestampTime DateTime DEFAULT toDateTime(Timestamp),
              TraceId String CODEC(ZSTD(1)),
              SpanId String CODEC(ZSTD(1)),
              TraceFlags UInt8,
              SeverityText LowCardinality(String) CODEC(ZSTD(1)),
              SeverityNumber UInt8,
              ServiceName LowCardinality(String) CODEC(ZSTD(1)),
              Body String CODEC(ZSTD(1)),
              ResourceSchemaUrl LowCardinality(String) CODEC(ZSTD(1)),
              ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ScopeSchemaUrl LowCardinality(String) CODEC(ZSTD(1)),
              ScopeName String CODEC(ZSTD(1)),
              ScopeVersion LowCardinality(String) CODEC(ZSTD(1)),
              ScopeAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              LogAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
      
              INDEX idx_trace_id TraceId TYPE bloom_filter(0.001) GRANULARITY 1,
              INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_log_attr_key mapKeys(LogAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_log_attr_value mapValues(LogAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_body Body TYPE tokenbf_v1(32768, 3, 0) GRANULARITY 8
              ) ENGINE = SharedMergeTree()
              PARTITION BY toDate(TimestampTime)
              PRIMARY KEY (ServiceName, TimestampTime)
              ORDER BY (ServiceName, TimestampTime, Timestamp)
              TTL TimestampTime + toIntervalDay(180)
              SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1;
          

      otel_traces

      CREATE TABLE IF NOT EXISTS "clickobserve_service"."otel_traces" (
              Timestamp DateTime64(9) CODEC(Delta, ZSTD(1)),
              TraceId String CODEC(ZSTD(1)),
              SpanId String CODEC(ZSTD(1)),
              ParentSpanId String CODEC(ZSTD(1)),
              TraceState String CODEC(ZSTD(1)),
              SpanName LowCardinality(String) CODEC(ZSTD(1)),
              SpanKind LowCardinality(String) CODEC(ZSTD(1)),
              ServiceName LowCardinality(String) CODEC(ZSTD(1)),
              ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ScopeName String CODEC(ZSTD(1)),
              ScopeVersion String CODEC(ZSTD(1)),
              SpanAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              Duration UInt64 CODEC(ZSTD(1)),
              StatusCode LowCardinality(String) CODEC(ZSTD(1)),
              StatusMessage String CODEC(ZSTD(1)),
              Events Nested (
                  Timestamp DateTime64(9),
                  Name LowCardinality(String),
                  Attributes Map(LowCardinality(String), String)
              ) CODEC(ZSTD(1)),
              Links Nested (
                  TraceId String,
                  SpanId String,
                  TraceState String,
                  Attributes Map(LowCardinality(String), String)
              ) CODEC(ZSTD(1)),
              INDEX idx_trace_id TraceId TYPE bloom_filter(0.001) GRANULARITY 1,
              INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_span_attr_key mapKeys(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_span_attr_value mapValues(SpanAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_duration Duration TYPE minmax GRANULARITY 1
              ) ENGINE = SharedMergeTree()
              PARTITION BY toDate(Timestamp)
              ORDER BY (ServiceName, SpanName, toDateTime(Timestamp))
              TTL toDateTime(Timestamp) + toIntervalDay(180)
              SETTINGS index_granularity=8192, ttl_only_drop_parts = 1;

      otel_metrics_gauge

      CREATE TABLE IF NOT EXISTS "clickobserve_service"."otel_metrics_gauge" (
              ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ResourceSchemaUrl String CODEC(ZSTD(1)),
              ScopeName String CODEC(ZSTD(1)),
              ScopeVersion String CODEC(ZSTD(1)),
              ScopeAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ScopeDroppedAttrCount UInt32 CODEC(ZSTD(1)),
              ScopeSchemaUrl String CODEC(ZSTD(1)),
              ServiceName LowCardinality(String) CODEC(ZSTD(1)),
              MetricName String CODEC(ZSTD(1)),
              MetricDescription String CODEC(ZSTD(1)),
              MetricUnit String CODEC(ZSTD(1)),
              Attributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              StartTimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)),
              TimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)),
              Value Float64 CODEC(ZSTD(1)),
              Flags UInt32 CODEC(ZSTD(1)),
              Exemplars Nested (
                  FilteredAttributes Map(LowCardinality(String), String),
                  TimeUnix DateTime64(9),
                  Value Float64,
                  SpanId String,
                  TraceId String
              ) CODEC(ZSTD(1)),
              INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1
              ) ENGINE = SharedMergeTree()
              TTL toDateTime(TimeUnix) + toIntervalDay(180)
              PARTITION BY toDate(TimeUnix)
              ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix))
              SETTINGS index_granularity=8192, ttl_only_drop_parts = 1;

      otel_metrics_histogram

      CREATE TABLE IF NOT EXISTS "clickobserve_service"."otel_metrics_histogram" (
              ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ResourceSchemaUrl String CODEC(ZSTD(1)),
              ScopeName String CODEC(ZSTD(1)),
              ScopeVersion String CODEC(ZSTD(1)),
              ScopeAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ScopeDroppedAttrCount UInt32 CODEC(ZSTD(1)),
              ScopeSchemaUrl String CODEC(ZSTD(1)),
              ServiceName LowCardinality(String) CODEC(ZSTD(1)),
              MetricName String CODEC(ZSTD(1)),
              MetricDescription String CODEC(ZSTD(1)),
              MetricUnit String CODEC(ZSTD(1)),
              Attributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              StartTimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)),
              TimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)),
              Count UInt64 CODEC(Delta, ZSTD(1)),
              Sum Float64 CODEC(ZSTD(1)),
              BucketCounts Array(UInt64) CODEC(ZSTD(1)),
              ExplicitBounds Array(Float64) CODEC(ZSTD(1)),
              Exemplars Nested (
                  FilteredAttributes Map(LowCardinality(String), String),
                  TimeUnix DateTime64(9),
                  Value Float64,
                  SpanId String,
                  TraceId String
              ) CODEC(ZSTD(1)),
              Flags UInt32 CODEC(ZSTD(1)),
              Min Float64 CODEC(ZSTD(1)),
              Max Float64 CODEC(ZSTD(1)),
              AggregationTemporality Int32 CODEC(ZSTD(1)),
              INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1
              ) ENGINE = SharedMergeTree()
              TTL toDateTime(TimeUnix) + toIntervalDay(180)
              PARTITION BY toDate(TimeUnix)
              ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix))
              SETTINGS index_granularity=8192, ttl_only_drop_parts = 1;
          

      otel_metrics_sum

      CREATE TABLE IF NOT EXISTS "clickobserve_service"."otel_metrics_sum" (
              ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ResourceSchemaUrl String CODEC(ZSTD(1)),
              ScopeName String CODEC(ZSTD(1)),
              ScopeVersion String CODEC(ZSTD(1)),
              ScopeAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ScopeDroppedAttrCount UInt32 CODEC(ZSTD(1)),
              ScopeSchemaUrl String CODEC(ZSTD(1)),
              ServiceName LowCardinality(String) CODEC(ZSTD(1)),
              MetricName String CODEC(ZSTD(1)),
              MetricDescription String CODEC(ZSTD(1)),
              MetricUnit String CODEC(ZSTD(1)),
              Attributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              StartTimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)),
              TimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)),
              Value Float64 CODEC(ZSTD(1)),
              Flags UInt32  CODEC(ZSTD(1)),
              Exemplars Nested (
                  FilteredAttributes Map(LowCardinality(String), String),
                  TimeUnix DateTime64(9),
                  Value Float64,
                  SpanId String,
                  TraceId String
              ) CODEC(ZSTD(1)),
              AggregationTemporality Int32 CODEC(ZSTD(1)),
              IsMonotonic Boolean CODEC(Delta, ZSTD(1)),
              INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1
              ) ENGINE = SharedMergeTree()
              TTL toDateTime(TimeUnix) + toIntervalDay(180)
              PARTITION BY toDate(TimeUnix)
              ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix))
              SETTINGS index_granularity=8192, ttl_only_drop_parts = 1;

      otel_metrics_summary

      CREATE TABLE IF NOT EXISTS "clickobserve_service"."otel_metrics_summary" (
              ResourceAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ResourceSchemaUrl String CODEC(ZSTD(1)),
              ScopeName String CODEC(ZSTD(1)),
              ScopeVersion String CODEC(ZSTD(1)),
              ScopeAttributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              ScopeDroppedAttrCount UInt32 CODEC(ZSTD(1)),
              ScopeSchemaUrl String CODEC(ZSTD(1)),
              ServiceName LowCardinality(String) CODEC(ZSTD(1)),
              MetricName String CODEC(ZSTD(1)),
              MetricDescription String CODEC(ZSTD(1)),
              MetricUnit String CODEC(ZSTD(1)),
              Attributes Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              StartTimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)),
              TimeUnix DateTime64(9) CODEC(Delta, ZSTD(1)),
              Count UInt64 CODEC(Delta, ZSTD(1)),
              Sum Float64 CODEC(ZSTD(1)),
              ValueAtQuantiles Nested(
                 Quantile Float64,
                 Value Float64
              ) CODEC(ZSTD(1)),
              Flags UInt32  CODEC(ZSTD(1)),
              INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1
              ) ENGINE = SharedMergeTree()
              TTL toDateTime(TimeUnix) + toIntervalDay(180)
              PARTITION BY toDate(TimeUnix)
              ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix))
              SETTINGS index_granularity=8192, ttl_only_drop_parts = 1;

      otel_traces_trace_id_ts

      CREATE TABLE IF NOT EXISTS "clickobserve_service"."otel_traces_trace_id_ts" (
              TraceId String CODEC(ZSTD(1)),
              Start DateTime CODEC(Delta, ZSTD(1)),
              End DateTime CODEC(Delta, ZSTD(1)),
              INDEX idx_trace_id TraceId TYPE bloom_filter(0.01) GRANULARITY 1
              ) ENGINE = SharedMergeTree()
              PARTITION BY toDate(Start)
              ORDER BY (TraceId, Start)
              TTL toDateTime(Start) + toIntervalDay(180)
              SETTINGS index_granularity=8192, ttl_only_drop_parts = 1;

      Materialized view otel_traces_trace_id_ts_mv

      CREATE MATERIALIZED VIEW IF NOT EXISTS "clickobserve_service"."otel_traces_trace_id_ts_mv"
          TO "clickobserve_service"."otel_traces_trace_id_ts"
          AS SELECT
                TraceId,
                min(Timestamp) as Start,
                max(Timestamp) as End
             FROM "clickobserve_service"."otel_traces"
             WHERE TraceId != ''
             GROUP BY TraceId;
          

      otel_metrics_exponential_histogram

      CREATE TABLE clickobserve_service.otel_metrics_exponential_histogram (
              `ResourceAttributes` Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              `ResourceSchemaUrl` String CODEC(ZSTD(1)),
              `ScopeName` String CODEC(ZSTD(1)),
              `ScopeVersion` String CODEC(ZSTD(1)),
              `ScopeAttributes` Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              `ScopeDroppedAttrCount` UInt32 CODEC(ZSTD(1)),
              `ScopeSchemaUrl` String CODEC(ZSTD(1)),
              `ServiceName` LowCardinality(String) CODEC(ZSTD(1)),
              `MetricName` String CODEC(ZSTD(1)),
              `MetricDescription` String CODEC(ZSTD(1)),
              `MetricUnit` String CODEC(ZSTD(1)),
              `Attributes` Map(LowCardinality(String), String) CODEC(ZSTD(1)),
              `StartTimeUnix` DateTime64(9) CODEC(Delta(8), ZSTD(1)),
              `TimeUnix` DateTime64(9) CODEC(Delta(8), ZSTD(1)),
              `Count` UInt64 CODEC(Delta(8), ZSTD(1)),
              `Sum` Float64 CODEC(ZSTD(1)),
              `Scale` Int32 CODEC(ZSTD(1)),
              `ZeroCount` UInt64 CODEC(ZSTD(1)),
              `PositiveOffset` Int32 CODEC(ZSTD(1)),
              `PositiveBucketCounts` Array(UInt64) CODEC(ZSTD(1)),
              `NegativeOffset` Int32 CODEC(ZSTD(1)),
              `NegativeBucketCounts` Array(UInt64) CODEC(ZSTD(1)),
              `Exemplars.FilteredAttributes` Array(Map(LowCardinality(String), String)) CODEC(ZSTD(1)),
              `Exemplars.TimeUnix` Array(DateTime64(9)) CODEC(ZSTD(1)),
              `Exemplars.Value` Array(Float64) CODEC(ZSTD(1)),
              `Exemplars.SpanId` Array(String) CODEC(ZSTD(1)),
              `Exemplars.TraceId` Array(String) CODEC(ZSTD(1)),
              `Flags` UInt32 CODEC(ZSTD(1)),
              `Min` Float64 CODEC(ZSTD(1)),
              `Max` Float64 CODEC(ZSTD(1)),
              `AggregationTemporality` Int32 CODEC(ZSTD(1)),
              INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1,
              INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1
          ) ENGINE = SharedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}')
          PARTITION BY toDate(TimeUnix)
          ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix))
          TTL toDateTime(TimeUnix) + toIntervalDay(180)
          SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1;
          

    Örnek verileri içe aktar

    OpenTelemetry protokolüne uygun örnek verileri günlük, izleme ve ölçüm tablolarına içe aktarır. Veriler sıkıştırma öncesi 200 MB'tan küçüktür.

    LLM'ye İnternet erişimi

    LLM hizmetlerine yalnızca İnternet üzerinden erişilebilir. Bu nedenle, gözlemlenebilirlik verileri için akıllı AI asistanını kullanmak amacıyla ClickStack hizmet düğümleri için İnternet erişimini etkinleştirmeniz gerekir. Bu seçeneği belirlediğinizde sistem, mevcut örneğin ait olduğu VPC'yi kullanarak mevcut hesabınız altında bir İnternet NAT ağ geçidi, bir Elastic IP Address (EIP) ve bir SNAT kuralı otomatik olarak oluşturur. Ağ geçidi, ClickStack düğümlerinin LLM hizmetlerine İnternet üzerinden erişmesini sağlar.

    • İnternet NAT ağ geçitleri ve EIP'ler bağımsız olarak faturalandırılır. NAT ağ geçidi faturalandırma kuralları için bkz. NAT Gateway billing. EIP faturalandırma kuralları için bkz. Billing. Hem NAT ağ geçidi hem de EIP örnekleri kullandıkça öde (sonradan ödemeli) modelindedir. Varsayılan EIP bant genişliği 5 Mbps'dir.

    • Mevcut VPC'de zaten bir NAT ağ geçidi örneği varsa sistem yeni bir NAT ağ geçidi oluşturmaz. Bunun yerine yalnızca yeni bir EIP örneği oluşturur ve bir SNAT kuralı yapılandırır.

  5. Hizmet etkinleştirildikten sonra yerel IP adresiniz örneğin izin listesinde değilse sistem bunu otomatik olarak eklemeniz için sizi uyarır.

LLM'ye İnternet Erişimini Etkinleştirme

ClickStack hizmetini etkinleştirirken LLM'ye İnternet erişimini seçmediyseniz gözlemlenebilirlik verileri için akıllı AI asistanı düzgün çalışmaz. Hizmet etkinleştirildikten sonra aşağıdaki yöntemlerden birini kullanarak bu özelliği etkinleştirebilirsiniz.

ClickHouse Konsolunda Tek Tıklamayla Etkinleştirme

  1. ApsaraDB for ClickHouse konsolunda oturum açın. Sol üst köşeden kümenin bulunduğu bölgeyi seçin.

  2. Clusters sayfasında ilgili sürümün örnek listesini seçin ve hedef küme kimliğine tıklayın.

  3. Sol gezinme bölmesinde ClickStack öğesine tıklayın.

  4. İnternet erişimi uyarı çubuğunda Enable Internet Access to LLM düğmesine tıklayın.

    ClickStack hizmeti İnternet erişimi etkinleştirme durumuna geçer. Bu işlem yaklaşık 1 ila 2 dakika sürer. İşlem sırasında ClickStack hizmetine erişilemez. İşlem tamamlandığında hizmet yeniden kullanılabilir hale gelir.

İşlem tamamlandıktan sonra ClickStack sayfasında otomatik olarak oluşturulan İnternet NAT örneği kimliğini, EIP örneği kimliğini ve EIP genel IP adresini görüntüleyebilirsiniz.

Manuel Yapılandırma

Daha esnek ağ yapılandırmalarına ihtiyacınız varsa bir EIP ve NAT ağ geçidini manuel olarak oluşturabilirsiniz.

Adım 1: Elastic IP Address (EIP) Oluşturma

  1. Elastic IP Addresses konsolunda oturum açın.

  2. ClickHouse kümesiyle aynı bölgeyi seçin ve bir Elastic IP address örneği oluşturun.

Adım 2: İnternet NAT Ağ Geçidi Oluşturma ve EIP Bağlama

  1. NAT Gateway - Internet NAT Gateway purchase page sayfasına gidin.

  2. ClickHouse kümesinin ait olduğu VPC'de henüz bir İnternet NAT ağ geçidi örneği yoksa Create Internet NAT Gateway düğmesine tıklayın. ClickHouse kümesiyle aynı bölgeyi ve VPC'yi seçin ve EIP'yi bağlamak için 1. Adımda oluşturduğunuz EIP örneğini seçin.

  3. ClickHouse kümesinin ait olduğu VPC'de zaten bir İnternet NAT ağ geçidi örneği varsa İnternet NAT Ağ Geçidi konsolunun örnek listesi sayfasında More > Bind Elastic IP Address seçeneklerine tıklayın. 1. Adımda oluşturduğunuz EIP'yi seçerek EIP'yi bağlayın.

Adım 3: SNAT Girişi Oluşturma

  1. Internet NAT Gateway sayfasına gidin. Hedef NAT ağ geçidi örneğinin ayrıntılar sayfasına gidin.

  2. SNAT Management sekmesine tıklayın ve ardından Create SNAT Entry düğmesine tıklayın.

  3. SNAT girişi granülerliği için ECS/ENI Granularity seçeneğini belirleyin.

  4. ECS/ENI seçeneğinde rds-eni-<ClickHouse instance ID>-webui adlı ikincil ENI'yi seçin.

  5. Elastic IP Address olarak 1. Adımda oluşturduğunuz EIP'yi seçin.

  6. OK düğmesine tıklayın. SNAT girişinin oluşturulmasını bekleyin.

Genel Ağ Erişimi Kaynağı Serbest Bırakma

Önemli

İş güvenliği nedeniyle bir ClickHouse örneği serbest bırakıldığında genel ağ erişimi için oluşturulan NAT ağ geçidi ve EIP örnekleri otomatik olarak silinmez. Örneği serbest bıraktıktan sonra bu kaynakları ilgili konsollarda manuel olarak serbest bırakmanız gerekir.

Kaynak Serbest Bırakma:

  • Tek tıklamayla etkinleştirilen genel ağ kaynakları için

    ClickStack hizmeti tarafından otomatik olarak oluşturulan NAT ağ geçidi ve EIP kaynakları createdby:<instance ID> etiketi kullanılarak filtrelenip silinebilir.

  • Manuel olarak oluşturulan genel ağ kaynakları için

    Bu kaynakların silinip silinmeyeceğine iş kullanımınıza göre karar vermeniz gerekir.

Kullanım

Ana Sayfa

  1. Örnek ayrıntıları sayfasının sol gezinme bölmesinde ClickStack öğesine tıklayın. Sayfanın üst kısmındaki talimatı izleyerek hizmet ana sayfasına gidin.

  2. Ana sayfada oturum açmak için kullanıcı adını ve parolayı girin. Bir veritabanı hesabı oluşturmak için bkz. Enterprise Edition için veritabanı hesaplarını yönetme veya Community-compatible Edition için veritabanı hesaplarını yönetme.

  3. Oturum açtıktan sonra ana sayfaya (arama sayfası) yönlendirilirsiniz. Sayfanın üst kısmından veri kaynağını seçebilir, zaman aralığını ayarlayabilir ve verileri sorgulamak için filtre koşullarını belirtebilirsiniz.

    image

    • Filtreler alanında filtre koşullarını seçtikten sonra koşulları karşılayan günlükler otomatik olarak filtrelenir.

    • Mevcut sayfadaki ilgili günlüğün bilgilerini görüntülemek için image simgesine tıklayın.

    • Bir günlüğün bulunduğu satıra tıklayarak tam nitelikler, ilişkili izlemenin süre bilgisi ve günlüğün bağlam bilgisi dahil olmak üzere ayrıntılı bilgilerini görüntüleyin.

Gözlemlenebilirlik Verileri İçin Akıllı AI Asistanı

Gözlemlenebilirlik verileri için akıllı AI asistanı, OTEL gözlemlenebilirlik verisi tablolarının veri analizine yardımcı olabilir. Örnekteki OTEL gözlemlenebilirlik verileriyle ilgili veritabanı ve tablo bilgilerini otomatik olarak tanımlayabilir, iş gereksinimlerine göre sorgu ifadelerini otomatik olarak oluşturarak gözlemlenebilirlik verilerini alabilir ve ardından tanılama sonuçlarını otomatik olarak analiz edip döndürebilir. Başlıca uygulama senaryoları arasında iş trend analizi, veri hacmi analizi ve RCA kök neden tanısı yer alır.

Ön Koşullar

LLM'ye İnternet erişimi etkinleştirilmiş olmalıdır.

Kullanım

  1. ClickStack ana sayfasında sol gezinme bölmesindeki AI NoteBook düğmesine tıklayın.

  2. AI asistanı sohbet penceresine analiz etmek istediğiniz soruyu girin. AI asistanı gözlemlenebilirlik verilerini otomatik olarak sorgular ve analiz sonuçlarını döndürür.

Yaygın Senaryolar

(1) İş Günlüğü Hata Oranlarını Belirleme

Örnek sorgular:

  • OpenClaw programımın son bir saat içinde herhangi bir anormalliği olup olmadığını analiz et

  • Yönetim izleme verilerimdeki hangi bileşenlerin son 10 dakikada daha yüksek hata oranlarına sahip olduğunu analiz et

Tanılama Sonuçları

Conclusion
Based on sampling analysis of the clickobserve_service.otel_traces table from 2026-05-06 19:50:00 to 2026-05-06 20:00:00:

Error Rate Statistics
- The overall error rate is approximately  0.32% (based on sampling data from 7 time windows of 0.5 seconds each, totaling 248,077 spans)
- Total error spans: 917
- Normal spans (OK + UNSET): 207,150

StatusCode Distribution
StatusCode    Count       Ratio     Remarks
UNSET         139,911     74.7%     -
OK            66,247      23.08%    -
ERROR         919         0.32%     -

Evidence
- View artifacts from /artifacts/sessions/c-b859bd2-3942-4d85-b636-51dae0d18ae/sql_results.json

Limitations
- Sampling bias: Due to the ClickHouse max_rows_to_read limit (200,000 rows), not all data within the 10-minute window can be covered, and the actual sample may be biased
- Time window representativeness: Sampling points are distributed between 19:50~20:00, and intervals with large data volumes may be missed
- Margin of error: The actual error rate may fluctuate between 0.2% and 0.5%

Next Steps (for more precise analysis)
- For precise error rates, you may need to adjust the sampling ratio and quantity
- If interested in anomalies, you can query the StatusMessage or Events fields for error details
- Drill down by SpanName or ServiceName to identify which services are contributing to the errors
(2) Kök Neden Tanısı

Örnek sorgular:

  • Yönetim bileşeni günlüklerimin son bir saat içinde herhangi bir hatası olup olmadığını analiz et ve kök nedenleri analiz et

  • Gateway isteklerimden biri neden başarısız oldu? requestId/traceId = ea7d2925-3422-4920-9ab1-b22dd3d85b2f. Lütfen ayrıntılı nedeni analiz edin.

Tanılama Sonuçları

Error Data Analysis Conclusion
Based on sampling analysis of the clickobserve_service.otel_traces table from 2026-05-06 19:50:00 to 20:00:00, the following are the error sampling data and error analysis results.

1. Error Type Distribution
HTTP Code    Error Count  Ratio    Type                 Description
404            81         -64%    Resource not found        -
500            19         -10%    Internal server error     -
503            3          -2%     Service unavailable         -
206            1          -2%     Partial content       Can be considered edge case in 10 million requests

2. Typical Error Case Analysis

Case 1: 404 Not Found — Resource file path does not exist
- TraceId:b1b97380c855083a23ec76ace14e53be
- SpanName: GET
- Request path: http://dbaas-meta-api-myb-bank-cloud.ipa.internal.myb.rds.alibyncs.com/api/v1.0/clusterInstances/34631706 etc.
- Error cause: Target resource ID 19 36317596 does not exist on the target server. All associated spans under this TraceId show 404, confirming service deployment and routing configuration issues
- Evidence link: /artifacts/sessions/c-b859bd2-3942-4d85-b636-51dae0d18ae/sql_results.json line 22

Case 2: 503 Service Unavailable — Service temporarily unavailable
- TraceId:b1b97380c855083a23ec76ace14e53be
- SpanName: GET / POST
- Request path: http://dbaas-meta-api-myb-minirds.ipa.internal.myb.rds.alibyncs.com/api/v1.0/replicatSets/3083517606/myfd
- Evidence link: /artifacts/sessions/c-b859bd2-3942-4d85-b636-51dae0d18ae/sql_results.json line 22

Case 3: STS Service Call Error
- SpanName: POST https://sts.cn-hangzhou.null/
- Error type: .null domain, indicating domain resolution error or DNS resolution failure
- STS service may be missing domain configuration
- Evidence link: /artifacts/sessions/c-b859bd2-3942-4d85-b636-51dae0d18ae/sql_results.json line 10

Case 4: Basic Error Type
...

Oturum Yönetimi

AI asistanı birden fazla oturum oluşturmayı ve yönetmeyi destekler. Aşağıdaki işlemleri gerçekleştirebilirsiniz:

  • Oturum oluşturma: Hizmet sayfasında üst kısımdaki + düğmesine tıklayın ve yeni bir oturum oluşturmak için oturum adını girin.

  • Oturum silme: Hizmet sayfasında üst kısımdaki silme düğmesine tıklayarak mevcut oturumu silin.

  • Oturumu yeniden adlandırma: Hizmet sayfasında üst kısımdaki düzenleme düğmesine tıklayın, yeni bir ad girin ve onaylamak için Enter tuşuna basın.

Çıktı Modunu Değiştirme

AI asistanı iki çıktı modunu destekler. Sohbet penceresindeki geçiş düğmesini kullanarak bunlar arasında geçiş yapabilirsiniz:

  • Akış çıktısı (varsayılan): Daha hızlı yanıt almak için analiz sonuçlarını gerçek zamanlı olarak artımlı biçimde görüntüler.

  • Standart çıktı: Analizin tamamlanmasını bekler ve ardından tüm sonuçları bir seferde görüntüler.

Özel Pano

Hizmet, doğrudan kullanmanız için önceden ayarlanmış panolar sağlar. Bunları görüntülemek için sol gezinme bölmesinde PRESETS>Services seçeneklerine tıklayabilirsiniz. Ayrıca ilgi duyduğunuz ölçümleri toplamak ve bunları aynı raporda görüntülemek için özel panolar da oluşturabilirsiniz.

  1. Sol gezinme bölmesinde Create Dashboard öğesine tıklayın.

  2. Add New Tile düğmesine tıklayın.

  3. Veri kaynağını ve ölçümleri ayarlayın ve ardından Kaydet'e tıklayın.

    Data Source değerini otel_logs olarak ayarlayın ve toplama yöntemini Count of Events olarak belirleyin.

Hizmet Yapılandırması

Hizmeti etkinleştirirken Automatically Create Table seçeneğini belirlediyseniz ilgili tablolar için hizmet yapılandırması sizin için otomatik olarak yapılandırılmıştır. Ayrıca ihtiyaçlarınıza göre diğer tabloları veri kaynağı olarak da yapılandırabilirsiniz.

  1. Sol gezinme bölmesinde Team Settings öğesine tıklayın.

  2. Günlük, ölçüm ve izleme verilerinin hangi tablolardan geldiğini ve sütun eşlemesini tanımlayan veri kaynaklarını yapılandırmak için Sources alanında aşağıdaki veri yapılandırmasına bakın:

    logs

    otel_logs veri kaynağı Kaynak Ayarları aşağıdaki gibi yapılandırılır:

    • Name: otel_logs

    • Source Data Type: Log

    • Server Connection: ClickHouse örnek kimliği (ör. cc-bp1vxxx)

    • Database: clickobserve_service

    • Table: otel_logs

    • Timestamp Column: TimestampTime

    • Default Select: Timestamp, ServiceName as service, SeverityText as level, Body

    metrics

    HyperDX'te otel_metrics veri kaynağını aşağıdaki ayarlarla yapılandırın:

    • Name: otel_metrics

    • Source Data Type: OTEL Metrics

    • Server Connection: İlgili ClickHouse örneğini seçin

    • Database: clickobserve_service

    • Gauge Table: otel_metrics_gauge

    • Histogram Table: otel_metrics_histogram

    • Sum Table: otel_metrics_sum

    • Summary Table: otel_metrics_summary

    • Exponential Histogram Table: otel_metrics_exponential_histogram

    • Correlated Log Source: otel_logs

    Yapılandırmadan sonra kaydetmek için Save Source düğmesine tıklayın.

    traces

    Kaynak Ayarları sayfasında otel_traces izleme veri kaynağını aşağıdaki alanlarla yapılandırın:

    • Name: otel_traces

    • Source Data Type: Trace

    • Server Connection: İlgili ClickHouse örnek kimliği

    • Database: clickobserve_service

    • Table: otel_traces

    • Timestamp Column: Timestamp

    • Default Select: Timestamp, ServiceName as service, StatusCode as level, round(Duration / 1e6...)

    • Duration Expression: Duration, hassasiyet Nanosecond olarak ayarlanır

    • Trace Id Expression: TraceId

    • Span Id Expression: SpanId

    • Parent Span Id Expression: ParentSpanId

    • Span Name Expression: SpanName

    • Span Kind Expression: SpanKind

    • Correlated Log Source: otel_logs

    • Correlated Metric Source: otel_metrics

    • Status Code Expression: StatusCode

    • Status Message Expression: StatusMessage

    • Service Name Expression: ServiceName

    • Resource Attributes Expression: ResourceAttributes

    • Event Attributes Expression: SpanAttributes

    • Span Events Expression: Events

    • Implicit Column Expression: SpanName

  3. Bağlantı ayarlarını yapılandırmak için Connections alanında gözlemlenebilirlik hizmeti ile ApsaraDB for ClickHouse örneği arasındaki bağlantıyı yapılandırın. Mevcut örneğe yönelik varsayılan bir bağlantı yapılandırması oluşturulur. Host, ApsaraDB for ClickHouse örnek uç noktasını belirtir. Yalnızca VPC adresleri desteklenir. Örnek uç noktasını yapılandırdıktan sonra örnek konsolunda uç nokta adresini değiştirirseniz bunu yeniden yapılandırmanız gerekir.

  4. Gözlemlenebilirlik hizmetinin ApsaraDB for ClickHouse örneği üzerindeki sorgu parametrelerini yapılandırmak için ClickHouse Client Settings alanını kullanın.

Kullanıcı Tercihleri

Sol gezinme bölmesinin alt kısmında kullanıcı adınıza tıklayın ve ardından kullanıcı tercihlerini ayarlamak için User Preferences seçeneğini belirleyin.

İlgili Belgeler