IBM Cloud Docs
Data Engine 서비스를 사용하여 아카이브 데이터 검색

Data Engine 서비스를 사용하여 아카이브 데이터 검색

' Data Engine ' 서비스를 사용하여 ' IBM Cloud'의 ' Object Storage (COS) 버킷에 저장된 ' Log Analysis ' 아카이브 파일을 쿼리할 수 있습니다.

2024년 3월 28일 현재IBM Log Analysis 그리고IBM Cloud Activity Tracker 서비스는 더 이상 사용되지 않으며 2025년 3월 30일부터 더 이상 지원되지 않습니다. 고객은 2025년 3월 30일 이전에 이 두 서비스를 대체하는 IBM Cloud Logs로 마이그레이션해야 합니다. IBM Cloud Logs에 대한 자세한 내용은 IBM Cloud Logs 문서 에서 확인할 수 있습니다.

IBM Cloud services integration scenario
Example services integration scenario.

각 Log Analysis 인스턴스는 웹 UI를 통해 데이터를 조회할 수 있는 일 수를 나타내는 연관된 서비스 플랜을 제공합니다. 이 기간 이후에 데이터에 액세스하려면 Log Analysis 인스턴스에서 보관을 사용하도록 설정해야 합니다.

  • 아카이브를 사용으로 설정하면 시간별로 아카이브 파일이 작성됩니다. 이 파일은 해당 시간에 대한 정보를 포함합니다. 각 파일에 포함될 레코드를 판별하는 데는 UTC 시간소인이 사용됩니다.
  • 파일 이름은 Log Analysis 인스턴스의 ID와 파일에 포함된 레코드의 날짜로 구성됩니다.
  • IBM Cloud의 동일한 계정 또는 다른 계정에서 사용 가능한 COS 버킷에 로깅 데이터를 아카이브할 수 있습니다.

Data Engine 서비스를 IBM Cloud 실행하고 나면 REST API 또는 Python ' ibmcloudsql ' 라이브러리를 사용하여 프로그래밍 방식으로 SQL Query 사용자 인터페이스를 사용하여 즉시 데이터 쿼리를 시작할 수 있습니다.

로그를 조회할 때 다음 정보를 고려하십시오.

  • Data Engine 서비스의 인스턴스를 프로비저닝해야 합니다.
  • 해당 인스턴스에 대해 작업하려면 사용자 액세스를 제한해야 합니다. UI를 실행하려면 플랫폼 역할 뷰어가 필요하고, 조회를 실행하려면 서비스 역할 작성자가 필요합니다. 역할에 대한 자세한 정보는 필수 사용자 역할 을 참조하십시오.
  • UI를 열면 Data Engine 서비스에서 고유 COS 버킷을 자동으로 생성하여 SQL 조회의 모든 결과를 CSV 파일로 저장합니다.

쿼리를 개발 및 테스트하려면 Data Engine 사용자 인터페이스(UI)를 사용하고, 쿼리를 자동화하려면 SQL Query REST API를 사용하세요.

Data Engine를 사용하면 SQL 조회(즉, SELECT 문)를 실행하여 구조화된 데이터 및 반 구조화된 데이터를 분석, 변환하거나 테이블 데이터(rectangular data)를 정리할 수 있습니다. CREATE, DELETE, INSERT, UPDATE 등의 조치를 실행할 수는 없습니다. Data Engine 서비스는 CSV, JSON, ORC, Parquet 또는 AVRO 파일에서 읽어들이는 입력 데이터를 처리할 수 있습니다.

Log Analysis 인스턴스의 아카이브 파일에는 JSON 형식의 데이터가 포함되어 있습니다.

  • 로그 데이터가 이기종 데이터 유형의 직사각형 데이터로 구성된 경우 데이터를 성공적으로 조회하려면 형식을 파티션된 JSON 오브젝트 로 변환해야 합니다.
  • 로그 데이터가 동종 데이터 유형의 직사각형 데이터로 구성된 경우 데이터를 성공적으로 조회하고 더 나은 성능을 얻으려면 형식을 PARQUET 로 변환해야 합니다. Parquet은 원래 데이터의 스키마를 보존하면서 중첩된 데이터 구조를 일반 열 형식으로 저장하는 오픈 소스 파일 형식입니다.
  • 각 조회 결과는 선택한 Object Storage 인스턴스의 CSV, JSON, ORC, PARQUET 또는 AVRO 파일에 기록할 수 있습니다.

자세한 정보는 Data Engine 개요 를 참조하십시오.

전제조건

