텍스트 로그

Custom Logs를 쿼리 가능한 테이블로 변환하세요.

일부 로그는 회사에서만 사용하는 소프트웨어가 작성합니다. 레코드의 시작 위치, 적용할 문법, 타임스탬프 위치, 열 이름을 한 번 지정하면 다른 테이블과 마찬가지로 사용할 수 있는 테이블이 만들어집니다.

결과를 Excel, Google Sheets, AI 도구 및 Database REST API를 통한 앱에서 사용하세요.

모든 커넥터 유형을 Free에서 사용할 수 있습니다. 데이터 소스 2개와 에이전트 1개로 시작하세요.

사용자 지정 로그파일이 저장된 위치에서 읽기
네트워크 내부쿼리 스트림 네트워크 에이전트

내 머신에서 읽고, 정리하고, 쿼리하세요.

읽기 전용 쿼리 · 아웃바운드 연결

원본 파일은 제자리에 그대로 둡니다. 도구에는 쿼리 결과가 전달됩니다.

소스 → 에이전트 → 허용된 결과

Query Streams는 회사에서만 사용하는 소프트웨어가 작성한 로그를 비롯해 모든 텍스트 로그를 읽고, 폴더를 Microsoft Excel, Google Sheets, MCP 기반 AI 어시스턴트, REST API 및 Power BI에서 읽을 수 있는 실시간 SQL 테이블로 변환합니다. 형식은 한 번만 설명하면 됩니다. 레코드 경계, 문법, 타임스탬프, 열 및 순환 방식만 지정하면 이후에는 에이전트가 해당 설명을 그대로 유지합니다. 구분자 기반, key = value, grok, JSON lines, #Fields 헤더 지시문, 고정 너비 등 여섯 가지 문법을 사용할 수 있습니다. 설명과 일치하지 않는 줄도 삭제하지 않고 원시 행으로 보존하므로 예상하지 못한 형식이 나타나도 데이터 손실이 없습니다.

  • 한 번만 설명하면 되는 여섯 가지 문법
  • 일치하지 않는 줄도 삭제하지 않고 보존
  • 해석을 위해 외부로 전송되는 데이터 없음

올바른 설정으로 Custom Logs를 연결하세요.

Network Agent에서 연결을 유지하세요. 다음은 Custom Logs 전용 세부 설정입니다.

접는 사람
텍스트 로그가 있는 모든 폴더. 로컬 디스크 또는 \\server\share 형식으로 입력한 네트워크 공유(매핑된 드라이브 문자는 사용할 수 없으며, Linux나 Mac에서는 먼저 마운트해야 함). 하위 폴더 포함, 포함 및 제외 패턴 지원
문법
구분자 기반, key = value, grok, JSON lines, #Fields 헤더 지시문, 고정 너비
기록 경계
원하는 방식으로 설정 가능. 레코드당 한 줄, 패턴, 고정된 줄 수, 빈 줄 또는 센티널을 사용해 여러 줄 레코드를 온전히 유지
타임스탬프
위치와 형식을 설명합니다. 줄에 연도가 없으면 파일's 수정 시간이나 파일 이름에서 연도를 가져올 수 있습니다.
로테이션
이름이 지정된 10가지 로테이션 패턴과 로테이션되지 않은 일반 파일을 지원합니다. 압축 아카이브도 그대로 읽습니다.
형식이 일치하지 않는 줄
events_raw_lines에 원문 그대로 보존되며, 삭제되지 않습니다.
자격 증명
없습니다. 서버가 없으며 에이전트가 파일이 있는 위치에서 파일을 읽습니다.

편집할 수 있는 유일한 로그 프로필이며, 바로 그 점이 중요합니다. 나머지 모든 프로필은 저희가 고정하므로 내용이 달라질 수 없습니다. 다만 맞춤 설명은 제공 프로필과 달리 사전에 정확성을 보장할 수 없습니다. 이를 보완하는 것이 미리보기입니다. 미리보기는 사용자의 파일에 설명을 적용하고, 변경 사항을 확정하기 전에 결과 행을 보여 줍니다.

Custom Logs의 작동 방식에 맞게 설계했습니다.

형식을 구성하는 다섯 가지 요소

고정 프로필에서는 이 요소들이 미리 지정되어 있습니다. Custom에서는 다섯 가지 요소를 모두 설정할 수 있으며, 이것이 형식 설명의 전부입니다. 추가로 구성할 항목도, 숨겨진 설정도 없습니다.

  • 레코드 경계 — 레코드가 끝나고 다음 레코드가 시작되는 위치입니다. 여러 줄로 된 스택 추적을 하나의 행에 유지하는 데 사용됩니다.
  • 문법 — 구분자 기반, key = value, grok, JSON lines, #Fields 헤더 지시문 또는 고정 너비입니다.
  • 타임스탬프 — 타임스탬프가 있는 위치와 표기 방식이며, 줄에 연도가 없을 때 연도를 가져오는 위치도 포함합니다.
  • 열 — 각 필드의 이름과 유형입니다. 이를 통해 숫자는 숫자로 정렬되고 날짜는 날짜로 필터링됩니다.
  • 성장 모델 - 파일이 어떻게 커지고 순환되는지 정의하여 어제의 아카이브와 오늘의 라이브 파일을 하나의 테이블로 만듭니다.
