ClickStack 的各个组件均提供以下配置选项:
开源发行版设置
Docker
如果使用 All in One、HyperDX Only 或 Local Mode,只需通过环境变量传入所需设置,例如:
docker run -e HYPERDX_LOG_LEVEL='debug' -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latestDocker Compose
如果使用 Docker Compose 部署指南,可以通过 .env 文件修改设置。
或者,也可以直接在 docker-compose.yaml 文件中显式覆盖这些设置,例如:
示例:
services:
app:
environment:
HYPERDX_API_KEY: ${HYPERDX_API_KEY}
HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL}
# ... 其他设置Helm
自定义配置值 (可选)
你可以使用 --set 参数来自定义设置,例如:
helm install my-hyperdx hyperdx/hdx-oss-v2 \
--set replicaCount=2 \
--set resources.limits.cpu=500m \
--set resources.limits.memory=512Mi \
--set resources.requests.cpu=250m \
--set resources.requests.memory=256Mi \
--set ingress.enabled=true \
--set ingress.annotations."kubernetes\.io/ingress\.class"=nginx \
--set ingress.hosts[0].host=hyperdx.example.com \
--set ingress.hosts[0].paths[0].path=/ \
--set ingress.hosts[0].paths[0].pathType=ImplementationSpecific \
--set env[0].name=CLICKHOUSE_USER \
--set env[0].value=abc也可以编辑 values.yaml。如需获取默认配置值:
helm show values hyperdx/hdx-oss-v2 > values.yaml示例配置:
replicaCount: 2
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 250m
memory: 256Mi
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
hosts:
- host: hyperdx.example.com
paths:
- path: /
pathType: ImplementationSpecific
env:
- name: CLICKHOUSE_USER
value: abcClickStack UI (HyperDX) 应用
数据源设置
ClickStack UI 依赖用户为每一种可观测性数据类型/支柱定义一个数据源:
LogsTracesMetricsSessions
此配置可在应用内的 Team Settings -> Sources 中完成,下面以日志为例:

