데이터 조회

IBM Cloud Logs에서 Lucene 조회, DataPrime 조회를 사용하거나 IBM Cloud Object Storage (COS) 버킷에서 직접 데이터를 조회하여 로그 데이터를 조회할 수 있습니다. 조회에 필터를 적용할 수도 있습니다.

UI에서 데이터 조회

탐색 로그 페이지에서 다음을 수행할 수 있습니다.

필터링은 Lucene 또는 DataPrime 을 사용한 검색과 함께 사용할 수 있습니다.

조회를 정의한 후에는 보기를 작성하여 나중에 재사용할 수 있도록 조회를 저장할 수 있습니다. 자세한 정보는 사용자 정의 보기 작성 을 참조하십시오.

버킷에서 데이터 조회 시 고려사항

탐색기 로그 페이지에서 또는 아카이브 조회를 실행하여 데이터를 조회할 수 있습니다.

데이터 버킷에서 로그 데이터를 조회할 때 다음과 같은 고려사항이 있습니다.

  • 데이터 버킷에 저장된 데이터에는 ' 우선순위 인사이트, ' 분석 및 경보', ' 저장 및 검색 ' 데이터 파이프라인을 통해 수집된 데이터가 포함됩니다. 또한 라이브 테일에서 차단된 로그 보기 및 IBM Cloud Object Storage 아카이브 옵션이 활성화된 구문 분석 차단 규칙을 통해 일치하는 로그도 포함됩니다.
  • 버킷의 데이터를 유지보수합니다. 필요한 기간 동안 데이터를 보존하고 모든 로그 옵션을 선택하여 로그 페이지를 통해 데이터를 조회할 수 있습니다.
  • 필터링은 Lucene 또는 DataPrime 을 사용한 검색과 함께 사용할 수 있습니다.
  • 무제한 시간 프레임을 사용하여 데이터를 쿼리할 수 있습니다. 데이터가 이동할 수 있는 시간에 대한 제한사항은 없습니다. 데이터를 유지하고 유지하는 한 데이터에 액세스할 수 있습니다.
  • 로그 우선순위 및 일일 할당량에 관계없이 로그를 조회할 수 있습니다. 차단된 로그만 아카이브로 전송되지 않습니다.
  • 아카이브 조회를 사용하면 텍스트 또는 광범위한 구문 조회를 사용하여 아카이브에서 로그를 직접 조회할 수 있습니다. 로그 우선순위, 일일 할당량 또는 데이터의 시간 프레임에 관계없이 로그를 조회할 수 있습니다. 자세한 정보는 아카이브된 데이터 조회 를 참조하십시오.

탐색기를 통한 데이터 쿼리 제한사항

IBM® Cloud Logs에서 데이터를 쿼리할 때 한계가 있습니다.

조회 한계

쿼리 내 문자

쿼리에 포함할 수 있는 글자 수에는 제한이 있습니다.

  • 로그 보기의 쿼리에는 최대 3000자까지 포함할 수 있습니다.

  • 알림 쿼리 정의에는 최대 65,535자까지 포함할 수 있습니다. 알림 쿼리 정의도 최대 50개의 ANDOR 문으로 제한됩니다.

키워드 유형

키워드는 색인화 전에 분석기를 통과하지 않는 텍스트를 나타냅니다. 이 데이터 유형은 정규식, 집계 및 정렬에 적합합니다.

쿼리에서 키워드 데이터 유형을 사용하는 구문은 <fieldName>.keyword 입니다.

IBM Cloud Logs 필드가 256자보다 길면 키워드 유형을 만들 수 없습니다.

리턴된 결과

조회에서 리턴되는 최대 행 수는 우선순위 인사이트 또는 IBM Cloud Object Storage에 저장된 데이터에서 조회하는 경우에 따라 다릅니다.

  • 우선순위 인사이트 에서 리턴되는 최대 결과 수는 12K입니다.
  • IBM Cloud Object Storage ( 모든 로그를 사용하는 쿼리에서)에서 반환되는 최대 결과 수는 50K입니다.

스캔된 바이트

우선순위 인사이트 데이터에 대해 최대 100MB가 스캔됩니다. IBM Cloud Object Storage 에 저장된 데이터를 스캔할 때 한계가 없습니다.

속도 제한

분당 최대 10개의 쿼리를 제출할 수 있습니다.

요금 한도를 초과하면 HTTP 429가 반환됩니다.

아카이브 조회 제한사항

다음은 쿼리에 적용되는 제한사항입니다.

아카이브 쿼리 제한
제한사항 설명
처리된 바이트 수 매일 수집된 바이트의 최대 30%
Parquet 파일 최대 500K 개의 파일 스캔
복제 결과 아카이브 조회 실행 중 최대 1M 개의 결과
제한시간 초과 최대 5분의 쿼리 실행