-- 열 이름을 무엇으로 지정했든, 이것은 그저 SQL입니다
SELECT   file_name, severity, COUNT(*) AS lines
FROM     fileset.events
WHERE    severity IN ('WARN','ERROR')
GROUP BY file_name, severity
ORDER BY lines DESC

먼저 기본 제공 프로필을 사용해 보세요

Test connection은 찾은 항목을 함께 제공되는 프로필과 대조해 가장 적합한 프로필을 제안합니다. 이는 지문 대조이지, 모델이 로그를 읽는 것이 아닙니다. 파일에 관한 정보는 해석을 위해 어디로도 전송되지 않습니다. 기본 제공 프로필이 맞으면 그 프로필을 사용하세요. 고정된 프로필은 직접 작성한 설명보다 유지 관리할 것이 적습니다. 맞는 프로필이 없을 때 직접 설명을 작성하고, 기본 제공 프로필을 원하신다면 저희에게 요청해 주세요.

형식과 동작에 대한 자세한 설명입니다.

Custom Logs에 필요한 참조 문서를 여세요.

텍스트 파일이라면 표 형식일 수 있습니다.
핵심 아이디어

텍스트 파일이라면 표 형식일 수 있습니다.

서로 전혀 다른 형식의 파일 세 개 — 업무용 애플리케이션에서 작성한 파일 하나, 배치 작업에서 작성한 파일 하나, 2011년 이후 아무도 지원하지 않은 장비에서 나온 파일 하나. 각 파일을 한 번만 설명하면, 이름을 지정한 열을 그대로 쿼리할 수 있습니다. 실행할 수집기도, 유지 관리할 인덱스도, 데이터를 복사한 별도 사본도 필요 없습니다.

로그 폴더파일
plant-audit.log키=값
batch-2026-09-10.txt고정 너비
로봇.트레이스구분된

로테이션, 압축 아카이브 및 다시 읽는 파일까지 처리

무엇이 잘못되었는가.sqlSQL
선택 파일 이름, 심각도,
       세다(*) AS 윤곽
FROM   파일셋.이벤트
어디  심각성 안에 ('경고하다','오류')
그룹 기준 파일 이름, 심각도
주문 기준 윤곽 DESC
결과컬럼
파일 이름심각성윤곽
plant-audit.log오류268
배치-2026-09-10경고하다154
로봇.트레이스오류61
plant-audit.log경고하다9

있습니다 심각성 당신이 열이 있다고 했으니까요.

예시 수치 — 답변의 형태를 보여 주는 것으로, 벤치마크가 아닙니다.

한 줄의 의미를 표현하는 여섯 가지 방법
문법

한 줄의 의미를 표현하는 여섯 가지 방법

지금까지 작성된 거의 모든 텍스트 로그는 이 여섯 가지 형태 중 하나입니다. 아래에서 자신의 로그 유형을 찾아보세요. 샘플 문장을 보면 설명을 읽는 것보다 더 빨리 파악할 수 있을 겁니다.

선택할 수 있는 문법

6가지 문법
구분된CSV, TSV, 파이프, 그 외 무엇이든
04:11:07, 웹-01, 오류, 디스크 용량 부족
  • 구분자를 지정하세요 — 쉼표, 탭, 세미콜론, 파이프 등 파일에서 사용하는 구분자
  • 따옴표로 묶인 필드는 그대로 유지되므로 메시지 안에 쉼표가 있어도 그대로 남습니다.
  • 머리글 행을 사용하면 열 이름을 직접 입력하는 대신 자동으로 이름을 지정할 수 있습니다.
  • 소수점 구분 기호는 사용자가 설정할 수 있으며, 쉼표로 구분되는 파일의 경우에도 마찬가지입니다.
키 = 값자기 설명 쌍
ts=04:11:07 호스트=web-01 레벨=오류
  • 행의 키가 열이 됩니다 — 키를 다시 지정할 필요가 없습니다
  • 키와 값 사이, 그리고 쌍 사이의 구분선은 모두 사용자가 정할 수 있습니다.
  • 키-값 쌍 앞의 접두부 — 타임스탬프나 태그 등 — 는 건너뛸 수 있습니다
  • 분석될 목적으로 작성된 애플리케이션 및 시스템 로그에서 흔히 볼 수 있는 내용입니다.
