로그 쿼리 및 보기

로그 수집기가 다양한 프로젝트 구성요소에서 데이터를 가져오면 관측 가능성 플랫폼은 모든 로그 소스의 로그를 집계하고, 색인을 추가하고, 데이터 관측 가능성 구성에 따라 로그를 라벨과 연결합니다. 그런 다음 시스템 모니터링 인스턴스의 로그 패널에서 로그를 쿼리하고 볼 수 있습니다.

로그 패널에서 로그 쿼리 및 보기

프로젝트의 프로젝트의 시스템 모니터링 인스턴스 시스템 모니터링 인스턴스에는 GDC 구성요소의 CPU 사용률, 스토리지 소비, 네트워크 모니터링, 서버 모니터링, 로그, 알림, 측정항목과 같은 인프라 구성요소를 모니터링하는 프로젝트 수준 측정항목이 포함됩니다.

프로젝트의 시스템 모니터링 인스턴스의 로그 패널에서 로그를 확인할 수 있습니다. 그런 다음 쿼리를 실행하여 사용 사례의 데이터 관측 가능성에 필요한 특정 로그를 볼 수 있습니다.

시작하기 전에

로그 패널에서 로그를 쿼리하고 보기 전에 시스템 모니터링 인스턴스에 대한 액세스 권한을 획득해야 합니다. 자세한 내용은 대시보드 액세스 권한 얻기를 참고하세요.

Grafana에 로그인하여 로그를 보려면 프로젝트 IAM 관리자에게 프로젝트 Grafana 뷰어 (project-grafana-viewer) 역할을 부여해 달라고 요청하세요. 이 역할 기반 액세스 제어 프로세스를 사용하면 데이터 시각화에 안전하게 액세스할 수 있습니다.

로그 쿼리 빌드

시스템 모니터링 인스턴스의 UI에서 로그를 쿼리하면 프로젝트에서 운영 로그를 가져올 데이터 소스를 선택하고 쿼리의 통합 보기를 확인할 수 있습니다. 결과를 필터링하려면 쿼리 언어 표현식을 사용하여 라벨별로 로그를 검색합니다. 예를 들어 쿼리에서 clusternamespace 라벨을 각각 클러스터와 프로젝트 네임스페이스를 식별하는 값으로 설정할 수 있습니다.

시스템 모니터링 인스턴스 엔드포인트

애플리케이션 운영자 (AO)인 경우

다음 URL은 프로젝트의 모니터링 인스턴스의 엔드포인트입니다.

https://GDC_URL/PROJECT_NAMESPACE/grafana

다음을 바꿉니다.

  • GDC_URL: GDC의 조직 URL입니다.
  • PROJECT_NAMESPACE: 프로젝트의 네임스페이스입니다.

플랫폼 관리자 (PA)인 경우

다음 URL은 프로젝트의 모니터링 인스턴스의 엔드포인트입니다.

https://GDC_URL/platform-obs/grafana

GDC_URL를 GDC의 조직 URL로 바꿉니다.

작업 로그 쿼리

  1. GDC 콘솔에서 프로젝트를 선택합니다.
  2. 탐색 메뉴에서 작업 > 로깅을 클릭합니다.
  3. Grafana Loki에서 모두 보기를 클릭합니다.

    새 페이지에 프로젝트의 모니터링 인스턴스 URL이 열립니다.

  4. 모니터링 인스턴스의 UI에서 탐색 메뉴의 탐색 Explore을 클릭하여 Explore 페이지를 엽니다.

  5. 탐색 표시줄의 드롭다운 메뉴에서 운영 로그를 데이터 소스로 선택하여 운영 로그를 가져옵니다.

  6. LogQL (로그 쿼리 언어) 표현식을 사용하여 라벨별로 로그를 검색하는 쿼리를 입력합니다. 이 단계는 다음 두 가지 방법 중 하나로 수행할 수 있습니다.

    • 대화형 쿼리 빌더 UI를 사용합니다. 그런 다음 쿼리 실행을 클릭합니다.
    • 텍스트 필드에 LogQL 표현식을 사용하여 쿼리를 직접 입력하고 Shift+Enter를 눌러 쿼리를 실행합니다.

    페이지에 쿼리와 일치하는 로그가 표시됩니다.