创建这些数据源时,每个数据源都至少需要指定一张表,以及一组供 HyperDX 查询数据的列。
如果使用 ClickStack 附带的默认 OpenTelemetry (OTel) schema,则每个数据源所需的这些列都可以自动推断出来。如果修改 schema或使用自定义 schema,则用户需要指定并更新这些映射。
以下是每个数据源可用的设置:
日志
| 设置 | 说明 | 必填 | 在默认 schema 中推断 | 推断值 |
|---|---|---|---|---|
名称 |
Source 名称。 | 是 | 否 | – |
分组 |
用于在源选择器中对源进行分组的可选标签。属于同一分组的源会显示在一起;除源名称外,搜索还会匹配分组名称。 | No | No | – |
Server Connection |
服务器连接名称。 | 是 | No | Default |
数据库 |
ClickHouse 数据库名称。 | Yes | Yes | default |
表 |
目标表名称。使用默认 schema 时设为 otel_logs。 |
Yes | No | |
查询设置 |
查询级会话设置,每项均由设置名称和值组成,并会应用于针对此 source 发出的每个查询。 | No | No | – |
启用 |
已禁用的数据源会被保留,但不会显示在数据源选择器中,也绝不会被自动选中。 | 否 | 否 | 已启用 |
时间戳列 |
主键中包含的日期时间列或表达式。 | 是 | 是 | TimestampTime |
默认选择列 |
默认搜索结果中显示的列。 | 是 | 是 | Timestamp, ServiceName, SeverityText, Body |
服务名称表达式 |
用于服务名称的表达式或列。 | 是 | 是 | ServiceName |
服务版本表达式 |
标识服务当前运行发布版本的表达式或列,用于在仪表盘图表中绘制发布标记。留空时,默认使用 OpenTelemetry service.version 资源属性。 |
否 | 否 | ResourceAttributes['service.version'] |
日志级别表达式 |
用于日志级别的表达式或列。 | 是 | 是 | SeverityText |
正文表达式 |
用于日志消息的表达式或列。 | 是 | 是 | Body |
日志属性表达式 |
自定义日志属性的表达式或列。 | 是 | 是 | LogAttributes |
资源属性表达式 |
资源级属性的表达式或列。 | 是 | 是 | ResourceAttributes |
显示时间戳列 |
用于 UI 显示的可选高精度时间戳列。未提供时,默认使用 Timestamp Column。 | 否 | 是 | Timestamp |
关联指标源 |
关联的指标源 (例如 HyperDX 指标) 。 | 否 | No | – |
关联的链路追踪数据源 |
关联的链路追踪数据源 (例如 HyperDX 链路追踪) 。 | No | No | – |
Trace ID 表达式 |
用于提取 trace ID 的表达式或列。 | 是 | 是 | TraceId |
Span ID 表达式 |
用于提取 span ID 的表达式或列。 | 是 | 是 | SpanId |
隐式列表达式 |
未指定字段时用于全文搜索 (Lucene 风格) 的列,通常为日志正文。 | 是 | 是 | Body |
已知列清单 |
适用于底层目标表列集合不一致的 Distributed 或 Merge 表数据源。以逗号分隔的列名列表,包含所有目标端表中可用的列;获取完整行数据时 (例如在行侧边栏中) 将使用此列表代替 SELECT *。留空则选择所有列。仅支持列名,不支持表达式或别名。 |
否 | No | – |
使用文本索引 |
基于 Lucene 的搜索在查询隐式列时是否使用 hasAllTokens。 |
否 | 否 | 自动(根据 schema 检测) |
突出显示的属性 |
打开日志详情时显示的表达式或列。返回 URL 的表达式将显示为链接。 | No | No | – |
突出显示的 Trace 属性 |
从 trace 中每条日志提取的表达式或列,显示在 trace 瀑布图上方。返回 URL 的表达式将显示为链接。 | 否 | No | – |
Materialized Views |
为此 source 注册的预聚合 materialized views,会自动用于加速符合条件的查询。请参阅 Materialized views。 | 否 | No | – |
元数据 materialized views |
用于加快字段发现和值自动补全的 materialized views。请参阅元数据 materialized views。 | No | Yes | <table>_kv_rollup_15m |
默认 ORDER BY |
用于覆盖搜索结果默认排序的 ORDER BY 表达式。留空则使用自动检测到的默认值。之后可针对每次搜索单独自定义。 |
No | No | – |
链路追踪
| 设置 | 描述 | 必填 | 在默认 schema 中推断 | 推断值 |
|---|---|---|---|---|
Name |
数据源名称。 | 是 | 否 | – |
Section |
可选标签,用于在数据源选择器中对数据源进行分组。使用相同 section 的数据源会显示在一起,搜索时除数据源名称外还会匹配 section 名称。 | 否 | 否 | – |
Server Connection |
服务器连接名称。 | 是 | 否 | Default |
Database |
ClickHouse 数据库名称。 | 是 | 是 | default |
Table |
目标表名称。如果使用默认 schema,请设为 otel_traces。 |
是 | 是 | - |
Query Settings |
查询级会话设置,每项均由设置名称和值组成,会添加到针对该数据源发出的每个查询中。 | 否 | 否 | – |
Enabled |
已禁用的数据源会被保留,但会在数据源选择器中隐藏,且绝不会被自动选中。 | 否 | 否 | 已启用 |
Timestamp Column |
主键中包含的日期时间列或表达式。 | 是 | 是 | Timestamp |
Default Select |
默认搜索结果中显示的列。 | 是 | 是 | Timestamp, ServiceName as service, StatusCode as level, round(Duration / 1e6) as duration, SpanName |
Duration Expression |
用于计算 span 耗时的表达式。 | 是 | 是 | Duration |
Duration Precision |
耗时表达式的精度 (例如纳秒、微秒) 。 | 是 | 是 | ns |
Trace Id Expression |
trace ID 对应的表达式或列。 | 是 | 是 | TraceId |
Span Id Expression |
span ID 对应的表达式或列。 | 是 | 是 | SpanId |
Parent Span Id Expression |
父 span ID 对应的表达式或列。 | 是 | 是 | ParentSpanId |
Span Name Expression |
span 名称对应的表达式或列。 | 是 | 是 | SpanName |
Span Kind Expression |
span 类型对应的表达式或列 (例如 client、server) 。 | 是 | 是 | SpanKind |
Correlated Log Source |
可选。关联的日志数据源 (例如 HyperDX logs) 。 | 否 | 否 | – |
Correlated Session Source |
可选。关联的会话数据源。 | 否 | 否 | – |
Correlated Metric Source |
可选。关联的指标数据源 (例如 HyperDX metrics) 。 | 否 | 否 | – |
Status Code Expression |
span 状态码对应的表达式。 | 是 | 是 | StatusCode |
Status Message Expression |
span 状态消息对应的表达式。 | 是 | 是 | StatusMessage |
Service Name Expression |
服务名称对应的表达式或列。 | 是 | 是 | ServiceName |
Service Version Expression |
用于标识服务正在运行的发布版本的表达式或列,用于在仪表板图表上绘制发布标记。留空时,默认使用 OpenTelemetry service.version 资源属性。 |
否 | 否 | ResourceAttributes['service.version'] |
Resource Attributes Expression |
资源级属性对应的表达式或列。 | 是 | 是 | ResourceAttributes |
Event Attributes Expression |
事件属性对应的表达式或列。 | 是 | 是 | SpanAttributes |
Sample Rate Expression |
包含上游采样权重 (1/N) 的列或表达式。设置后,聚合 (count、avg、sum、quantile) 会针对采样进行校正。百分位数将使用 quantileTDigestWeighted,这是一种近似算法,因此精确值可能略有差异。如果 spans 未采样,请留空。 |
否 | 否 | – |
Span Events Expression |
用于提取 span 事件的表达式。通常为 Nested 类型的列。这使得可以在受支持的语言 SDK 中渲染异常堆栈跟踪。 |
是 | 是 | Events |
Span Links Expression |
用于提取 span 链接的表达式,以捕获从一个 span 指向其他 trace 中 spans 的链接。预期类型为 Nested(TraceId String, SpanId String, TraceState String, Attributes Map(LowCardinality(String), String))。 |
否 | 是 | Links |
Implicit Column Expression |
未指定 field 时用于全文搜索的列 (Lucene 风格) 。通常为日志正文。 | 是 | 是 | SpanName |
Known Columns List |
适用于 Distributed 或 Merge 表上的数据源,其目标表的列集合不一致。以逗号分隔的列表,列出所有目标表中可用的列;获取完整行数据时 (例如在行侧边栏中) 会使用它代替 SELECT *。留空可选择所有列。仅限列名,不支持表达式或别名。 |
否 | 否 | – |
Use Text Index |
在搜索隐式列时,是否让基于 Lucene 的搜索生成 hasAllTokens。 |
否 | 否 | Auto (detect from schema) |
Displayed Timestamp Column |
可选的高精度时间戳列,用于 UI 显示。未提供时默认使用 Timestamp Column。 | 否 | 是 | Timestamp |
Highlighted Attributes |
打开 span 详情时显示的表达式或列。返回 URL 的表达式会显示为链接。 | 否 | 否 | – |
Highlighted Trace Attributes |
从 trace 的每个 span 中提取并显示在 trace 瀑布图上方的表达式或列。返回 URL 的表达式会显示为链接。 | 否 | 否 | – |
Materialized Views |
为该数据源注册的预聚合 materialized view,会自动用于加速符合条件的查询。请参阅 Materialized views。 | 否 | 否 | – |
Metadata Materialized Views |
用于加速字段发现和值自动补全的 materialized view。请参阅 Metadata materialized views。 | 否 | 是 | <table>_kv_rollup_15m |
Default Order By |
用于覆盖搜索结果默认排序的 ORDER BY 表达式。留空可使用自动检测到的默认值。之后可针对每次搜索进行自定义。 |
否 | 否 | – |
指标
| 设置项 | 描述 | 必填 | 在默认 schema 中推断 | 推断值 |
|---|---|---|---|---|
Name |
数据源名称。 | 是 | 否 | – |
Section |
可选。用于在数据源选择器中对数据源进行分组的标签。属于同一分组的数据源会显示在一起,搜索时除数据源名称外,也会匹配分组名称。 | 否 | 否 | – |
Server Connection |
服务器连接名称。 | 是 | 否 | Default |
Database |
ClickHouse 数据库名称。 | 是 | 是 | default |
Query Settings |
最多可配置十个查询级别的会话设置,每项均由设置名称和值组成,并会添加到针对该数据源发出的每个查询中。 | 否 | 否 | – |
Enabled |
数据源表单顶部的切换开关。禁用的数据源会被保留,但会在数据源选择器中隐藏,且绝不会被自动选择。仅在编辑现有数据源时显示。 | 否 | 否 | 已启用 |
Gauge Table |
存储 Gauge 类型指标的表。 | 否 | 是 | otel_metrics_gauge |
Histogram Table |
存储 Histogram 类型指标的表。 | 否 | 是 | otel_metrics_histogram |
Sum Table |
存储 Sum 类型 (Counter) 指标的表。 | 否 | 是 | otel_metrics_sum |
Exponential Histogram Table |
存储 Exponential Histogram 类型指标的表。 | 否 | 是 | otel_metrics_exponential_histogram |
Correlated Log Source |
可选。关联的日志数据源 (例如 HyperDX 日志) 。 | 否 | 否 | – |
会话
| 设置 | 说明 | 必填 | 在默认 schema 中推断 | 推断值 |
|---|---|---|---|---|
Name |
数据源名称。 | 是 | 否 | – |
Section |
可选。用于在数据源选择器中对数据源进行分组的标签。共享同一分组的数据源会显示在一起,搜索时除匹配数据源名称外,还会匹配分组名称。 | 否 | 否 | – |
Server Connection |
服务器连接名称。 | 是 | 否 | Default |
Database |
ClickHouse 数据库名称。 | 是 | 是 | default |
Table |
会话数据的目标表。目标表名称。若使用默认 schema,请设置为 hyperdx_sessions。 |
是 | 是 | - |
Query Settings |
最多可配置十项查询级别会话设置,每项均包含设置名称和值,并会应用于针对该数据源发出的每个查询。 | 否 | 否 | – |
Enabled |
数据源表单顶部的开关。禁用的数据源会被保留,但会从数据源选择器中隐藏,且不会被自动选中。仅在编辑现有数据源时显示。 | 否 | 否 | 已启用 |
Correlated Trace Source |
用于会话关联的已关联链路追踪数据源。 | 是 | 否 | – |
时间戳列 |
作为主键一部分的日期时间列或表达式。 | 是 | 是 | TimestampTime |
Resource Attributes Expression |
用于提取资源级元数据的表达式。 | 否 | 是 | ResourceAttributes |
Materialized views
可以为日志和链路追踪数据源注册 materialized view,使符合条件的聚合查询从预聚合视图而非源表获取结果。有关创建和注册视图的说明,请参阅“Materialized views”。
每个已注册的视图均包含以下设置:
| 设置 | 描述 |
|---|---|
Database |
包含 materialized view 目标表的 ClickHouse 数据库。 |
Table |
materialized view 的目标表,而非视图本身。 |
时间戳列 |
目标表中的 timestamp 列。 |
Granularity |
目标表 timestamp 列的时间桶,例如 1 minute。只有当查询自身的时间桶与此粒度相同或更粗时,才能使用该视图。 |
Minimum Date |
可选。视图中包含数据的最早日期和时间。若未提供,ClickStack 会假定该视图包含源表所含每个日期的数据。 |
Dimension Columns |
未由视图预聚合的列,以逗号分隔;因此可用于筛选和分组。 |
Pre-aggregated Columns |
由视图预聚合的列。每个条目将聚合函数 (avg、count、max、min、quantile、sum 或 histogram) 及源表列映射到视图中的对应列。count 不需要源列。 |
选择目标表后,大多数设置会根据视图的 schema 自动推断。
元数据 materialized views
元数据 materialized views 可加速过滤器的字段发现和自动补全。可在日志和链路追踪数据源上配置。
| 设置 | 说明 |
|---|---|
Key Rollup Table |
可选,且已弃用。包含源表中键的 rollup 表。 |
KV Rollup Table |
包含源表中键/值对的 rollup 表。 |
粒度 |
rollup 表使用的时间桶,例如 15 minute。 |
高亮属性
高亮属性和高亮 trace 属性都可以在日志和 trace 数据源上配置。
- 高亮属性是查看日志或 span 详情时,为每条日志或 span 显示的列或表达式。
- 高亮 trace 属性是从某个 trace 中的每条日志或 span 查询出的列或表达式,并显示在 trace 瀑布图上方。
这些属性定义在数据源配置中,可以是任意 SQL 表达式。如果 SQL 表达式返回的值是 URL 格式,该属性会显示为链接。空值不会显示。
每个属性均使用以下设置进行配置:
| 设置 | 说明 |
|---|---|
SQL Expression |
要查询的列或任意 SQL 表达式。必填。 |
Alias |
可选。用于替代 SQL 表达式显示为属性的标签。 |
Lucene Expression |
可选。SQL 表达式的 Lucene 版本,在搜索此属性值时使用。 |
例如,这个链路追踪数据源已配置了一个高亮属性和一个高亮 trace 属性:

