本地日志与指标
这个入门指南允许您收集系统中的本地日志和指标,并将其发送到 ClickStack 进行可视化和分析。
此示例仅在 OSX 和 Linux 系统上有效
以下示例假设您已根据一体化镜像的说明启动了 ClickStack,并连接到本地 ClickHouse 实例或ClickHouse Cloud 实例。
此示例数据集也可与 HyperDX 在 ClickHouse Cloud 中一起使用,仅需对流程进行少量调整。如果在 ClickHouse Cloud 中使用 HyperDX,则用户需要本地运行 Open Telemetry 收集器,如此部署模型的入门指南中所述。
导航到 HyperDX UI
访问 http://localhost:8080 以访问本地部署的 HyperDX UI。如果在 ClickHouse Cloud 中使用 HyperDX,请从左侧菜单中选择您的服务和 HyperDX。
创建本地 OpenTelemetry 配置
创建一个名为 otel-local-file-collector.yaml 的文件,内容如下。
重要:将值 <YOUR_INGESTION_API_KEY> 替换为您上述复制的数据摄取 API 密钥(在 ClickHouse Cloud 中的 HyperDX 不需要)。
该配置会收集 OSX 和 Linux 系统的系统日志和指标,通过 OTLP 端点在 4317 端口将结果发送到 ClickStack。
该配置在摄取时调整时间戳,为每个事件分配更新的时间值。用户理想情况下应该使用 OTel 处理器或操作符在日志文件中预处理或解析时间戳,以确保保留准确的事件时间。
在此示例设置中,如果接收器或文件处理器配置为从文件的开头开始,则所有现有日志条目将被分配相同的调整时间戳——处理时间而不是原始事件时间。任何追加到文件的新事件将获得接近其实际生成时间的时间戳。
要避免这种行为,可以在接收器配置中将起始位置设置为 end。这确保仅摄取并时间标记新的条目,接近其真实到达时间。
有关 OpenTelemetry (OTel) 配置结构的更多详细信息,我们建议查看官方指南。
希望在 OSX 上获取更详细日志的用户可以在启动下面的收集器之前运行命令 log stream --debug --style ndjson >> /tmp/all_events.log。这将捕获详细的操作系统日志到文件 /tmp/all_events.log,该文件已包含在上述配置中。
启动收集器
运行以下 Docker 命令以启动 OTel 收集器的实例。
我们以根用户身份运行收集器,以访问所有系统日志——这在 Linux 系统上捕获受保护路径的日志是必要的。然而,这种方法不推荐用于生产环境。在生产环境中,OpenTelemetry 收集器应该作为本地代理部署,只需具有必要的最小权限以访问预定的日志源。
收集器将立即开始收集本地系统日志和指标。
浏览系统指标
我们可以通过图表浏览我们的指标。
通过左侧菜单导航到图表浏览器。选择源 Metrics 和聚合类型 Maximum。
在 选择指标 菜单中简单输入 memory,然后选择 system.memory.utilization (Gauge)。
按运行按钮以可视化您的内存使用情况随时间的变化。

请注意,数字以浮点 % 形式返回。为了清晰呈现,选择 设置数字格式。

在后续菜单中,您可以从 输出格式 下拉菜单中选择 百分比,然后单击 应用。


