본문으로 건너뛰기

기계 번역입니다. 정식 기준은 영어판이며, 원어민 검수는 아직 완료되지 않았습니다.

가이드

소스 연결

Olivares AI에 실제 관찰 소스 배선, 읽기 우선 커넥터 모델 이해, 올바른 소스 종류로 pgaudit 및 s3cloudtrail 구성

마지막 업데이트:

소스는 하나의 외부 시스템을 관찰하고 정규화된 관찰을 출력합니다 — 데이터 경로에 있지 않고, 트래픽을 프록시하지 않으며, 페이로드를 읽지 않습니다. 이 페이지는 커넥터 모델과 OLIVARES_SOURCES_CONFIG를 통해 실제 소스를 배선하는 방법을 다룹니다. 코딩 에이전트만 연결하려면 Claude Code 연결부터 시작하세요; 그것은 협력적 경로의 하나의 소스이며, 이것은 그 아래의 모델입니다.

소스가 하는 일

소스는 시스템을 관찰하고 보고된 것을 타입화된 관찰로 보고합니다. 읽기/쓰기 접근 맵은 흐르는 것을 가로채는 것이 아니라 소스가 보고하는 것에서 구축됩니다. 엔진이 스케줄링을 소유합니다: 스트리밍 소스(로그 테일)는 취소될 때까지 차단합니다; 배치 소스는 작업을 수행하고 반환하며, 엔진이 다시 실행할 시기를 결정합니다.

관찰은 식별자와 읽기/쓰기 분류만 전달합니다 — SQL 본문, 요청 페이로드, 비밀 또는 PII를 절대 포함하지 않습니다. 이것은 커넥터가 말하는 배선 어휘의 속성이며 토글할 수 있는 설정이 아닙니다. 이 관찰이 맵에 어떻게 착지하는지는 허용됨 vs 관찰됨을 참조하세요.

모든 에지는 어떤 소스가 생성했는지와 신뢰 수준을 기록하며, 제품은 둘 다 보여줍니다. 귀속은 접근이 에이전트별 신원에 연결될 때 firm이고, 추론되거나 손실이 있을 때(공유 서비스 계정, 풀링된 연결) approximate입니다. 접근 모드는 unknown, read, write, readwrite 중 하나입니다 — unknown은 명시적이며 추측되지 않습니다. 충실도를 참조하세요.

실행 위치

이 소스를 실행하는 수집기는 항상 인프라에서 실행됩니다. 수집하는 제어 평면은 단일 자체 호스팅 바이너리, 분산 배포 또는 에어갭일 수 있습니다 — 관찰된 환경의 데이터는 절대 경계를 벗어나지 않습니다. 자체 호스팅아키텍처 개요를 참조하세요.

구성 파일

실제(비데모) 소스는 OLIVARES_SOURCES_CONFIG 환경 변수로 명명된 단일 운영자 구성 파일에서 배선되며, 엔진이 시작되기 전에 읽힙니다. sources 목록을 선언하는 JSON 문서입니다. 각 항목은 kind로 커넥터를 선택하고, 관찰이 속하는 tenant를 명명하고, 소스에 name을 부여하며, 커넥터 자체의 config를 포함합니다. 선택적 poll_seconds는 간격으로 배치 소스를 다시 실행합니다; 스트리밍 소스는 무시합니다.

소스 종류는 엔진에 등록된 이름입니다. 두 개의 clean 계층 파일 옵저버는 pgaudit (PostgreSQL)와 s3cloudtrail (AWS S3)입니다. 정확한 문자열을 사용하세요 — 이전 문서에서 pg_audit 또는 cloudtrail을 사용한 것은 잘못되었으며 해당 문자열은 해결되지 않습니다.

실제 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 로그 파일 경로.
  • formatcsvlog 또는 jsonlog; 기본값은 csvlog.
  • follow — 연속 테일. jsonlog에만 적용됩니다; csvlog 파일은 레코드가 줄바꿈을 넘을 수 있으므로 배치로 읽힙니다.
  • shared_accounts — 풀링되거나 공유된 쉼표로 구분된 역할 또는 application_name. 이 중 하나에 귀속된 접근은 의도적으로 approximate로 표시됩니다, 추적이 공유 신원 뒤의 실제 호출자를 분리할 수 없기 때문입니다.

구분하는 application_namefirm 에지를 얻는 에이전트별 브릿지입니다. 많은 에이전트가 하나의 역할이나 커넥션 풀을 공유하면 모든 접근이 해당 신원으로 축소되고 귀속이 approximate가 됩니다 — 제품은 구분할 수 없는 에이전트를 구분할 수 있는 척하지 않고 그렇게 말합니다.

실제 s3cloudtrail 소스

CloudTrail 소스는 AWS CloudTrail 로그 파일을 읽고 S3 이벤트당 하나의 에지를 출력하며, 읽기/쓰기를 CloudTrail의 readOnly 필드에서 그대로 가져옵니다. 출발점은 IAM 주체입니다; 호출자 간 공유되는 assumed 역할은 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 바이너리가 선택 가능한 소스 종류로 등록하는 것보다 더 많은 커넥터를 인트리에 제공합니다. 파일 옵저버 pgaudit, s3cloudtrail, 커널 백스톱 ebpf, 호스트 runtime 리더, mcp 인트로스펙션은 기본 serve에 배선되어 있으며, 데이터 플랫폼, 시크릿, 네트워크, 신원 옵저버 세트와 함께 합니다. 트리에 다른 커넥터가 존재하지만 기본 serve 소스 레지스트리에 아직 배선되지 않았습니다 — 이것은 모든 것이 오늘 선택 가능하다는 주장이 아닌 추적 중인 후속 작업입니다. 예상하는 kind가 해결되지 않으면 잘못 구성된 것이 아니라 아직 배선되지 않은 것으로 취급하고, 의존하기 전에 커넥터 자체의 디스크립터를 확인하세요.

이 페이지는 위의 커넥터에 대해 검증된 키만 설명합니다. 다른 커넥터의 정확한 config 키는 해당 커넥터가 소유합니다; 검증되지 않은 스키마를 복사하지 말고 디스크립터를 읽으세요.

관련 항목

문서 검색