이 문서에서는 로그 데이터의 패턴 및 추세를 식별할 수 있는 로그 애널리틱스 쿼리 결과를 차트로 만드는 방법을 설명합니다. 로그 애널리틱스를 사용하면 SQL 쿼리를 사용하여 로그를 검색하고 집계하여 유용한 정보를 생성할 수 있습니다.
쿼리를 실행한 후 쿼리 결과를 테이블에서 보거나 차트로 변환할 수 있습니다. 예를 들어 로그에서 생성되는 심각도 유형을 확인하려면 지난 12시간 동안 생성된 로그 수를 표시하는 차트를 만들고 severity
로 로그를 분석합니다. 다음 스크린샷은 여러 심각도 유형으로 분류된 데이터 포인트를 보여줍니다.
시작하기 전에
-
로그 애널리틱스를 사용하여 쿼리를 실행하고 로그를 보고 차트를 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
_Required
및_Default
로그 버킷을 쿼리하려는 경우: 로그 뷰어(roles/logging.viewer
) -
커스텀 로그 버킷을 쿼리하려는 경우:
로그 뷰 접근자(
roles/logging.viewAccessor
) -
(선택사항) 대시보드에 차트를 저장하려는 경우:
모니터링 편집자(
roles/monitoring.editor
)
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
-
쿼리하려는 로그 뷰의 경우 로그 스토리지 페이지로 이동하고 해당 로그 뷰를 저장하는 로그 버킷이 로그 애널리틱스를 사용하도록 업그레이드되었는지 확인합니다. 필요한 경우 로그 버킷을 업그레이드합니다.
Google Cloud 콘솔에서 로그 스토리지 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
선택사항: BigQuery 데이터 세트를 사용하여 로그 데이터를 쿼리하려면 연결된 BigQuery 데이터 세트를 만듭니다.
차트로 표시할 데이터 선택
차트에 표시할 데이터를 구성하려면 SQL을 사용하여 쿼리를 빌드합니다. 차트 탭을 선택하면 Logging이 쿼리 결과를 기반으로 차트를 자동으로 생성합니다. 쿼리가 실행되고 차트가 생성된 후 차트 유형을 변경하고 다른 데이터를 볼 열을 선택하여 차트 구성을 맞춤설정할 수 있습니다.
쿼리 결과를 차트로 보려면 다음을 수행하여 쿼리를 실행합니다.
-
Google Cloud 콘솔에서 로그 분석 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
쿼리 창에서 쿼리를 입력한 후 실행을 클릭합니다.
쿼리가 완료되면 결과 탭에서 쿼리 결과를 볼 방법을 선택합니다.
테이블: 쿼리 결과의 테이블만 봅니다.
차트: 쿼리 결과의 차트만 봅니다.
둘 다: 표와 차트를 모두 나란히 봅니다.
차트 또는 둘 다 탭을 선택한 경우 차트 유형을 변경하고 차트로 작성할 행과 열을 맞춤설정하여 차트 구성을 맞춤설정할 수 있습니다. 차트 구성에 대한 자세한 내용은 차트 구성 맞춤설정을 참조하세요.
차트 구성 맞춤설정
차트 유형을 변경하고, 차트에서 측정기준을 선택하고 측정하거나, 분류를 적용하여 차트 구성을 맞춤설정할 수 있습니다. 측정기준은 행을 그룹화하거나 분류하는 데 사용되며 X축 값입니다. 측정 또는 Y축 값은 Y축을 기준으로 표시되는 데이터 계열입니다.
차트 유형 변경
측정기준 및 측정으로 선택한 행과 열의 종류 및 해당 데이터를 시각화하는 방법에 따라 다음 차트 유형 중에서 선택할 수 있습니다.
막대 그래프(기본값)
막대 그래프는 데이터를 두 축에 표시합니다. 차트에서 카테고리 또는 문자열을 측정기준으로 사용하는 경우 막대 차트의 차트 구성을 가로 또는 세로로 설정할 수 있으며 여기서 측정기준 및 측정 축이 전환됩니다.
선 차트
선 차트를 사용하여 시간 경과에 따른 데이터 변경사항을 표시할 수 있습니다. 선 차트를 사용하면 각 시계열이 선택한 측정값에 해당하는 다른 선으로 표시됩니다.
X축이 시간 기준인 경우 각 데이터 포인트가 시간 간격의 시작 부분에 배치됩니다. 각 데이터 포인트는 선형 보간으로 연결됩니다.
영역 차트 영역 차트는 선 차트를 기반으로 하며 각 선 아래의 영역은 음영 처리됩니다. 영역 차트에서 데이터 계열이 누적됩니다. 예를 들어 동일한 계열이 2개 있는 경우 선 차트에서는 계열이 겹치지만 음영 처리된 영역은 영역 차트에 누적됩니다.
원형 차트
원형 차트는 원을 사용하여 전체 데이터 세트를 나타내고 원의 웨지로 데이터 세트의 카테고리를 표현함으로써 데이터 세트의 카테고리가 전체 데이터 세트와 어떻게 관련되는지 보여줍니다. 웨지 크기는 카테고리가 전체에 기여하는 정도를 백분율로 주로 나타냅니다.
게이지 및 스코어카드
게이지와 스코어카드는 색상으로 구분된 기준점 집합과 비교하여 가장 최근의 측정값을 보여줍니다. 게이지는 최근 측정값만 표시하고 스코어카드는 최근 측정값 기록도 표시합니다. 이러한 위젯도 색상으로 구분됩니다. 가장 최근 값이 예상 범위에 있으면 데이터가 녹색으로 표시됩니다. 값이 경고 범위에 있으면 데이터가 주황색으로 표시됩니다. 마찬가지로 값이 위험 범위에 있으면 빨간색으로 표시됩니다.
게이지 또는 스코어카드를 사용하여 쿼리 결과를 표시할 때 분류를 지정할 수 없습니다.
측정기준 및 측정 변경
측정기준 및 측정 필드를 선택하여 차트로 만들 행과 열을 선택할 수 있습니다.
측정기준
측정기준은 타임스탬프, 숫자, 문자열 열이어야 합니다. 기본적으로 측정기준은 스키마의 첫 번째 타임스탬프 기반 열로 설정됩니다. 쿼리에 타임스탬프가 없으면 첫 번째 문자열 열이 측정기준으로 선택됩니다. 차트 표시 패널에서 측정기준을 맞춤설정할 수도 있습니다. 타임스탬프 열을 측정기준으로 선택하면 차트에 시간 경과에 따른 데이터 변화가 표시됩니다.
기본적으로 타임스탬프 간격은 자동으로 설정되지만 커스텀 간격을 선택할 수도 있습니다. 자동 간격은 비슷한 크기의 그룹을 유지하기 위해 시간 범위 선택기에 따라 값을 변경합니다.
또한 간격을 사용 중지하여 보다 복잡한 분석을 위해 쿼리 내에서 자체 집계 및 시간 범위를 지정할 수 있습니다. 간격을 사용 중지하면 측정의 집계 함수가
none
으로 설정됩니다. 측정기준 간격이 사용 중지된 경우 숫자 측정만 허용됩니다.측정
차트 표시 패널에서 여러 측정을 선택할 수 있습니다. 측정을 선택할 때는
count
,sum
,average
,percentile-99
와 같이 그룹화된 값에 수행할 집계 함수도 선택해야 합니다. 예를 들어count-distinct
는 지정된 열에서 고유한 값 수를 반환합니다.측정기준에 간격 사용 중지 체크박스를 선택하면
none
집계 함수 옵션을 사용할 수 있습니다. 측정기준이 문자열 값이면 간격 사용 중지 체크박스가 표시되지 않습니다. 하지만 측정의 집계 함수를none
으로 설정하면 간격이 사용 중지됩니다.
분류 추가
단일 데이터 계열을 다른 열을 기준으로 여러 데이터 계열로 분할하려면 분류를 추가합니다.
분류를 선택할 때는 textPayload
와 같이 다수의 문자열이나 긴 문자열이 포함될 수 있는 필드 대신 region_name
과 같이 짧고 의미 있는 라벨의 작은 열이 포함된 열을 선택합니다.
예를 들어 측정기준 필드가 유형으로 설정되고 측정 필드가 행 수 계산으로 분류 필드가 심각도로 설정된 다음 차트 구성을 참조하세요.
다음 차트는 분류가 추가된 차트의 예시입니다.
이전 스크린샷에는 리소스 유형 k8s_container
가 서로 다른 severity
유형으로 분할된 누적 데이터 계열이 표시됩니다. 이를 통해 특정 리소스에서 생성된 각 심각도 유형의 로그 수를 식별할 수 있습니다.
차트를 커스텀 대시보드에 저장
쿼리에서 차트가 생성된 후 해당 차트를 커스텀 대시보드로 저장합니다. 커스텀 대시보드를 사용하면 다양한 위제 유형을 사용하여 사용자에게 유용한 정보를 표시하고 구성할 수 있습니다. 예를 들어, Cloud Storage 버킷의 사용에 대한 자세한 정보를 제공하는 대시보드를 만들 수 있습니다.
차트를 대시보드에 저장하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 로그 분석 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
쿼리를 실행하여 차트를 생성한 후 차트 탭에서 차트 저장을 클릭합니다.
대시보드에 저장 대화상자에서 차트 제목을 입력하고 차트를 저장할 대시보드를 선택합니다.
선택사항: 커스텀 대시보드를 보려면 토스트 메시지에서 대시보드 보기를 클릭합니다.
로그 애널리틱스 SQL 쿼리로 생성된 차트가 포함된 커스텀 대시보드 목록을 보려면 차트 저장 버튼으로 이동하고 arrow_drop_down 메뉴를 클릭합니다.
커스텀 대시보드에 저장된 차트 수정하기
대시보드에 저장된 로그 애널리틱스 SQL 쿼리로 생성된 차트를 수정하려면 위젯 구성 수정을 참조하세요. 위젯 구성 대화상자에서 차트를 생성하는 데 사용되는 쿼리를 편집하거나, 차트 구성을 맞춤설정하여 다른 데이터를 시각화할 수 있습니다.
제한사항
Google Cloud 프로젝트가 Assured Workloads를 사용하는 폴더에 있는 경우 생성한 차트를 커스텀 대시보드에 표시할 수 없습니다.
대시보드 수준 필터는 로그 애널리틱스 SQL 쿼리에서 생성된 차트에는 적용되지 않습니다.
샘플 쿼리
이 섹션에서는 쿼리 결과를 차트로 표시하는 샘플 SQL 쿼리를 제공합니다. 로그에서 유용한 정보를 더 얻기 위해 차트 구성을 맞춤설정합니다. 샘플 쿼리를 사용하려면 다음을 수행하세요.
-
Google Cloud 콘솔에서 로그 분석 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
기본 쿼리를 실행하여 로그 뷰의 테이블 이름을 식별합니다.
로그 뷰 목록에서 로그 뷰를 찾은 후 쿼리를 선택합니다. 쿼리 창에는 쿼리되는 테이블의 이름이 포함된 기본 쿼리가 채워집니다. 테이블 이름은
project_ID.region.bucket_ID.view_ID
형식입니다.기본 쿼리에 액세스하는 방법에 대한 자세한 내용은 로그 뷰 쿼리를 참조하세요.
TABLE을 쿼리하려는 뷰에 해당하는 테이블의 이름으로 바꾼 다음 쿼리를 복사합니다.
쿼리 창에 쿼리를 붙여넣은 다음 쿼리 실행을 클릭합니다.
위치 및 심각도별 로그 항목 차트
다음 쿼리는 위치 변환을 문자열로 사용하여 location
및 severity
를 선택합니다.
SELECT
CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
severity,
FROM
`TABLE`
샘플 차트 및 차트 구성은 다음과 같습니다.
위 스크린샷의 차트 구성에는 다음과 같은 차트 구성이 있습니다.
- 차트 유형: 막대 그래프, 가로
- 측정기준:
location
(10개로 제한) - 측정: 행 수 계산
- 분류:
severity
(5개로 제한)
BigQuery 데이터 액세스 감사 로그 차트
다음 쿼리는 BigQuery data_access
감사 로그를 필터링하고 user_email
, ip
, auth_permission
, job_execution_project
와 같은 특정 필드를 선택합니다. 예를 들어 시간 경과에 따라 각 주 구성원의 BigQuery API 사용 빈도를 시각화하는 차트를 만들 수 있습니다.
SELECT
timestamp,
proto_payload.audit_log.authentication_info.principal_email as user_email,
proto_payload.audit_log.request_metadata.caller_ip as ip,
auth.permission as auth_permission,
auth.granted as auth_granted,
JSON_VALUE(data_access.resource.labels.project_id) AS job_execution_project,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(1)] AS referenced_project,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(3)] AS referenced_dataset,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(5)] AS referenced_table
FROM `TABLE` as data_access,
UNNEST(proto_payload.audit_log.authorization_info) AS auth
WHERE
log_id="cloudaudit.googleapis.com/data_access"
AND data_access.resource.type = 'bigquery_dataset'
샘플 차트 및 차트 구성은 다음과 같습니다.
위 스크린샷의 차트 구성에는 다음과 같은 차트 구성이 있습니다.
- 차트 유형: 막대 그래프, 세로
- 측정기준:
user_email
(5개로 제한) - 측정: 행 수 계산
- 분류:
auth_permission
(5개로 제한)
제한사항
선택한 열에는 null이 아닌 값이 있는 행이 최소 하나 이상 있어야 합니다.
쿼리를 저장하고 차트 구성을 맞춤설정하면 커스텀 차트 구성이 저장되지 않습니다.
쿼리에 이미 집계가 포함된 경우 로그 애널리틱스에 의해 자동으로 적용되는 추가 집계로 인해 생성된 차트가 다를 수 있습니다.
JSON 경로를 차트로 만들려면 문자열 및 숫자로 변환해야 합니다.
다음 단계
로그 애널리틱스에 대한 개요는 로그 애널리틱스를 참조하세요.
샘플 쿼리는 샘플 SQL 쿼리를 참조하세요.
로그 애널리틱스를 사용하여 감사 로그로 분석하는 방법을 알아보려면 보안 통계를 위한 SQL 쿼리를 참조하세요.