또한 아카이브된 데이터를 조회할 때 다음 사항을 알고 있어야 합니다.

  • 아카이브 조회 페이지에서 동일한 조회 구문 (Lucene 또는 DataPrime) 을 사용할 수 있습니다.

  • 다른 탐색 쿼리와 비교할 때 아카이브된 데이터를 쿼리할 때 약간의 지연이 발생할 수 있습니다.

  • 한계에 도달하면 경고 메시지가 표시됩니다. 한계에 도달하지 않도록 조회 결과를 세분화하십시오.

아카이브 조회 결과 세분화

다음 방법을 사용하여 조회 결과를 세분화할 수 있습니다.

  • 조회에 더 많은 선택적 필터를 적용하십시오 (예: 애플리케이션 또는 서브시스템).

  • DataPrime extract 연산자를 사용하여 결과를 필터링하는 경우 구문 분석 규칙을 작성하고 대신 구문 분석된 필드를 필터링하십시오.

  • 필터에서 정규식 또는 와일드카드를 사용하지 마십시오.

  • ~ 안에 데이터프라임, 문자열에 포함 연산자 사용을 자유 텍스트 검색 연산자(~ ).

CLI를 사용하여 로그 데이터 쿼리

CLI를 사용하여 로그 데이터를 쿼리하는 방법에는 두 가지가 있습니다:

  • query
  • background-query-create

background-query-create 명령은 비동기 쿼리를 실행하는 반면 query 명령은 동기 쿼리를 실행합니다.

백그라운드 쿼리를 사용하면 쿼리를 실행하고 나중에 결과를 가져올 수 있습니다. 쿼리 결과가 준비되면 CLI 또는 API를 사용하여 결과를 파일로 다운로드할 수 있습니다.

백그라운드 쿼리를 통해 최대 1M 레코드까지 반환할 수 있습니다. query 명령은 50K 레코드를 반환하는 것으로 제한됩니다.

쿼리 CLI는 출력으로 logs-raw, logs-prettify, json 만 지원합니다. 기본값은 logs-raw입니다.

동기 쿼리 실행

명령을 실행하여 로그 데이터를 동기식으로 쿼리할 수 있습니다 ibmcloud logs query 명령을 실행하여 로그 데이터를 동기식으로 쿼리할 수 있습니다.

ibmcloud logs query --query QUERY --syntax QUERY_SYNTAX --metadata '{"start_date": START-DATE, "end_date": c, "syntax": SYNTAX , "limit": LIMIT, "strict-fields-validation": STRICT-FIELDS-VALIDATION, "tier": TIER}'

or

ibmcloud logs query --query QUERY --syntax QUERY_SYNTAX --start-date START-DATE --end-date END-DATE --syntax SYNTAX --limit 10

명령 옵션

--query (문자열)

실행할 쿼리입니다. 이는 필수 매개변수입니다.

쿼리 구문은 루씬 또는 데이터프라임 중 하나를 사용할 수 있습니다. 쿼리의 구문 또는 유형은 --syntax 매개 변수를 사용하여 설정합니다.

--metadata (문자열)

쿼리 실행을 위한 메타데이터입니다. 이 구성을 사용하여 쿼리 실행 매개변수를 제공합니다.

--start-date (문자열)

쿼리 시간 범위의 시작입니다. UTC ISO 8601 형식이어야 합니다(예: 2025-07-15T08:45:00Z). 기본값은 --end-date 값보다 15분 전입니다. --end-date 을 지정하지 않으면 기본값은 현재 시간 15분 전입니다.

--end-date (문자열)

쿼리 시간 범위의 끝입니다. UTC ISO 8601 형식이어야 합니다(예: 2025-07-15T08:45:00Z). 기본값은 --start-date 값에서 15분 후입니다. --start-date 이 정의되지 않은 경우 --end-date 은 현재 시간이고 --start-date 은 현재 시간 15분 전의 시간입니다.

--limit (int)

반환되는 레코드 수를 제한합니다. 지정하지 않으면 기본값은 2000입니다. 우선순위 인사이트 검색 시 반환되는 최대 레코드 수는 12000개입니다. 그렇지 않으면 반환되는 최대 레코드 수는 50000개입니다.

--syntax (문자열)

쿼리가 작성되는 구문입니다. 허용되는 값은 lucenedataprime 입니다.

--since (기간)

데이터를 쿼리할 때 현재 시간부터 되돌아볼 기간입니다. 이 플래그를 사용하면 metadata-start-datemetadata-end-date. 예를 들어 1h 은 지난 한 시간 동안의 데이터를 검색합니다(기본값 1h0m0s).

--tier (문자열)

쿼리가 실행되는 계층입니다. 허용되는 값은 다음과 같습니다: archive, frequent_search ( 우선순위 인사이트 ).

--output (문자열)