그록 패턴어색한 사람들을 위해
%{TIME:ts} %{LOGLEVEL:lvl} %{DATA:msg}
  • 이름이 지정된 캡처 그룹은 열이 됩니다 — 다른 방법이 맞지 않을 때 사용할 수 있는 우회 방법입니다
  • 내장 프로필의 기반이 되는 패턴 라이브러리는 참고용으로 제공됩니다.
  • 여러 개의 선 모양이 포함된 파일의 경우, 여러 패턴을 순서대로 시도해 볼 수 있습니다.
  • 초기 기본값 — 1 메시지 열을 선택한 다음 범위를 좁힙니다.
JSON 라인한 줄에 하나의 객체
{"ts":"04:11:07","level":"error"}
  • 필드가 열로 바뀌고, 실제로 필요한 열을 선택할 수 있습니다.
  • 중첩된 객체는 평면화되거나 삭제되지 않고 JSON 형식으로 그대로 유지됩니다.
  • 컨테이너 런타임의 래퍼를 제거해 내부 레코드를 쿼리할 수 있습니다
  • 대부분의 최신 로깅 라이브러리가 구조화하라는 지시를 받았을 때 작성하는 내용입니다.
헤더 지시문파일은 자체적으로 열 이름을 지정합니다.
#필드: 날짜 시간 s-ip cs-method
  • 맨 위쪽 줄에 필드들이 명시되어 있고, 그 뒤에 열들이 이어집니다.
  • W3C 확장 형식 및 그 아이디어를 차용한 모든 것
  • 지시사항의 이름을 적으시면 되므로 철자를 일일이 적을 필요는 없습니다. #전지
  • 동기화할 항목이 없습니다 — 열 목록의 원본은 파일입니다
고정 너비위치별 열
20260910041107 웹-01 오류
  • 각 열의 이름, 시작 위치, 길이를 지정하세요 — 구분자는 필요 없습니다
  • 필드에 구분자가 포함될 수 있는 파일의 경우 올바른 답변입니다.
  • 메인프레임, 컨트롤러 및 많은 산업용 장비가 여전히 기록하는 내용입니다.
  • 패딩이 제거되어 값이 공백으로 감싸지지 않고 표시됩니다.
내장형을 요청하세요다른 사람들도 사용하는 형식이라면

직접 설명을 작성하는 것이 가장 빠른 방법입니다. 많은 사람이 사용하는 형식이라면, Agent가 모두를 위해 고정할 수 있도록 기본 제공 프로필로 제공하는 편이 낫습니다. 커넥터에서 바로 요청할 수 있으며 Agent 업데이트와 함께 제공됩니다.

이 내용의 근거를 명확히 밝히는 것이 중요합니다. 다른 로그 페이지에 있는 내장 프로필들은 각각 실제 캡처된 파일을 기반으로 구축 및 테스트되었으며, 해당 페이지에 그 사실을 명시하고 있습니다. 이 사전 설정은 사용할 수 없습니다. — 형식은 사용자가 직접 설명하므로, 저희가 사전에 검증할 수 있는 고정된 형태가 없습니다. 대신 미리보기를 제공합니다. Test connection은 설명을 사용자의 파일에 적용하고, 설정을 확정하기 전에 무엇이 파싱되었고 무엇이 파싱되지 않았는지 보여 줍니다.
한 번 설명하고, 실행하는 모든 곳에서 사용하세요
모든 사이트

한 번만 설명해 주세요. 달리는 곳이라면 어디든 사용하세요

설명은 커넥터의 일부이지, 특정 컴퓨터의 일부가 아닙니다. 본사에서 감사 파일을 읽는 동일한 다섯 부분이 공장과 두 번째 지역에서도 파일을 읽습니다. 각 사이트에서는 Network Agent가 파일이 있는 위치에서 파일을 읽고 Query Streams에 연결합니다. 방화벽 관점에서는 일반적인 아웃바운드 연결이므로 열어야 할 포트도, 구축할 VPN도 없습니다.

본점 업무용 앱이 자체 감사 파일을 작성합니다. 전화를 걸다
공장 바닥 고정 폭 배치 레코드를 작성하는 컨트롤러 전화를 걸다
eu-서쪽 같은 앱, 같은 설명, 두 번째 폴더 전화를 걸다

아웃바운드 연결 세 개를 한곳에서 쿼리하세요. 인바운드 포트도, VPN도, 방화벽 변경도 필요 없습니다.

당신이 그 정체를 밝히세요

각 행에는 데이터의 출처가 표시됩니다. 기본값은 파일 이름입니다. 컴퓨터나 사이트가 행의 필드이거나 파일 이름의 일부라면, 대신 해당 값을 라벨로 지정하고 이를 기준으로 그룹화할 수 있습니다.