Data Engine 쿼리 서비스를 사용하여 보관된 이벤트 파일을 쿼리하려면 다음 전제 조건을 확인하세요:

  • 로깅 데이터가 사용 가능한 COS 인스턴스에 대한 액세스 권한이 있어야 합니다.

    Log Analysis 아카이브 파일이 포함된 버킷 및 조회 결과를 저장하는 데 사용할 버킷에 액세스할 수 있어야 합니다.

  • 아카이브가 IBM Cloud 의 COS 버킷으로 구성된 계정에 프로비저닝된 Log Analysis 인스턴스가 있어야 합니다.

  • 최소 한 개 이상의 아카이브 파일이 버킷에 업로드되어 있어야 합니다.

  • 아카이브 파일이 업로드되는 COS 버킷에서 데이터를 볼 수 있도록 최소 플랫폼 역할이 독자인 COS 서비스에 대한 정책이 있어야 합니다.

  • 결과 파일(출력 데이터가 포함된 파일)을 쓸 수 있도록 COS 버킷 하나에 대해 최소한 작성자 액세스 권한이 있는 COS 인스턴스에 정책이 있어야 합니다.

  • Data Engine 서비스를 사용하여 데이터를 조회할 수 있는 권한이 있어야 합니다. 역할에 대한 자세한 정보는 필수 사용자 역할 을 참조하십시오.

1단계. Data Engine 인스턴스 프로비저닝

인스턴스를 프로비저닝하려면 Data Engine 서비스 인스턴스 작성을 참조하십시오.

지원되는 지역 목록을 보려면 가용성 구역 을 참조하십시오.

2단계. 사용자에게 조회 실행 권한 부여

SQL 조회 서비스를 사용하여 조회를 실행하려면 사용자에게 플랫폼 역할과 서비스 역할이 필요합니다. 역할에 대한 자세한 정보는 필수 사용자 역할 을 참조하십시오.

다음 표는 SQL 조회를 실행하기 위해 사용자에게 지정할 수 있는 역할과 조치를 보여줍니다.

플랫폼 역할
플랫폼 조치 관리자 편집자 운영자 뷰어
View details of the Data Engine service instance 체크표시 아이콘 체크표시 아이콘 체크표시 아이콘 체크표시 아이콘
서비스 역할
서비스 조치 관리자 작성자 독자
Run an SQL query 체크표시 아이콘 체크표시 아이콘

서비스 역할이 독자인 사용자가 SQL Query UI를 실행하면 액세스 오류가 표시됩니다.

IAM 정책을 사용하여 사용자에 대한 액세스를 관리하거나 새 액세스를 지정하려면 계정 소유자, 계정의 모든 서비스에 대한 관리자 또는 특정 서비스나 서비스 인스턴스의 관리자여야 합니다.

IBM Cloud에서 IAM 정책을 관리하려면 다음 조치 중 하나를 선택하십시오.

3단계. Data Engine UI를 통해 조회 실행

SQL에서 조회라는 용어는 SELECT문을 나타내는 또 다른 방법입니다.

조회를 실행하려면 다음 단계를 완료하십시오.

3.1단계. Data Engine 조회 UI 실행

  1. IBM Cloud 계정에 로그인하십시오.

    사용자 ID와 비밀번호로 로그인하면 IBM Cloud 대시보드가 열립니다.

  2. 메뉴 아이콘 메뉴 아이콘 > 리소스 목록 > 서비스를 클릭합니다.

  3. Data Engine 인스턴스를 선택하십시오.

  4. 관리 탭에서 Data Engine UI 실행을 선택하십시오.

Data Engine 조회 UI가 열리면 COS 버킷이 자동으로 생성됩니다. 이 버킷은 기본적으로 Data Engine 서비스에서 SQL 조회 결과를 저장하는 데 사용됩니다.

조회를 실행할 때 결과를 저장할 사용자 정의 버킷을 지정할 수 있습니다. 조회에 버킷을 지정하지 않은 경우 기본 버킷이 사용됩니다.

3.2단계. COS에서 조회할 파일에 대한 정보 가져오기

다음 단계를 완료하십시오.

  1. IBM Cloud 대시보드에서 메뉴 아이콘 메뉴 아이콘 > 리소스 목록 > 저장소를 클릭합니다.

  2. 아카이브 파일이 포함된 버킷이 있는 Data Engine 인스턴스를 선택하십시오.

    Log Analysis 관리자에게 문의하여 COS 정보를 얻으십시오.

  3. 버킷을 선택하십시오.

  4. 버킷 이름을 선택하십시오. 버킷에 있는 아카이브 파일 목록을 볼 수 있습니다.

  5. 조회하려는 파일을 식별하십시오.

    파일 이름에는 Log Analysis 인스턴스의 ID및 날짜 (UTC 형식) 가 있습니다.

  6. 해당 파일에 대해 오브젝트 Data Engine URL 을 복사하십시오.

