跳至正文

机器翻译。英文版本为权威来源,母语审校尚未完成。

指南

连接数据源

将真实的观测数据源接入 Olivares AI,理解读优先的连接器模型,并使用正确的数据源类型配置 pgaudit 和 s3cloudtrail

最近更新:

数据源观测一个外部系统并发出标准化的观测结果——它绝不处于数据路径中、代理流量,或读取载荷。本页介绍连接器模型以及如何通过 OLIVARES_SOURCES_CONFIG 连接真实数据源。如果你只想连接一个编码代理,从连接 Claude Code 开始;那是协作路径上的一个数据源,本页是它底层的模型。

数据源做什么

数据源观测一个系统并将其看到的内容报告为类型化的观测结果。读/写访问映射根据数据源报告的内容构建,而非拦截流经的内容。引擎拥有调度权:流式数据源(日志尾随)阻塞直到被取消;批处理数据源完成工作后返回,引擎决定何时再次运行它。

观测结果仅携带标识符和读/写分类——绝不包含 SQL 内容、请求载荷、密钥或 PII。这是连接器所使用的传输词汇的属性,而非你可以切换的设置。参见允许与观测了解这些观测结果如何落到映射上。

每条边记录哪个数据源产生了它以及可信度级别,产品展示两者。归因在访问绑定到按代理身份时为 firm,在推断或有损时为 approximate(共享服务账户、池化连接)。访问模式是 unknownreadwritereadwrite 之一——unknown 是显式的,绝不猜测。参见保真度

运行位置

运行这些数据源的收集器始终在你的基础设施上运行。摄取它们的控制平面可以是单个自托管二进制文件、分布式部署或气隙隔离——观测资产的数据永远不会离开你的边界。参见自托管架构概览

配置文件

真实(非演示)数据源通过 OLIVARES_SOURCES_CONFIG 环境变量命名的单个操作员配置文件连接,在引擎启动前读取。它是一个声明 sources 列表的 JSON 文档。每个条目通过 kind 选择连接器,为其观测结果指定所属的 tenant,给数据源一个 name,并携带连接器自己的 config。可选的 poll_seconds 按间隔重新运行批处理数据源;流式数据源忽略它。

数据源类型是引擎中注册的名称。两个清晰层级的文件观测器是 pgaudit(PostgreSQL)和 s3cloudtrail(AWS S3)。使用这些确切的字符串——早期文档中写的 pg_auditcloudtrail 是错误的,那些字符串无法解析。

一个真实的 pgaudit 数据源

pgAudit 数据源尾随 PostgreSQL 的结构化审计日志,每个被审计的数据访问发出一条边。读/写模式从 pgAudit 的类(READ、WRITE、DDL)逐字获取——绝不从 SQL 文本推断。它对日志文件是只读的,绝不连接数据库。

{
  "sources": [
    {
      "name": "prod-postgres",
      "kind": "pgaudit",
      "tenant": "acme",
      "config": {
        "log_path": "/var/log/postgresql/postgresql.json",
        "format": "jsonlog",
        "follow": "true",
        "shared_accounts": "app_pool,reporting"
      }
    }
  ]
}

config 的值是字符串。上面的键由 pgAudit 连接器拥有:

  • log_path(必需)——要读取的 PostgreSQL 日志文件路径。
  • format ——csvlogjsonlog;默认为 csvlog
  • follow ——持续尾随。这仅适用于 jsonlogcsvlog 文件作为批处理读取,因为其记录可以跨行。
  • shared_accounts ——逗号分隔的角色或 application_name,属于池化或共享的。归因到其中之一的访问被有意标记为 approximate,因为日志无法分离共享身份背后的真正调用者。

区分性的 application_name 是赢得 firm 边的按代理桥梁。如果多个代理共享一个角色或连接池,每个访问都折叠到该身份上,归因变为 approximate——产品如此说明而非假装能区分它无法区分的代理。

一个真实的 s3cloudtrail 数据源

CloudTrail 数据源读取 AWS CloudTrail 日志文件,每个 S3 事件发出一条边,从 CloudTrail 的 readOnly 字段逐字获取读/写。来源是 IAM 主体;跨调用者共享的假定角色标记为 approximate

{
  "sources": [
    {
      "name": "prod-s3",
      "kind": "s3cloudtrail",
      "tenant": "acme",
      "config": {
        "path": "/var/log/cloudtrail/",
        "shared_accounts": "shared-pipeline-role"
      }
    }
  ]
}

path 键(必需)是一个 CloudTrail 日志文件或 *.json / *.json.gz 文件目录。shared_accounts 的行为与 pgAudit 相同。

未连接时引擎发出警告

引擎安全失败,而非大声失败:

  • 如果 OLIVARES_SOURCES_CONFIG 未设置,引擎在没有数据源的情况下启动。
  • 如果文件缺失、不可读或不是有效的 JSON,引擎发出警告并在没有数据源的情况下继续——它不会在启动时崩溃。
  • 如果数据源列表为空,它警告没有连接器会摄取,资产在没有实时流量的情况下运行。

在所有情况下,启动日志清楚地告诉你没有真实的内容被连接。一个空的访问映射永远不应看起来像一个干净的。

并非每个代码内的连接器都连接到标准 serve

Olivares AI 在代码内发布的连接器比标准 serve 二进制文件注册为可选数据源类型的更多。文件观测器 pgaudits3cloudtrail、内核后备 ebpf、主机 runtime 读取器和 mcp 内省连接到标准 serve,以及一组数据平台、密钥、网络和身份观测器。其他连接器存在于代码中但尚未连接到标准 serve 数据源注册表——这是一个跟踪中的后续工作,不是声称一切今天都可选择。如果你期望的 kind 没有解析,将其视为尚未连接而非配置错误,并在依赖它之前确认连接器自己的描述符。

本页仅描述针对上述连接器验证过的键。任何其他连接器的确切 config 键由该连接器拥有;阅读其描述符而非复制未验证的模式。

相关内容

搜索文档