로그를 쿼리한 후 내보낼 수 있습니다. 내보내기를 클릭하여 일반 텍스트 또는 CSV 형식으로 로그를 다운로드합니다.

UI의 탐색 페이지에서 운영 로그 옵션을 선택하여 운영 로그를 가져옵니다.

그림 1. 시스템 모니터링 인스턴스의 UI에서 로그를 쿼리하는 메뉴 옵션

그림 1에서 운영 로그 옵션은 UI에서 로그 쿼리를 빌드하여 운영 로그를 가져올 수 있는 인터페이스를 표시합니다.

운영 로그 대신 감사 로그를 쿼리하려면 이전 단계의 탐색 표시줄에 있는 드롭다운 메뉴에서 데이터 소스로 감사 로그를 선택합니다.

감사 로그를 가져오려면 UI의 탐색 페이지에서 감사 로그 옵션을 선택합니다.

그림 2. 모니터링 인스턴스의 UI에서 감사 로그를 쿼리하는 메뉴 옵션

그림 2에서 감사 로그 옵션은 UI에서 쿼리를 빌드하여 감사 로그를 가져올 수 있는 인터페이스를 표시합니다.

로그를 쿼리한 후 내보낼 수 있습니다. 내보내기 버튼을 클릭하여 일반 텍스트 또는 CSV 형식으로 로그를 다운로드합니다.

운영 로그를 가져오려면 다음 단계를 완료하세요.

  1. GDC 콘솔에서 프로젝트를 선택합니다.
  2. 탐색 메뉴에서 작업 > 로깅을 클릭합니다.
  3. Grafana Loki에서 모두 보기를 클릭합니다.

    새 페이지에 프로젝트의 모니터링 인스턴스 URL이 열립니다.

  4. 모니터링 인스턴스의 UI에서 탐색 메뉴의 탐색 Explore을 클릭하여 Explore 페이지를 엽니다.

  5. 탐색 표시줄의 드롭다운 메뉴에서 운영 로그를 데이터 소스로 선택하여 운영 로그를 가져옵니다.

  6. LogQL (로그 쿼리 언어) 표현식을 사용하여 라벨별로 로그를 검색하는 쿼리를 입력합니다. 이 단계는 다음 두 가지 방법 중 하나로 수행할 수 있습니다.

    • 대화형 쿼리 빌더 UI를 사용합니다. 그런 다음 쿼리 실행을 클릭합니다.
    • 텍스트 필드에 LogQL 표현식을 사용하여 쿼리를 직접 입력하고 Shift+Enter를 눌러 쿼리를 실행합니다.

    페이지에 쿼리와 일치하는 로그가 표시됩니다.

로그를 쿼리한 후 내보낼 수 있습니다. 내보내기를 클릭하여 일반 텍스트 또는 CSV 형식으로 로그를 다운로드합니다.

감사 로그 쿼리

감사 로그를 가져오려면 다음 단계를 완료하세요.

  1. GDC 콘솔에서 프로젝트를 선택합니다.
  2. 탐색 메뉴에서 작업 > 감사 로깅을 클릭합니다.
  3. Grafana Loki에서 모두 보기를 클릭합니다.

    새 페이지에 프로젝트의 모니터링 인스턴스 URL이 열립니다.

  4. 모니터링 인스턴스의 UI에서 탐색 메뉴의 탐색 Explore을 클릭하여 Explore 페이지를 엽니다.

  5. 탐색 표시줄의 드롭다운 메뉴에서 감사 로그를 데이터 소스로 선택하여 감사 로그를 가져옵니다.

  6. LogQL (로그 쿼리 언어) 표현식을 사용하여 라벨별로 로그를 검색하는 쿼리를 입력합니다. 이 단계는 다음 두 가지 방법 중 하나로 수행할 수 있습니다.

    • 대화형 쿼리 빌더 UI를 사용합니다. 그런 다음 쿼리 실행을 클릭합니다.
    • 텍스트 필드에 LogQL 표현식을 사용하여 쿼리를 직접 입력하고 Shift+Enter를 눌러 쿼리를 실행합니다.

    페이지에 쿼리와 일치하는 로그가 표시됩니다.