3.3단계. 조회 결과를 저장하는 데 사용되는 COS 버킷에 대한 정보 가져오기

다음 단계를 완료하십시오.

  1. COS 인스턴스 UI에서 버킷을 선택하십시오.

  2. 조회 결과를 저장하는 데 사용할 버킷 이름을 선택하십시오.

  3. 해당 버킷의 경우 SQL URL을 선택하십시오.

    URL을 보여주는 창이 열립니다.

  4. URL을 복사하십시오.

3.4단계. 아카이브 파일 변환

다음 단계를 완료하여 쿼리를 실행하여 콘텐츠를 JSON에서 분할된 JSON 객체로 변환합니다:

  1. Data Engine UI의 SQL 편집기 필드에 다음 SELECT 문을 입력하십시오.

    SELECT *, date_format(from_unixtime(_source._ts / 1000, 'yyyy-MM-dd HH:mm:ss'), 'yyyy') AS _year,
           dayofyear(from_unixtime(_source._ts / 1000, 'yyyy-MM-dd HH:mm:ss')) AS _dayofyear,
           date_format(from_unixtime(_source._ts / 1000, 'yyyy-MM-dd HH:mm:ss'), 'HH') AS _hour
    FROM SQL_URL STORED AS JSON
    INTO RESULTS_BUCKET STORED AS JSON PARTITIONED BY (_year, _dayofyear, _hour)
    

    여기서,

    • SQL_URL은 COS에 있는 아카이브 파일의 SQL URL입니다.

    • RESULTS_BUCKET은 조회 결과를 업로드하는 데 사용할 사용자 정의 COS 버킷의 SQL URL입니다.

    명령문에서 시간소인 정보는 각 행의 _ts 항목에서 캡처되며 연도, 일 및 시간 정보를 생성하는 데 사용됩니다. 결과는 지정된 파티셔닝을 Hive 스타일 파티셔닝으로 반영합니다. 예를 들어, 오브젝트 이름에 _hour=00 가 표시될 수 있습니다. 이는 해당 시간에 속하는 모든 로그 데이터가 해당 오브젝트에 포함됨을 의미합니다.

  2. 실행을 클릭하십시오.

    조회 결과는 UI의 결과 영역에서 볼 수 있습니다.

    대상 COS URL은 UI의 결과 위치 영역에서 볼 수 있습니다. 이 URL은 Data Engine에서 결과를 저장하는 데 사용하는 Object Storage 버킷을 가리킵니다.

    Lite 플랜을 사용할 경우 조회를 한 개만 실행할 수 있습니다. 유료 플랜을 사용할 경우 최대 5개의 조회를 동시에 실행할 수 있습니다.

  3. 결과 위치 URL을 복사하십시오. 해당 아카이브 파일에 포함된 데이터를 분석하기 위해 다른 쿼리를 실행하려면 이 정보가 필요합니다.

