本地日志和指标
本入门指南将帮助你从本地系统收集日志和指标数据,并将其发送到 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。
探索系统指标
我们可以使用图表探索指标数据。
通过左侧菜单导航至图表浏览器。选择数据源 Metrics,聚合类型选择 Maximum。
在 Select a Metric 菜单中,输入 memory 后选择 system.memory.utilization (Gauge)。
点击运行按钮以可视化内存使用率随时间的变化。

注意,该数值以浮点数百分比 % 形式返回。为了更清晰地显示,请选择 Set number format(设置数字格式)。

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