로그를 쿼리한 후 내보낼 수 있습니다. 내보내기를 클릭하여 일반 텍스트 또는 CSV 형식으로 로그를 다운로드합니다.

로그의 기간 선택

모니터링 인스턴스의 UI에서 특정 기간의 로그를 쿼리하려면 다음 단계를 따르세요.

  1. 시간 선택기 드롭다운 메뉴를 클릭합니다.

  2. 메뉴에서 다음 작업 중 하나를 수행합니다.

    • 상대 시간 범위 옵션(예: 지난 30분)을 선택합니다.
    • 캘린더에서 특정 날짜와 시간을 선택하고 기간 적용을 클릭하여 맞춤 절대 기간을 설정합니다.
  3. 선택적으로 시간 설정 변경을 클릭하여 시간 범위 컨트롤에서 시간대회계연도 설정을 변경할 수 있습니다.

시간 설정은 대시보드별로 저장됩니다. 일정 기간에 대한 쿼리에 관한 자세한 내용은 https://grafana.com/docs/loki/latest/reference/api/#query-loki-over-a-range-of-time을 참고하세요.

샘플 쿼리 및 라벨

다음은 로그를 쿼리하는 데 사용할 수 있는 기본 라벨입니다.

  • cluster: 클러스터 이름
  • resources: 리소스 목록
  • namespace: 프로젝트 네임스페이스
  • node: 노드 이름 접두사
  • pod: 포드 이름 접두사
  • container: 컨테이너 이름 접두사

다음 표에서는 관측 가능성 플랫폼에서 로그를 쿼리하는 데 사용할 수 있는 각 기본 라벨을 설명합니다.

로그 라벨
로그 유형 라벨
Kubernetes 컨테이너 로그 cluster CLUSTER_NAME
resources k8s_container 또는 k8s_audit
namespace NAMESPACE_NAME
node NODE_NAME
pod POD_NAME
container CONTAINER_NAME
기타 Kubernetes 라벨
노드 journald 로그 cluster CLUSTER_NAME
resources k8s_node
node NODE_NAME
identifier SYSLOG_IDENTIFIER
machine MACHINE_ID

쿼리는 LogQL 쿼리 언어 https://grafana.com/docs/loki/latest/logql/를 사용합니다. 다음 코드 샘플은 라벨과 값을 사용하여 다양한 로그를 쿼리하는 방법을 보여줍니다.

  • 프로젝트의 모든 로그를 선택합니다.

    {cluster="user-vm-1-cluster", namespace="PROJECT_NAMESPACE"}
    

    PROJECT_NAMESPACE을 프로젝트의 네임스페이스로 바꿉니다.

  • 서비스에서 프로젝트 로그를 선택합니다.

    {cluster="user-vm-1-cluster", namespace="PROJECT_NAMESPACE", container="my-service"}
    

    PROJECT_NAMESPACE을 프로젝트의 네임스페이스로 바꿉니다.

  • Kubernetes API 서버 로그를 선택합니다.

    {cluster="admin", namespace="kube-system", resources="k8s_container", container="kube-apiserver"}
    
  • 클러스터 부트스트랩 로그를 선택합니다.

    {cluster="admin", namespace="PROJECT_NAMESPACE"}
    

    PROJECT_NAMESPACE를 프로젝트 네임스페이스 이름으로 바꿉니다. 예를 들면 cluster-user-test입니다.

  • 노드 journald 로그를 선택합니다.

    {cluster="admin", resources="k8s_node"}
    
  • 클러스터 감사 로그를 선택합니다.

    {cluster="admin", resources="k8s_audit"}
    
로 필터링됩니다.