JSON에서 PARQUET로 컨텐츠를 변환하려면 다음 단계를 완료하여 조회를 실행하십시오.

  1. Data Engine UI의 SQL 편집기 필드에 다음 SELECT 문을 입력하십시오.

    SELECT * FROM cleancols(SQL_URL STORED AS JSON)
    INTO RESULTS_BUCKET STORED AS PARQUET
    

    여기서,

    • SQL_URL은 COS에 있는 아카이브 파일의 SQL URL입니다.

    • RESULTS_BUCKET은 조회 결과를 업로드하는 데 사용할 사용자 정의 COS 버킷의 SQL URL입니다.

    • 열의 이름에 특수 문자 또는 공백이 포함될 때 PARQUET 형식으로의 변환 문제점을 방지하려면 cleancols를 사용하십시오.

    예를 들어 다음 조회는 아카이브 파일을 변환하는 데 시용됩니다.

    SELECT * FROM cleancols(cos://ams03/at-eu-de/999999d8f1f.2019-06-03.62.json.gz STORED AS JSON)
    INTO cos://eu-de/results-at STORED AS PARQUET
    
  2. 실행을 클릭하십시오.

    조회 결과는 UI의 결과 영역에서 볼 수 있습니다.

    대상 COS URL은 UI의 결과 위치 영역에서 볼 수 있습니다. 이 URL은 Data Engine에서 결과를 저장하는 데 사용하는 Object Storage 버킷을 가리킵니다.

    Lite 플랜을 사용할 경우 조회를 한 개만 실행할 수 있습니다. 유료 플랜을 사용할 경우 최대 5개의 조회를 동시에 실행할 수 있습니다.

  3. 결과 위치 URL을 복사하십시오. 해당 아카이브 파일에 포함된 데이터를 분석하기 위해 다른 쿼리를 실행하려면 이 정보가 필요합니다.

변환 쿼리를 실행하면 COS 결과 버킷에 3개의 개체가 결과 집합으로 기록됩니다:

  1. jobid=<job_id>
  2. jobid=<job_id>/_SUCCESS
  3. jobid=<job_id>/<part-number>

한 개의 오브젝트에만 결과 세트(jobid=<job_id>/<part-number>)가 포함되어 있고, 다른 두 개는 아무 데이터도 포함되어 있지 않은 빈 오브젝트입니다.

결과 세트를 사용하려는 경우 어떤 파일도 삭제하지 않는 것이 중요합니다.

각 결과는 조회에 직접 결과를 사용할 수 있도록 고유한 작업 ID 접두부와 함께 저장됩니다.

결과를 SQL 조회에 입력으로 지정하려는 경우 첫 번째 오브젝트(jobid=<job_id>) 또는 세 번째 오브젝트(jobid=<job_id>/<part-number>)를 지정하십시오.

조회별로 작성된 결과 세트에 관해 자세히 알아보십시오.

3.5단계. 조회를 실행하여 지난 30일 동안의 오류 찾기

예를 들어, 최근 30일동안의 모든 ERROR 로그 행을 찾으려면 다음 명령을 실행하십시오.

SELECT _source.data
FROM RESULTS_BUCKET STORED AS JSON
where dayofyear(_dayofyear > current_date - INTERVAL 30 day) and _source.level = "ERROR"
LIMIT 50
INTO QUERY_RESULTS_BUCKET STORED AS JSON

여기서,

  • RESULTS_BUCKET 은 데이터를 파티션된 JSON 오브젝트로 변환한 후 조회 결과를 업로드하는 데 사용하는 사용자 정의 COS 버킷의 SQL URL입니다.

  • 쿼리 결과 버킷은 쿼리 결과를 업로드하는 데 사용하는 사용자 지정 COS 버킷의 SQL URL입니다

3.6단계. 조회를 실행하여 시간 범위 내의 모든 ERROR 로그 행 찾기

예를 들어, 7월 17th에 오전 7시와 오전 8시사이의 시간 프레임에서 모든 ERROR 로그 행을 찾으려면 다음 명령을 실행하십시오.

SELECT _source.data
FROM RESULTS_BUCKET STORED AS JSON
where _dayofyear=198 and _hour=07 and _source.level = "ERROR"
LIMIT 50
INTO QUERY_RESULTS_BUCKET STORED AS JSON

여기서,

  • RESULTS_BUCKET 은 데이터를 파티션된 JSON 오브젝트로 변환한 후 조회 결과를 업로드하는 데 사용하는 사용자 정의 COS 버킷의 SQL URL입니다.

  • 쿼리 결과 버킷은 쿼리 결과를 업로드하는 데 사용하는 사용자 지정 COS 버킷의 SQL URL입니다

EU 관리 계정

IBM Log Analysis 서비스를 사용하여 EU 지원 계정에서 생성된 로그를 관리하려면 다음 정보를 고려하십시오.

Data Engine는 COS에 저장된 데이터를 쉽게 조회할 수 있도록 서버리스 비ETL 솔루션을 제공합니다. 자세히 알아보십시오.

이 서비스를 사용하여 COS에 아카이브된 로깅 파일의 데이터를 분석할 수 있습니다.

IBM Cloud Data Engine 서비스를 실행하고 나면, REST API 또는 Python ' ibmcloudsql ' 라이브러리를 사용하여 프로그래밍 방식으로 SQL Query 사용자 인터페이스를 사용하여 데이터 쿼리를 즉시 시작할 수 있습니다.

로그를 조회할 때 다음 정보를 고려하십시오.

  • Data Engine 서비스의 인스턴스는 프랑크푸르트에서 프로비저닝해야 합니다.
  • 해당 인스턴스에 대해 작업하려면 사용자 액세스를 제한해야 합니다. UI를 실행하려면 플랫폼 역할 뷰어가 필요하고, 조회를 실행하려면 서비스 역할 작성자가 필요합니다.
  • UI를 열면 Data Engine 서비스에서 고유 COS 버킷을 자동으로 생성하여 SQL 조회의 모든 결과를 CSV 파일로 저장합니다. EU 지원 버킷을 사용하고 있는지 확인하려면 버킷을 작성하십시오. 결과를 저장할 사용자 정의 버킷을 지정할 수 있습니다.