파일 이름 · 열 · 파일 이름의 일부

열 내용이 없습니다

Agent는 암호화된 아웃바운드 연결을 하나 만들고, 요청과 응답 행은 모두 이 연결을 통해 전송됩니다. 인바운드 포트도, VPN도, 방화벽 변경 요청도 필요 없습니다. 이미 로그를 수집 중인 서버에 수집 데몬을 추가할 필요도 없습니다.

하나의 연결, 양방향

여러 지역에 걸친 단일 쿼리

모든 출처 연합 쿼리 각 로그는 자체 Agent를 지정하므로, 하나의 문에서 맞춤 로그를 설명하는 데이터베이스와 나란히 배치할 수 있습니다. 예를 들어 배치 파일을 해당 주문 옆에 놓을 수 있습니다. Business 및 Enterprise에 포함됩니다.

로그 1개 + 데이터베이스 1개 → 결과 집합 1개

사이트별로 작성하는 것이 아니라 한 번만 작성합니다.

형식을 설명하는 작업은 일회성입니다. 동일한 형태의 두 번째 폴더는 동일한 설명을 가진 두 번째 커넥터이므로, 이를 다른 위치로 배포하는 것은 추가 조사가 아닌 설정 단계입니다.

설명 1개 → 같은 형식의 모든 폴더

텍스트 파일이 답할 수 없는 네 가지 질문
어려운 부분

텍스트 파일이 답할 수 없는 네 가지 질문

해당 줄을 분석하는 것은 쉬운 부분입니다. 로그 파일 자체에는 나와 있지 않은 정보들이 있는데, 이러한 정보들은 저희가 추측하는 것이 아니라 사용자가 직접 명시해야 하는 것들입니다.

레코드가 시작되고 끝나는 지점

스택 트레이스는 20줄에 걸쳐 하나의 이벤트로 표현되는데, 이를 20개의 이벤트로 읽으면 숫자가 잘못 해석됩니다. 경계를 표시하는 방법은 한 줄, 레코드를 시작하는 패턴, 빈 줄, 시작 및 종료 마커, 연속 규칙 또는 고정된 카운트 등 6가지가 있습니다.

레코드 하나가 항상 한 줄을 의미하는 것은 아닙니다.

인코딩에는 기본값이 없습니다.

이 필드 하나만 일부러 비워 둡니다. Latin-1 파일을 UTF-8로 가정해도 오류가 나지 않습니다. 악센트 문자가 모두 조용히 깨지고, 몇 달 뒤에야 알게 됩니다. 그래서 추측하지 않고 첫 동기화 전에 한 번 지정하도록 요청합니다.

선택된 것이지, 결코 당연하게 여겨진 것이 아니다.

그 줄에 아무것도 없는 해

많은 형식은 월과 일만 기록하고 끝납니다. 이를 처리하는 방법은 세 가지입니다. 행에 연도가 있거나, 파일 자체의 수정 시간에서 가져오거나, 파일 이름에서 읽습니다. 날짜가 붙은 아카이브에는 보통 파일 이름에 연도가 들어 있습니다.

행에서 · 파일에서 · 이름에서

아무것도 두 번 계산되지 않습니다

각 파일은 처음 4 KB를 기준으로 지문을 생성하므로, 이름이 바뀌거나 순환된 파일을 처음부터 다시 읽지 않고도 식별할 수 있습니다. 이름을 기준으로 10가지 순환 패턴을 인식하며, 계속 커지기만 하는 파일을 위한 ‘없음’도 지원합니다.

4KB 접두부 해시 · 20,000개 레코드 윈도우

다섯 부분으로 나뉘고, 그 다음에는 표가 나옵니다.
설명

다섯 부분으로 나뉘고, 그 다음에는 표가 나옵니다.

입력할 내용은 이것이 전부입니다. 다른 로그 페이지의 모든 기본 제공 프로필도 Agent가 고정한 이 동일한 다섯 부분으로 구성되며, 저희가 내용을 채워 둔 것입니다. 여기서는 직접 채우면 됩니다.

기록 경계하나의 사건으로 간주되는 것은 무엇입니까?
한 줄개방형 패턴빈 줄시작 및 종료 표시연속 규칙고정된 카운트
문법레코드가 어떻게 분할되는지
구분된키=값그록JSON 라인헤더 지시문고정 너비
타임스탬프어느 부분이 시간인가요?
필드체재시간대연식 모드두 분야로 구성됨null을 의미하는 값
컬럼이름과 유형
끈정수빅인트더블부울타임스탬프타임스탬프날짜JSON
성장파일이 어떻게 변하는가
추가회전 패턴압축 접미사파일들의 고리최대 선 길이
기본 설정은 의도적으로 소박하게 되어 있으며, 그것이 바로 설계 의도입니다. 메시지 행당 열 하나를 만들고 이벤트 시간은 파일 수정 시간에서 가져옵니다. 이것만으로도 거의 모든 파일을 첫 동기화할 수 있습니다. 그런 다음 미리보기를 보며 원하는 열이 나오도록 다듬으면 됩니다. 각 행에는 출처 파일도 포함되며, 모든 데이터는 하나의 테이블에 저장됩니다, 파일셋.이벤트.
이것이 의도적으로 하지 않는 것은 무엇인가