결과가 반환되는 출력 형식입니다. 유효한 값은 logs-raw, logs-prettifyjson 입니다.

ibmcloud logs query --query "Push and Query test" --metadata '{"start_date": "2025-06-16T12:00:00Z", "end_date": "2025-06-17T13:41:30Z","syntax": "lucene"}' --output logs-raw

query 명령은 metadata 매개변수 외부에서 --start-date, --end-date--syntax 도 지원합니다. 예를 들어, 다음과 같습니다.

ibmcloud logs query --query "source logs | filter \$d.text == 'Push and Query test'" --syntax dataprime --start-date 2025-08-03T12:00:00Z  --end-date 2025-08-04T13:41:30Z

백그라운드 쿼리 실행

로그 데이터를 비동기적으로 쿼리할 수 있습니다.

먼저 백그라운드 쿼리를 제출합니다. 그런 다음 다른 명령어와 함께 ID를 사용할 수 있습니다.

 ibmcloud logs background-query-create --query QUERY --syntax SYNTAX [--start-date START-DATE] [--end-date END-DATE] [--now-date NOW-DATE]

명령 옵션

--query (문자열)

실행할 쿼리입니다. 이는 필수 매개변수입니다.

쿼리 구문은 루씬 또는 데이터프라임 중 하나를 사용할 수 있습니다. 쿼리의 구문 또는 유형은 --syntax 매개 변수를 사용하여 설정합니다.

--syntax (문자열)

쿼리가 작성되는 구문입니다. 허용되는 값은 lucenedataprime 입니다.

--start-date (문자열)

쿼리 시간 범위의 시작입니다. UTC ISO 8601 형식이어야 합니다(예: 2025-07-15T08:45:00Z). 기본값은 --end-date 값보다 15분 전입니다. --end-date 을 지정하지 않으면 기본값은 현재 시간 15분 전입니다.

--end-date (문자열)

쿼리 시간 범위의 끝입니다. UTC ISO 8601 형식이어야 합니다(예: 2025-07-15T08:45:00Z). 기본값은 --start-date 값에서 15분 후입니다. --start-date 이 정의되지 않은 경우 --end-date 은 현재 시간이고 --start-date 은 현재 시간 15분 전의 시간입니다.

ibmcloud logs background-query-create --query "Push and Query test" --syntax lucene --start-date 2025-06-16T12:00:00Z --end-date 2025-06-17T13:41:30Z

DataPrime 구문을 사용한 예

ibmcloud logs background-query-create --query "source logs | filter \$d.text == 'Push and Query test'" --syntax dataprime --start-date 2025-08-03T12:00:00Z

백그라운드 쿼리의 상태 확인하기

백그라운드 쿼리 명령을 실행할 때 반환되는 ID를 사용하여 백그라운드 쿼리의 상태를 확인할 수 있습니다.

ibmcloud logs background-query-status --query-id QUERY-ID

명령 옵션

--query-id (strfmt.UUID)

백그라운드 쿼리 명령에서 반환된 쿼리 ID입니다. 필수.

값의 길이는 36자이며 정규식 /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/ 과 일치해야 합니다.

ibmcloud logs background-query-status --query-id 8b5e7151-da2b-4633-be8c-9b269bed2c81

백그라운드 쿼리의 결과 검색하기

백그라운드 쿼리 명령을 실행할 때 반환된 ID를 사용하여 백그라운드 쿼리의 쿼리 결과를 검색할 수 있습니다.

ibmcloud logs background-query-data --query-id QUERY-ID --output OUTPUT

명령 옵션

--query-id (strfmt.UUID)

백그라운드 쿼리 명령에서 반환된 쿼리 ID입니다. 필수.

값의 길이는 36자이며 정규식 /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/ 과 일치해야 합니다.

--output-file (문자열)

출력이 기록되는 파일의 경로를 지정합니다.

--output (문자열)

결과가 반환되는 출력 형식입니다. 유효한 값은 logs-raw, logs-prettify, json, yaml, tui 또는 table 입니다. 기본값은 table입니다.

ibmcloud logs background-query-data --query-id df47fff7-131d-41dc-9328-05489a93e27c --output logs-raw

백그라운드 쿼리 취소하기

백그라운드 쿼리 명령을 실행할 때 반환된 ID를 사용하여 백그라운드 쿼리를 취소할 수 있습니다.

ibmcloud logs background-query-cancel --query-id QUERY-ID --force

명령 옵션

--query-id (strfmt.UUID)

백그라운드 쿼리 명령에서 반환된 쿼리 ID입니다. 필수.

값의 길이는 36자이며 정규식 /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/ 과 일치해야 합니다.

--force|-f

사용자에게 추가 메시지를 표시하지 않고 명령을 실행합니다.

ibmcloud logs background-query-cancel --query-id df47fff7-131d-41dc-9328-05489a93e27c