点击日志或 span 后,这些属性会显示在侧边面板中:

点击某个属性后,可以选择将该属性用作搜索值。如果在属性配置中提供了可选的 Lucene 表达式,搜索时将使用 Lucene 表达式而不是 SQL 表达式。

要在 ClickStack 中启用完整的跨数据源关联,您必须为日志、链路追踪、指标和会话配置关联来源。这样,HyperDX 就能将相关数据关联起来,并在渲染事件时提供更丰富的上下文。
Logs:可与链路追踪和指标关联。Traces:可与日志、会话和指标关联。Metrics:可与日志关联。Sessions:可与链路追踪关联。
配置这些关联后,即可启用多项功能。例如,HyperDX 可以在显示 trace 的同时呈现相关日志,或突出显示与会话相关联的指标异常。
例如,下面是已配置关联来源的日志数据源:

应用配置设置
-
HYPERDX_API_KEY- 默认值: None (必填)
- 说明: 用于 HyperDX API 的身份验证密钥。
- 指导:
- 遥测和日志功能必需
- 在本地开发环境中,可使用任意非空值
- 在生产环境中,请使用安全且唯一的密钥
- 创建账户后,可从 Team Settings 页面获取
-
HYPERDX_LOG_LEVEL- 默认值:
info - 说明: 设置日志详细程度。
- 可选项:
debug,info,warn,error - 建议:
- 使用
debug进行详细故障排查 - 使用
info用于正常运行 - 在生产环境中使用
warn或error以减少日志量
- 默认值:
-
HYPERDX_API_PORT- 默认值:
8000 - 说明: HyperDX API 服务器使用的端口。
- 指导:
- 确保该端口在主机上可用
- 如果存在端口冲突,请更改此端口
- 必须与 API 客户端配置中的端口保持一致
- 默认值:
-
HYPERDX_APP_PORT- 默认值:
8000 - 说明: HyperDX 前端应用使用的端口。
- 指导:
- 确保此端口在主机上可用
- 如果发生端口冲突,请更改该端口
- 必须可通过浏览器访问
- 默认值:
-
HYPERDX_APP_URL- 默认值:
http://localhost - 说明: 前端应用的基础 URL。
- 指导:
- 在生产环境中将其设置为你的域名
- 包含协议 (http/https)
- 不要包含末尾斜杠
- 默认值:
-
MONGO_URI- 默认值:
mongodb://db:27017/hyperdx - 说明: MongoDB 连接字符串。
- 指导:
- 在使用 Docker 的本地开发环境中,可使用默认值
- 在生产环境中,请使用安全的连接字符串
- 如果需要,请包含身份验证信息
- 示例:
mongodb://user:pass@host:port/db
- 默认值:
-
MINER_API_URL- 默认值:
http://miner:5123 - 说明: 日志模式挖掘服务的 URL。
- 指导:
- 在使用 Docker 的本地开发环境中使用默认值
- 在生产环境中,将其设置为你的 miner 服务 URL
- 必须可从 API 服务访问
- 默认值:
-
FRONTEND_URL- 默认值:
http://localhost:3000 - 说明: 前端应用的 URL。
- 建议:
- 本地开发时使用默认值
- 在生产环境中设置为您的域名
- API 服务必须能够访问该地址
- 默认值:
-
OTEL_SERVICE_NAME- 默认值:
hdx-oss-api - 说明: OpenTelemetry 插桩的服务名称。
- 指导:
- 为 HyperDX 服务使用便于识别的名称。适用于 HyperDX 自行插桩的场景。
- 有助于在遥测数据中识别 HyperDX 服务
- 默认值:
-
NEXT_PUBLIC_OTEL_EXPORTER_OTLP_ENDPOINT- 默认值:
http://localhost:4318 - 说明: OpenTelemetry collector 端点。
- 指导:
- 适用于 HyperDX 自行埋点。
- 本地开发时使用默认值
- 在生产环境中,将其设置为你的 collector URL
- 必须可从你的 HyperDX 服务访问
- 默认值:
-
USAGE_STATS_ENABLED- 默认值:
true - 说明: 用于控制是否收集使用统计信息。
- 指导:
- 设置为
false可禁用使用情况跟踪 - 适用于对隐私较为敏感的部署
- 默认为
true,以便更好地改进产品
- 默认值:
-
IS_OSS- 默认值:
true - 说明: 表示是否以 OSS 模式运行。
- 指导:
- 开源部署时,保持为
true - Enterprise 部署时,设置为
false - 会影响功能可用性
- 默认值:
-
IS_LOCAL_MODE- 默认值:
false - 说明: 指示是否以本地模式运行。
- 建议:
- 本地开发时设置为
true - 会禁用某些生产环境功能
- 适用于测试和开发
- 默认值:
-
EXPRESS_SESSION_SECRET- 默认值:
hyperdx is cool 👋 - 说明: 用于 Express 会话管理的密钥。
- 指南:
- 请在生产环境中更改
- 使用高强度的随机字符串
- 妥善保密并安全存储
- 默认值:
-
ENABLE_SWAGGER- 默认值:
false - 说明: 用于启用或禁用 Swagger API 文档。
- 指导:
- 设置为
true以启用 API 文档 - 适用于开发和测试环境
- 在生产环境中禁用
- 默认值:
-
BETA_CH_OTEL_JSON_SCHEMA_ENABLED- 默认值:
false - 说明: 在 HyperDX 中启用对 JSON type 的 Beta 支持。另请参阅
OTEL_AGENT_FEATURE_GATE_ARG,以在 OTel collector 中启用 JSON 支持。 - 指导:
- 这会启用一项 Beta 功能。对于典型的可观测性 workloads,不建议使用 JSON 类型的 schema。有关两者的对比及各自适用场景,请参阅 Map vs JSON type。
- 将其设置为
true,即可在 ClickStack UI 中启用 JSON 支持。
- 默认值:
OpenTelemetry collector
更多详情,请参见 "ClickStack OpenTelemetry Collector"。
-
CLICKHOUSE_ENDPOINT- 默认值: 独立镜像时为 无 (必填) 。如果是 All-in-one 或 Docker Compose 发行版,则会设置为集成的 ClickHouse 实例。
- 说明: 用于将遥测数据导出到 ClickHouse 实例的 HTTPS URL。
- 指导:
- 必须是包含端口的完整 HTTPS 端点 (例如:
https://clickhouse.example.com:8443) - collector 向 ClickHouse 发送数据时必需
- 必须是包含端口的完整 HTTPS 端点 (例如:
-
CLICKHOUSE_USER- 默认值:
default - 说明: 用于向 ClickHouse 实例进行身份验证的用户名。
- 指导:
- 确保该用户具有
INSERT和CREATE TABLE权限 - 建议为摄取创建专用用户
- 确保该用户具有
- 默认值:
-
CLICKHOUSE_PASSWORD- 默认值: 无 (启用身份验证时必填)
- 说明: 指定 ClickHouse 用户的密码。
- 指导:
- 如果该用户账户设置了密码,则此项必填
- 在生产环境部署中通过 secrets 安全存储
-
HYPERDX_LOG_LEVEL- 默认值:
info - 说明: collector 的日志详细级别。
- 指导:
- 可接受的值包括
debug、info、warn、error - 在故障排查期间使用
debug
- 可接受的值包括
- 默认值:
-
OPAMP_SERVER_URL- 默认值: 独立镜像时为 无 (必填) 。如果是 All-in-one 或 Docker Compose 发行版,则指向已部署的 HyperDX 实例。
- 说明: 用于管理 collector 的 OpAMP server URL (例如 HyperDX 实例) 。默认端口为
4320。 - 指导:
- 必须指向你的 HyperDX 实例
- 启用动态配置和安全摄取
- 如果省略,则会禁用安全摄取,除非指定了
OTLP_AUTH_TOKEN值。
-
OTLP_AUTH_TOKEN- 默认值: 无。仅用于独立镜像。
- 说明: 允许指定 OTLP 身份验证令牌。如果设置了该值,则所有通信都需要此 Bearer 令牌。
- 指导:
- 如果在生产环境中使用独立 collector 镜像,建议设置此项。
-
HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE- 默认值:
default - 说明: collector 将遥测数据写入的 ClickHouse database。
- 指导:
- 如果使用自定义 database 名称,请设置此项
- 确保指定用户对该 database 具有访问权限
- 默认值:
-
OTEL_AGENT_FEATURE_GATE_ARG- 默认值:
<empty string> - 说明: 在 collector 中启用功能开关。如果设置为
--feature-gates=clickhouse.json,则会在 collector 中启用 JSON type 的 Beta 支持,并确保使用该类型创建 schema。另请参见BETA_CH_OTEL_JSON_SCHEMA_ENABLED以在 HyperDX 中启用 JSON 支持。 - 指导:
- 这会启用一项 Beta 功能。对于典型的可观测性 workload,不建议使用 JSON-typed schemas。有关对比以及各自适用场景,请参见 Map vs JSON type。
- 设置为
--feature-gates=clickhouse.json,以使用 JSON type 创建新表。
- 默认值:
ClickHouse
ClickStack 开源版附带了一个面向多 TB 规模的默认 ClickHouse 配置,但用户也可以根据自身工作负载自由修改和优化。
要有效调优 ClickHouse,你需要理解一些关键存储概念,例如 parts、分区、分片和副本,以及 合并 如何在写入时发生。我们建议你先了解 主索引、稀疏二级索引 和数据跳过索引的基础知识,以及管理数据生命周期的相关方法,例如使用生存时间 (TTL) 进行生命周期管理。
ClickStack 支持 schema 自定义——你可以修改列类型、提取新字段 (例如从日志中提取) 、应用编解码器和字典,并使用 projections 加速查询。
此外,materialized views 可用于在摄取期间转换或过滤数据,前提是数据写入该视图的源表,并且应用程序从目标表读取数据。materialized views 也可用于在 ClickStack 中以原生方式加速查询。
更多详情请参阅 ClickHouse 关于 schema 设计、索引策略和数据管理最佳实践的文档——其中大部分内容都可直接应用于 ClickStack 部署。