이것이 의도적으로 하지 않는 것은 무엇인가

가장 큰 것부터 말해볼게요: 이 기능을 사용하기 전에 내장 프로필을 먼저 사용해 보세요.. Test connection을 실행하면 Agent가 인식한 것 중 가장 적합한 기본 제공 프로필을 제안합니다. 기본 제공 프로필은 Agent가 고정하며 실제 파일로 테스트된 것이지만, 오늘 오후에 직접 작성한 설명은 그렇지 않습니다. 이 사전 설정은 다른 사람이 사용하지 않는 형식을 위한 우회 방법이지, 기본 시작점이 아닙니다.

형식을 알아내기 위해 로그를 읽는 기능은 없습니다. 가장 가까운 항목을 제안하는 것은 사용자의 파일 형식을 제공된 프로필과 비교하는 것입니다. 즉, 알려진 형식과 패턴을 대조하는 것이지 모델이 데이터를 읽는 것이 아닙니다. 일치하는 프로필이 없으면 직접 설명을 작성하고 미리보기로 확인하세요.

이는 실시간 로그 추적 기능이 아닙니다. 쿼리 스트림은 쿼리를 실행할 때 디스크에 저장된 파일을 그대로 읽어오기 때문에, 작업 실패 시 로그가 스트림 형태로 표시되는 것이 아니라 행 단위로 기록됩니다. 출력되는 모든 줄에 대해 초 단위 미만의 알림을 받아야 하는 경우에는 로그 파이프라인이 적합한 도구입니다.

텍스트만 읽습니다. 폴더 안의 아카이브와 바이너리 데이터베이스는 — .지퍼, .택시, 원시 저널 파일처럼 — 열거나 내용을 추측하지 않고 그대로 둡니다. 텍스트 로그의 압축된 순환 파일은 읽지만, 다른 내용이 담긴 컨테이너는 읽지 않습니다.

설명이 잘못될 수도 있기 때문에 아무것도 버려지지 않습니다. 문법이 맞지 않는 줄은 이유가 첨부된 원시 행으로 유지되므로 오류가 발생하더라도 눈에 띄지 않는 공백으로 남지 않고 확인하고 조회할 수 있습니다. 설명을 수정하고 다시 동기화하면 됩니다. 나머지는 일반적인 설계와 동일합니다. 에이전트는 외부 연결을 통해 파일을 읽고, 서버에 아무것도 설치되지 않으며, 아무것도 다시 기록되지 않고, 액세스는 읽기 전용입니다.

연결부터 유용한 결과까지.

  1. 폴더에 접근할 수 있는 위치에 Network Agent를 설치하고 커넥터가 해당 Agent를 가리키도록 설정하세요.
  2. 먼저 Test connection을 실행하세요. Agent가 찾은 항목의 지문을 생성해 가장 적합한 기본 제공 프로필을 제안합니다. 맞는 프로필이 있으면 선택하면 됩니다. 별도로 설명을 작성할 필요가 없습니다.
  3. 맞는 프로필이 없으면 형식을 직접 설명하세요. 레코드의 시작 위치, 사용할 여섯 가지 문법 중 하나, 타임스탬프 위치, 열 이름을 지정합니다.
  4. 순환 패턴을 선택하고, 타임스탬프에 연도가 없는 형식이라면 연도를 어디에서 가져올지 지정하세요. 그러면 해당 설명이 고정됩니다.
  5. 쿼리하세요. 테이블은 다른 모든 로그 커넥터와 똑같이 작동합니다. 제공된 형식을 읽는 동일한 드라이버를 사용하며, 저희가 제공한 형식 대신 사용자가 제공한 형식을 읽기 때문입니다.

Custom Logs 결과를 활용해 보세요.

하나의 연결로 스프레드시트, 앱, AI 도구를 사용할 수 있습니다. 저장된 쿼리를 실행할 권한을 공유하세요. 수신자는 허용된 결과만 볼 수 있으며 SQL과 소스 로그인 정보는 숨겨집니다.

귀사 팀, 협력업체 및 파트너 여러분께

