로깅으로 Gemini Code Assist 측정항목 생성

이 문서에서는 Gemini Code Assist 측정항목을 생성하는 방법을 설명합니다. 예를 들어 Cloud Logging, Google Cloud CLI, Cloud Monitoring, BigQuery를 비롯한 다양한 Google Cloud 제품의 일일 활성 사용량 또는 코드 추천 수락을 보고하는 측정항목을 생성할 수 있습니다.

시작하기 전에

순 사용자 수를 표시합니다.

다음 안내에서는 gcloud CLI를 사용하여 최근 28일 동안 Gemini Code Assist의 순 사용자 수를 나열하는 방법을 설명합니다.

  1. 셸 환경에서 설치된 모든 gcloud CLI 구성요소를 최신 버전으로 업데이트했는지 확인합니다.

    gcloud components update
    
  2. Gemini Code Assist 사용자 및 사용량에 관한 로그 항목을 읽습니다.

    gcloud logging read 'resource.type=cloudaicompanion.googleapis.com/Instance labels.product=~"code_assist"' \
    --freshness 28d \
    --project PROJECT_ID \
    --format "csv(timestamp.date('%Y-%m-%d'),labels.user_id)"
    

    PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.

    Unix 명령어 uniq를 사용하여 일 단위로 사용자를 고유하게 식별할 수 있습니다.

    출력은 다음과 비슷합니다.

    2024-10-30,user1@company.com
    2024-10-29,user2@company.com
    2024-10-29,user2@company.com
    2024-10-29,user2@company.com
    2024-10-29,user1@company.com
    2024-10-28,user1@company.com
    

일일 사용량을 표시하는 차트 만들기

다음 단계에서는 모니터링을 사용하여 일일 활성 Gemini Code Assist 사용자의 총합계와 일일 요청 수를 보여주는 일일 사용량 그래프를 만드는 방법을 보여줍니다.

  1. 로그 데이터에서 Gemini Code Assist 사용자 수를 기록하는 Monitoring 측정항목을 만듭니다.

    1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

      로그 탐색기로 이동

      검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

    2. 쿼리 창에 다음 쿼리를 입력하고 쿼리 실행을 클릭합니다.

       resource.type="cloudaicompanion.googleapis.com/Instance" AND labels.product="code_assist" AND jsonPayload.@type="type.googleapis.com/google.cloud.cloudaicompanion.logging.v1.ResponseLog"
      
    3. 툴바에서 작업을 클릭한 다음 측정항목 만들기를 선택합니다.

      로그 기반 측정항목 만들기 대화상자가 표시됩니다.

    4. 다음 측정항목 세부정보를 구성합니다.

      • 측정항목 유형카운터로 설정되어 있는지 확인합니다.
      • 측정항목 이름을 code_assist_example로 지정합니다.
      • 필터 선택이 로그가 저장되는 위치인 프로젝트 또는 버킷을 가리키도록 설정되어 있는지 확인합니다.

        로그 데이터에서 모니터링 측정항목을 생성하는 방법에 관한 자세한 내용은 로그 기반 측정항목 개요를 참고하세요.

    5. 측정항목 만들기를 클릭합니다.

      측정항목이 생성되었음을 알리는 성공 배너가 표시됩니다.

    6. 성공 배너에서 측정항목 탐색기에서 보기를 클릭합니다.

      측정항목 탐색기가 열리고 사전 구성된 차트가 표시됩니다.

  2. 차트를 대시보드에 저장합니다.

    1. 툴바에서 차트 저장을 클릭합니다.
    2. 선택사항: 차트 제목을 업데이트합니다.
    3. 대시보드 메뉴를 사용하여 기존 맞춤 대시보드를 선택하거나 새 대시보드를 만듭니다.
    4. 차트 저장을 클릭합니다.

BigQuery를 사용하여 사용량 분석

다음 단계에서는 BigQuery를 사용하여 로그 데이터를 분석하는 방법을 보여줍니다.

BigQuery에서 로그 데이터를 분석하는 데는 두 가지 접근 방식이 있습니다.

  • 로그 싱크를 만들고 로그 데이터를 BigQuery 데이터 세트로 내보냅니다.
  • 로그 애널리틱스를 사용하도록 로그 데이터를 저장하는 로그 버킷을 업그레이드한 후 연결된 BigQuery 데이터 세트를 만듭니다.

두 가지 접근 방식 모두 SQL을 사용하여 로그 데이터를 쿼리하고 분석할 수 있으며 이러한 쿼리의 결과를 차트로 표시할 수 있습니다. 로그 애널리틱스를 사용하는 경우 차트를 커스텀 대시보드에 저장할 수 있습니다. 하지만 가격 책정에는 차이가 있습니다. 자세한 내용은 Log Analytics 가격 책정BigQuery 가격 책정을 참고하세요.

