通过 Vector 发送数据
- 托管 ClickStack
- 开源 ClickStack
以下指南假设您已创建托管 ClickStack 服务并记录了相应的服务凭据。如果尚未完成,请先参阅托管 ClickStack 的 Getting Started 指南,按步骤操作至提示配置 Vector 为止。为您的数据创建一个表。该表应与数据的输出 schema 相匹配。下面的示例假设采用经典的 Nginx 结构。请根据您的数据进行相应调整,并遵循 schema 最佳实践。我们强烈建议您先了解主键的概念,并根据此处列出的指南选择主键。默认情况下,我们建议使用
创建数据库和表
Vector 要求在摄取数据之前预先定义好表和 schema。首先创建一个数据库。可以通过 ClickHouse Cloud 控制台 完成。在下面的示例中,我们使用logs:Nginx 主键上述主键是基于 ClickStack UI 中 Nginx 日志的常见访问模式设定的,但在生产环境中可能需要根据你的工作负载进行调整。
在 Vector 配置中添加 ClickHouse sink
修改 Vector 配置,加入 ClickHouse sink,并更新inputs 字段,使其从现有管道接收事件。此配置假定你的上游 Vector 管道已经将数据处理为符合目标 ClickHouse schema 的格式,也就是说,各字段都已完成解析、正确命名,并设置为适合插入的类型。有关如何将原始日志行解析并规范化为适用于 ClickStack 的 schema 的完整示例,请参见下方的 Nginx 示例。json_each_row 格式,它会将每个事件编码为每行一个 JSON 对象。这是 ClickStack 摄取 JSON 数据时默认且推荐使用的格式,应优先于其他替代格式,例如将 JSON 对象编码为字符串的格式。ClickHouse sink 也支持 Arrow stream encoding (目前处于 Beta 阶段) 。这种方式可以提供更高的吞吐量,但也有一些重要约束:数据库和表必须是静态的,因为 schema 只会在启动时拉取一次,并且不支持动态路由。因此,Arrow 编码最适合固定且定义明确的摄取管道。我们建议查阅 Vector documentation 中可用的 sink 配置选项:上面的示例使用的是托管 ClickStack 的默认用户。对于生产部署,我们建议创建专用的摄取用户,并为其分配适当的权限和限制。
前往 ClickStack UI
前往你的托管 ClickStack 服务,并从左侧菜单中选择 “ClickStack”。如果你已经完成引导流程,这将在新标签页中打开 ClickStack UI,并自动完成身份验证。如果尚未完成,你可以继续完成引导流程,并在选择 Vector 作为输入源后点击“Launch ClickStack”。创建数据源
创建一个日志数据源。如果当前还没有数据源,首次登录时系统会提示你创建一个。否则,请前往 Team Settings,添加一个新的数据源。上述配置假定采用 Nginx 风格的 schema,并将time_local 列用作时间戳。应尽可能使用在主键中声明的时间戳列。此列为必填项。我们还建议更新 Default SELECT,明确指定日志视图中返回哪些列。如果还有其他可用字段,例如服务名称、日志级别或 body 列,也可以一并配置。如果时间戳显示列与表主键中使用且在上方配置的列不同,也可以单独覆盖。在上面的示例中,数据里并不存在 Body 列。相反,它是通过一个 SQL 表达式定义的,用于根据现有字段重建一条 Nginx 日志行。有关其他可选项,请参阅配置参考。探查数据
前往日志视图探查数据,并开始使用 ClickStack。使用 Vector 的示例数据集
- 托管 ClickStack
- 开源 ClickStack
以下指南假设您已创建托管 ClickStack 服务并记录了相应的服务凭据。如果尚未完成,请先参阅托管 ClickStack 的 Getting Started 指南,按步骤操作直至出现配置 Vector 的提示。创建一个用于存储数据的表。这会根据结构化字段还原日志行。有关其他可用选项,请参阅配置参考。
安装 Vector
继续之前,请确保在计划运行摄取管道的系统上已安装 Vector。请按照 Vector 官方安装指南 安装适合您环境的预构建二进制文件或软件包:安装完成后,在继续执行下面的配置步骤之前,请确认vector 可执行文件已在您的路径中。它也可以安装在与 ClickStack OTel collector 相同的实例上。在将 Vector 部署到生产环境时,请遵循架构和安全方面的最佳实践。下载示例数据
如果你想用示例数据集进行试验,请下载下面的 nginx 示例。这些数据采集自一个 Nginx 实例;该实例已配置为以 JSON 格式输出日志,以便于解析。有关这些日志的 Nginx 配置,请参阅”使用 ClickStack 监控 Nginx 日志”。
创建数据库和表
在开始摄取数据之前,Vector 需要预先定义好表和 schema。首先创建一个数据库。可以通过 ClickHouse Cloud 控制台 完成。创建一个名为logs 的数据库:Nginx 主键上述主键是根据 ClickStack UI 中 Nginx 日志的常见访问模式设定的,但在生产环境中可能需要根据实际工作负载进行调整。
前往 ClickStack UI
前往你的托管 ClickStack 服务,并在左侧菜单中选择 “ClickStack”。如果你已经完成引导流程,系统会在新标签页中打开 ClickStack UI,并自动完成身份验证。如果还没有,请继续完成引导流程,并在选择 Vector 作为输入源后,选择“启动 ClickStack”。创建数据源
创建一个日志数据源。如果还没有任何数据源,首次登录时系统会提示你创建一个。否则,请前往 Team Settings 并添加新的数据源。该配置假定使用 Nginx schema,并将time_local 列作为 timestamp。这是在主键中声明的 timestamp 列。此列是必填项。我们还将默认 select 指定为 time_local, remote_addr, status, request,用于定义日志视图中会返回哪些列。在上面的示例中,数据中并不存在 Body 列。相反,它被定义为以下 SQL expression:查看数据
前往2025 年 10 月 20 日 的搜索视图,查看数据并开始使用 ClickStack。