실시간 Custom Logs 결과를 워크시트로 바로 가져오고 필요할 때 새로 고치세요 — 데스크톱 Excel, Excel Online, Microsoft 365에서 사용할 수 있습니다.

Excel 살펴보기

동료, 공급업체, 파트너 등 누구와나 실시간 Custom Logs 결과를 공유하세요 — 북마크할 수 있는 그리드로 제공되며, 휴대폰, 태블릿, 데스크톱에서 열 때마다 최신 데이터를 다시 가져옵니다. 상대방은 결과만 볼 수 있고 SQL이나 파일은 볼 수 없습니다.

데이터 뷰어 작동 방식

앱 및 시스템용

Custom Logs 쿼리를 인증된 JSON 엔드포인트로 게시하면 어떤 애플리케이션에서든 호출할 수 있습니다. OpenAPI 3.1 사양과 바로 사용할 수 있는 Postman, Insomnia, Hoppscotch 컬렉션도 제공됩니다. 데이터베이스 포트는 열리지 않습니다.

REST API 살펴보기

생성된 Power Query M을 Power BI 고급 편집기에 붙여 넣으면 보고서가 HTTPS를 통해 실시간 Custom Logs 결과를 읽습니다 — ODBC 드라이버가 필요 없고 데이터베이스 포트도 열리지 않습니다.

Power BI 살펴보기

AI 도구의 경우

AI 어시스턴트에 올바른 SQL을 작성하는 데 필요한 스키마와 함께 Custom Logs에 대한 읽기 전용 액세스 권한을 부여하세요 — 채팅에 자격 증명을 입력할 필요가 없습니다.

MCP 살펴보기

사람들에게 전달됨

Custom Logs를 나머지 데이터와 결합하세요.

데이터베이스, 비즈니스 API, 파일, 로그를 하나의 읽기 전용 쿼리로 가져오세요. 모든 커넥터에서 페더레이션 쿼리를 지원합니다.

연결과 테이블의 이름을 지정하세요. Query Streams가 소스 쿼리를 처리하고 결과를 결합합니다.

페더레이션 쿼리 살펴보기
소스 간 쿼리 예시
-- 아무것도 복사되지 않았고, 아무것도 병합되지 않았으며, 아무것도 예약되지 않았습니다.
선택   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
FROM     customlogs.fileset.orders1 f
JOIN     pg_crm.공개.고객2   c ON c.id = f.customer_id
JOIN     청구.stripe.invoices3   i ON i.customer = c.stripe_id
그룹 기준 c.지역
주문 기준 청구서 발행 DESC;

사용자 연결, 스키마, 테이블 및 열 이름을 사용하세요.

커넥터 제품군 전반에 공통으로 적용됩니다.

모든 로그 커넥터는 다음 항목도 제공합니다.

  • events — 파싱된 각 줄을 한 행으로 제공하며, 타임스탬프, 문법에 지정된 필드, 해당 줄이 들어 있던 파일을 나타내는 _source_file을 포함합니다.
  • events_raw_lines — 문법에 일치하지 않은 줄을 버리지 않고 원문 그대로 보관합니다. 예상하지 못한 형식도 여전히 쿼리로 답을 찾을 수 있습니다.
  • files_current 및 files_events — 현재 파일 목록과 감사 추적 정보입니다. 어떤 파일이 나타났고, 로테이션되었고, 사라졌는지, 또 보류된 항목이 있는지와 파일명 및 사유를 보여 줍니다.
  • 회전을 우회하는 대신 이해합니다 — 이름이 지정된 회전 패턴 10가지와 회전되지 않은 일반 파일을 지원하므로, 어제의 로그와 압축 아카이브도 오늘의 로그와 동일한 테이블로 조회할 수 있습니다.

알아두면 좋겠네요.

  • 읽기 전용이 강제됩니다 — 한 번에 하나의 문장만 실행하며 SELECT와 관련 문장만 허용됩니다. 당사는 로그를 쓰거나, 이동하거나, 회전하거나, 잘라내지 않습니다.
  • 업로드되는 항목은 없습니다 — 에이전트 옆의 사용자 컴퓨터에서 로그 행을 파싱하고 암호화된 상태로 캐시합니다. 쿼리 결과만 네트워크 밖으로 나갑니다.
  • 새 바이트만 읽습니다 — 에이전트는 파일을 다시 읽는 대신 각 파일에서 이전에 읽은 위치부터 계속 처리하므로, 로그가 바쁘게 기록되어도 매일 추가 비용이 발생하지 않습니다.
  • SQL 방언은 DuckDB입니다. 다른 커넥터에서 작성하는 SQL과 동일합니다.

Custom Logs 관련 질문

Custom Logs 쿼리 결과는 어디에서 사용할 수 있나요?

