跳转到主要内容
本入门指南可帮助你收集系统中的本地日志和指标,并将其发送到 ClickStack 进行可视化与分析。 本示例仅适用于 OSX 和 Linux 系统
本指南假设您已完成托管 ClickStack 入门指南,并已记录连接凭据
1

创建自定义 OpenTelemetry 配置

创建 custom-local-config.yaml 文件,内容如下:
receivers:
  filelog:
    include:
      - /host/var/log/**/*.log        # 来自主机的 Linux 日志
      - /host/var/log/syslog
      - /host/var/log/messages
      - /host/private/var/log/*.log   # 来自主机的 macOS 日志
    start_at: beginning
    resource:
      service.name: "system-logs"

  hostmetrics:
    collection_interval: 1s
    scrapers:
      cpu:
        metrics:
          system.cpu.time:
            enabled: true
          system.cpu.utilization:
            enabled: true
      memory:
        metrics:
          system.memory.usage:
            enabled: true
          system.memory.utilization:
            enabled: true
      filesystem:
        metrics:
          system.filesystem.usage:
            enabled: true
          system.filesystem.utilization:
            enabled: true
      paging:
        metrics:
          system.paging.usage:
            enabled: true
          system.paging.utilization:
            enabled: true
          system.paging.faults:
            enabled: true
      disk:
      load:
      network:
      processes:

service:
  pipelines:
    logs/local:
      receivers: [filelog]
      processors:
        - memory_limiter
        - batch
      exporters:
        - clickhouse
    metrics/hostmetrics:
      receivers: [hostmetrics]
      processors:
        - memory_limiter
        - batch
      exporters:
        - clickhouse
此配置会收集 OSX 和 Linux 系统的系统日志和指标,并将结果发送到 ClickStack。该配置通过添加新的 receivers 和 pipelines 来扩展 ClickStack collector——你将引用基础 ClickStack collector 中已配置好的 clickhouse exporter 和 processors (memory_limiterbatch) 。
摄取时间戳此配置会在摄取时调整时间戳,为每个事件分配更新后的时间值。理想情况下,你应在日志文件中使用 OTel processors 或 operators 预处理或解析时间戳,以确保保留准确的事件时间。在此示例配置中,如果 receiver 或 file processor 被设置为从文件开头开始读取,则所有现有日志条目都会被赋予相同的调整后时间戳——也就是处理时的时间,而不是原始事件时间。之后追加到文件中的任何新事件,则会获得接近其实际生成时间的时间戳。为避免这种情况,你可以在 receiver 配置中将起始位置设为 end。这样可以确保只摄取新条目,并为其赋予接近真实到达时间的时间戳。
有关 OpenTelemetry (OTel) 配置结构的更多信息,建议参阅官方指南
2

启动 OpenTelemetry collector

使用以下命令运行一个独立的 collector:
docker run -d \
  -p 4317:4317 -p 4318:4318 \
  --user 0:0 \
  -e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
  -e CLICKHOUSE_ENDPOINT=${CLICKHOUSE_ENDPOINT} \
  -e CLICKHOUSE_USER=${CLICKHOUSE_USER} \
  -e CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD} \
  -v "$(pwd)/custom-local-config.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
  -v /var/log:/host/var/log:ro \
  -v /private/var/log:/host/private/var/log:ro \
  clickhouse/clickstack-otel-collector:latest
collector 会立即开始收集本地系统日志和指标。
3

选择服务

在 ClickHouse Cloud 主页面中,选择“托管 ClickStack”服务。
4

查看系统日志

在左侧菜单中选择 ClickStack,进入 ClickStack UI 后,系统会自动完成身份验证。搜索 UI 中应已显示本地系统日志。展开过滤器,选择 system.log
5

查看系统指标

我们可以使用图表查看指标。通过左侧菜单进入 Chart Explorer。选择数据源 Metrics,并将聚合类型设为 MaximumSelect a Metric 菜单中,只需输入 memory,然后选择 system.memory.utilization (Gauge)点击 运行 按钮,即可将内存利用率随时间变化的情况可视化。注意,返回的数值是浮点数形式的 % 值。为了更清晰地显示,请选择 Set number format在随后出现的菜单中,从 Output format 下拉菜单里选择 Percentage,然后点击 Apply
最后修改于 2026年6月10日