이 섹션에서는 선택한 로그 항목을 BigQuery로 내보내는 로그 싱크를 만드는 방법을 설명하고 샘플 쿼리 목록을 제공합니다. 로그 애널리틱스에 관해 자세히 알아보려면 로그 애널리틱스로 로그 쿼리 및 분석연결된 BigQuery 데이터 세트 쿼리를 참고하세요.

로그 싱크 만들기

  1. Google Cloud 콘솔에서 로그 라우터 페이지로 이동합니다.

    로그 라우터로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.

  2. 라우팅할 로그 항목이 생성된 Google Cloud 프로젝트를 선택합니다.
  3. 싱크 만들기를 선택합니다.
  4. 싱크 세부정보 패널에서 다음 세부정보를 입력합니다.

    • 싱크 이름에 싱크 식별자를 입력합니다. 싱크를 만든 후에는 싱크 이름을 바꿀 수 없지만 이를 삭제하고 새 싱크를 만들 수 있습니다.

    • 싱크 설명에는 싱크의 목적 또는 사용 사례를 설명합니다.

  5. 싱크 대상 위치 패널에서 다음 세부정보를 구성합니다.

    • Select sink service(싱크 서비스 선택)에서 BigQuery dataset(BigQuery 데이터 세트)을 선택합니다.
    • BigQuery 데이터 세트 선택에서 새 BigQuery 데이터 세트를 만들고 이름을 code_assist_bq로 지정합니다.
  6. 싱크에 포함할 로그 선택 패널을 열고 포함 필터 빌드 필드에 다음을 입력합니다.

    resource.type="cloudaicompanion.googleapis.com/Instance" AND labels.product="code_assist"
    
  7. 선택사항: 올바른 필터를 입력했는지 확인하려면 미리보기 로그를 선택합니다. 필터가 미리 채워진 새 탭에서 로그 탐색기가 열립니다.

  8. 싱크 만들기를 클릭합니다.

로그 싱크가 데이터 세트에 로그 항목을 쓸 수 있도록 승인

BigQuery 데이터 세트에 대한 소유자 액세스 권한이 있는 경우 Cloud Logging은 로그 데이터를 쓰는 데 필요한 권한을 로그 싱크에 부여합니다.

소유자 액세스 권한이 없거나 데이터 세트에 항목이 표시되지 않으면 로그 싱크에 필요한 권한이 없는 것일 수 있습니다. 이 오류를 해결하려면 대상 권한 설정의 안내를 따르세요.

쿼리

다음 샘플 BigQuery 쿼리를 사용하여 일일 활성 사용 및 생성된 추천에 관한 사용자 및 집계 수준 데이터를 생성할 수 있습니다.

다음 샘플 쿼리를 사용하기 전에 새로 만든 싱크의 정규화된 경로를 가져와야 합니다. 경로를 가져오려면 다음을 실행합니다.

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 리소스 목록에서 code_assist_bq라는 데이터 세트를 찾습니다. 이 데이터는 싱크 대상입니다.

  3. code_assist_bq_dataset 아래에서 응답 표를 선택하고 아이콘을 클릭한 다음 ID 복사를 클릭하여 데이터 세트 ID를 생성합니다. 다음 섹션에서 GENERATED_BIGQUERY_TABLE 변수로 사용할 수 있도록 기록해 둡니다.

일별 개별 사용자 나열

SELECT DISTINCT labels.user_id as user, DATE(timestamp) as use_date
FROM GENERATED_BIGQUERY_TABLE
ORDER BY use_date

GENERATED_BIGQUERY_TABLE싱크 만들기의 이전 단계에서 기록한 BigQuery 응답 테이블의 정규화된 경로로 바꿉니다.

일별 집계 사용자 수 표시

SELECT COUNT(DISTINCT labels.user_id) as total_users, DATE(timestamp) as use_date
FROM GENERATED_BIGQUERY_TABLE
GROUP BY use_date
ORDER BY use_date

사용자별 일일 개별 요청 표시

SELECT COUNT(*), DATE(timestamp) as use_date, labels.user_id as user
FROM GENERATED_BIGQUERY_TABLE
GROUP BY use_date, user
ORDER BY use_date

날짜별 일일 집계 요청 목록

SELECT COUNT(*), DATE(timestamp) as use_date
FROM GENERATED_BIGQUERY_TABLE
GROUP BY use_date
ORDER BY use_date

다음 단계