Custom Logs 결과는 Excel, Google Sheets, Data Viewer, Database REST API를 통한 앱, MCP 또는 Nova를 통한 AI 도구에서 사용할 수 있습니다. 저장된 결과는 지원되는 Automation 대상, 보고서 및 알림에도 제공됩니다. 대상의 사용 가능 여부와 허용량은 요금제에 따라 다릅니다.

Custom Logs를 사용하려면 인바운드 포트를 열어야 하나요?

아니요. Custom Logs에 접근할 수 있는 컴퓨터에 Network Agent를 설치하세요. Agent는 Query Streams에 아웃바운드로 연결되므로 인바운드 포트나 VPN이 필요하지 않습니다. 단, 소스는 자체 액세스 규칙에 따라 Agent 컴퓨터의 연결을 허용해야 합니다.

Custom Logs 파일이 업로드되나요?

Network Agent는 파일이 있는 위치에서 파일을 읽고 에이전트 머신에 캐시를 보관합니다. 원본 파일은 업로드되거나 이동되거나 다시 쓰이지 않습니다. 요청된 쿼리 결과만 아웃바운드 암호화 연결을 통해 네트워크 밖으로 전송됩니다.

Custom Logs를 연결하려면 무엇이 필요한가요?

폴더: 텍스트 로그가 있는 임의의 폴더 — 로컬 디스크 또는 \\server\share 형식으로 입력한 네트워크 공유(매핑된 드라이브 문자는 사용할 수 없습니다. Linux 또는 Mac에서는 먼저 마운트해야 합니다). 하위 폴더 포함. 포함 및 제외 패턴 지원. 문법: 구분 기호 기반, key = value, grok, JSON Lines, #Fields 헤더 지시문, 고정 폭. 레코드 경계: 원하는 대로 설정할 수 있습니다 — 레코드당 한 줄, 패턴, 고정 개수, 빈 줄 또는 센티널을 지정하여 여러 줄 레코드가 온전하게 유지되도록 합니다. 타임스탬프: 위치와 형식을 지정합니다. 줄에 연도가 없으면 파일 수정 시간이나 파일 이름에서 가져올 수 있습니다.

Custom Logs를 다른 연결된 소스와 조인할 수 있나요?

예. 페더레이션 쿼리는 데이터베이스, 비즈니스 API, 파일, 로그를 포함한 모든 커넥터 유형을 지원합니다. 하나의 읽기 전용 쿼리에서 연결과 테이블의 이름을 지정하세요. Query Streams가 필요에 따라 각 소스에 맞게 쿼리를 변환하고 결과를 결합합니다. 페더레이션 쿼리 작동 방식 알아보기.

내장 프로필 대신 이 기능을 언제 사용해야 할까요?

다른 방식이 적합하지 않을 때 사용하세요. 기본 제공 프로필은 장비 컨트롤러, 웹 서버, 컨테이너, 애플리케이션 프레임워크, 시스템 로그를 지원하며, 각각 실제 파일을 대상으로 작성하고 테스트했습니다. 따라서 로그가 해당 유형이라면 직접 설명을 작성하는 것보다 프로필을 선택하는 편이 더 간편하고 테스트도 잘 되어 있습니다.

결정하기 전에 연결 테스트를 실행하세요. 에이전트는 제공된 프로필과 파일 형식을 비교하여 가장 유사한 프로필을 제공합니다. 따라서 결과는 추측이 아닌 실제 파일 정보를 기반으로 합니다. 테스트 결과가 없는 경우 설명을 참조하세요.

정규 표현식을 알아야 하나요?

일반적으로는 그렇지 않습니다. 6가지 문법 중 5가지는 패턴이 전혀 필요하지 않습니다. 구분자로 구분된 파일은 구분자가 필요하고, 키=값 파일은 그 자체로 내용을 설명하며, JSON 줄은 그 자체로 내용을 설명하고, 헤더 지시문은 자체적으로 열 이름을 지정하며, 고정 너비는 열당 시작 위치와 길이를 지정해야 합니다.

Grok은 여섯 번째 방식이며, 정말 까다로운 행을 처리할 수 있는 대안입니다. 그래도 대부분 타임스탬프, 수준, 나머지 부분 등 이름이 지정된 요소를 조합하면 됩니다. 기본 제공 프로필에 사용된 패턴 라이브러리를 활용할 수 있으므로 빈 줄에서 시작할 필요가 없습니다.

설명을 처음부터 완벽하게 해야 하나요?

아니요, 기본 설정이 되어 있어서 따로 설정할 필요가 없습니다. 별도의 설정 없이도 거의 모든 텍스트 파일의 첫 번째 동기화가 성공적으로 완료됩니다. 메시지 줄마다 하나의 열을 만들고 이벤트 시간은 파일 수정 시간에서 가져옵니다. 그러면 실제로 확인할 수 있는 작동하는 테이블을 얻을 수 있습니다.

