本地日志与指标
本入门指南可帮助你从本地系统收集日志和指标,并将其发送到 ClickStack 进行可视化和分析。
此示例仅适用于 OSX 和 Linux 系统
此示例数据集也可以与 ClickHouse Cloud 中的 HyperDX 搭配使用,只需对流程进行少量调整(如下所示)。如果在 ClickHouse Cloud 中使用 HyperDX,你需要按照该部署模型的入门指南中的说明,在本地运行一个 OpenTelemetry collector。
创建自定义 OpenTelemetry 配置
创建一个 custom-local-config.yaml 文件,内容如下:
此配置用于收集 OSX 和 Linux 系统的日志和指标,并将结果发送到 ClickStack。该配置通过添加新的接收器和管道来扩展 ClickStack 采集器——您需要引用基础 ClickStack 采集器中已配置的 clickhouse 导出器和处理器(memory_limiter、batch)。
此配置会在摄取时调整时间戳,为每个事件分配更新后的时间值。理想情况下,您应该使用 OTel 处理器或操作符在日志文件中预处理或解析时间戳,以确保保留准确的事件时间。
在此示例配置中,如果接收器或文件处理器配置为从文件开头开始读取,所有现有日志条目将被分配相同的调整后时间戳——即处理时间而非原始事件时间。追加到文件的新事件将接收近似其实际生成时间的时间戳。
要避免此行为,您可以在接收器配置中将起始位置设置为 end。这可确保仅摄取新条目,并在接近其实际到达时间时为其添加时间戳。
有关 OpenTelemetry (OTel) 配置结构的更多详细信息,请参阅官方指南。
使用自定义配置启动 ClickStack
运行以下 docker 命令以使用自定义配置启动一体化容器:
我们以 root 用户身份运行采集器以访问所有系统日志——这是从基于 Linux 的系统上受保护路径捕获日志所必需的。但是,不建议在生产环境中使用此方法。在生产环境中,应将 OpenTelemetry Collector 部署为本地代理,并仅授予访问目标日志源所需的最小权限。
注意:我们将宿主机的 /var/log 挂载到容器内的 /host/var/log,以避免与容器自身的日志文件发生冲突。
如果在 ClickHouse Cloud 中使用 HyperDX 并配合独立采集器,请使用以下命令:
采集器将立即开始收集本地系统的日志和指标。
导航到 HyperDX UI
如果在本地部署,请访问 http://localhost:8080 访问 HyperDX UI。如果在 ClickHouse Cloud 中使用 HyperDX,请从左侧菜单中选择您的服务和 HyperDX。
查看系统指标
我们可以通过图表来探索指标数据。
通过左侧菜单导航至 Chart Explorer。选择数据源 Metrics,聚合类型选择 Maximum。
在 Select a Metric 菜单中,先输入 memory,再选择 system.memory.utilization (Gauge)。
点击运行按钮以可视化内存使用率随时间的变化。

注意,该数字以浮点数 % 的形式返回。为了更清晰地显示,请选择 Set number format。

在随后的菜单中,您可以从 Output format 下拉列表中选择 Percentage,然后单击 Apply。