그런 다음 세부 조정하면 됩니다. 미리 보기에서 설명이 실제 로그 행에 어떻게 적용되는지 보여 주므로 심각도나 작업 번호를 별도 열로 추출하고 적용하기 전에 결과를 확인할 수 있습니다. 나중에 변경한 뒤 다시 동기화해도 됩니다 — 그동안 데이터가 버려지지는 않습니다.

이벤트가 여러 줄에 걸쳐 발생하는데, 스택 트레이스를 처리할 수 있을까요?

네, 이 설정을 가장 많이 사용합니다. 레코드가 반드시 한 줄일 필요는 없습니다. 패턴과 일치하는 줄이 나올 때마다 레코드가 시작되도록 설정할 수 있습니다. 보통 줄 맨 앞에 있는 타임스탬프를 기준으로 삼으며, 다음 일치 항목이 나올 때까지 그 뒤의 모든 내용이 해당 레코드에 속합니다.

만약 원하는 모양이 아니라면, 경계를 그리는 다른 다섯 가지 방법이 있습니다. 레코드 사이에 빈 줄을 넣거나, 시작 및 종료 표시를 하거나, 연속 줄로 간주하는 규칙을 정하거나, 줄 수를 고정하는 것입니다. 20줄 예외의 경우, 전체 추적 내용이 포함된 한 줄로 표시됩니다.

만약 해당 라인에 타임스탬프가 전혀 없다면 어떻게 될까요?

이것이 기본 설정이며 잘 작동합니다. 시간 필드가 지정되지 않으면 이벤트 시간은 파일 수정 시간에서 가져옵니다. 따라서 행은 계속 정렬되고 보존 기간도 적용됩니다. 다만 시간의 정확도는 각 줄이 아니라 파일 기준입니다.

시간이 줄 안에서 두 필드로 나뉘어 있다면 — 고정 폭 파일과 구분 기호 기반 파일에서 흔히 볼 수 있는 날짜 열과 시간 열의 조합 — 두 필드를 모두 지정하여 하나의 타임스탬프로 합칠 수 있습니다.

어떤 인코딩 방식을 선택해야 할까요?

UTF-8은 최근 10년 동안 작성된 대부분의 파일에 적합한 형식입니다. UTF-8은 기본값이 없는 유일한 필드인데, 이는 의도적인 것입니다. Latin-1 파일에서 UTF-8을 사용하면 오류가 발생하지 않더라도 모든 악센트 문자를 조용히 손상시키며, 이러한 조용한 손상은 한 번이라도 오류를 묻는 것보다 훨씬 더 심각한 문제를 야기합니다.

확실하지 않다면 미리 보기에서 확인할 수 있습니다. 인코딩이 잘못되면 샘플 행에 즉시 깨진 문자로 표시됩니다. UTF-8이 아닌 인코딩이 필요한 일반적인 경우는 구형 Windows 소프트웨어와 산업용 장비입니다.

제 형식을 기본 제공 형식으로 추가해 주실 수 있나요?

저희에게 요청하세요. 적당히 많은 사람이 사용하는 형식, 예를 들어 상용 제품, 널리 쓰이는 프레임워크, 산업용 장비라면 모든 고객이 같은 내용을 직접 설명하도록 하기보다 기본 제공 프로필로 제공하는 편이 낫습니다. 커넥터에서 바로 요청을 제출할 수 있습니다.

내장형 커넥터는 저희뿐만 아니라 여러분에게도 더 좋습니다. 에이전트에 고정되어 있고 실제 캡처 데이터를 기반으로 테스트되었으며, 커넥터를 직접 수정할 필요 없이 에이전트 업데이트와 함께 서버에 배포됩니다.

일치하지 않는 줄은 어떻게 되나요?

해당 데이터는 삭제되지 않고 보존됩니다. 문법이 맞지 않는 행은 이유가 첨부된 원시 행으로 유지되므로, 특이한 입력값, 변경된 형식 또는 아직 완벽하지 않은 설명은 데이터에서 누락된 부분이 아니라 확인하고 조회할 수 있는 항목으로 표시됩니다.

이 안전망 덕분에 설명을 안심하고 세부 조정할 수 있습니다. 데이터를 버리는 엄격한 파서와 텍스트가 한가득 나오는 느슨한 파서 중 하나를 선택할 필요가 없습니다. 파싱된 행은 형식이 지정되고, 파싱되지 않은 내용도 함께 남아 있습니다.

업무가 이루어지는 곳에서 Custom Logs를 사용하세요.

Free로 시작하세요. 모든 커넥터 유형, 데이터 소스 2개, Network Agent 1개를 이용할 수 있습니다. 필요에 따라 요금제 이용 한도를 추가하세요.