tencent cloud

피드백

액세스 로그 구성

마지막 업데이트 시간:2024-01-04 20:01:32
    CLB(Cloud Load Balancer)는 클라이언트 요청을 더 잘 이해하고, 문제를 해결하고, 사용자 행동을 분석하는 데 도움이 될 수 있는 레이어 7(HTTP/HTTPS) 액세스 로그(Access Log) 구성을 지원합니다. 현재 액세스 로그는 CLS에 저장되고, 미세한 단위로 보고되며, 여러 규칙에 따라 온라인으로 검색할 수 있습니다.
    CLB의 액세스 로그는 주로 문제를 빠르게 찾고 해결하는 데 사용됩니다. 액세스 로그 기능에는 로그 리포트, 저장 및 검색이 포함됩니다.
    로그 리포트는 최선의 서비스(Best-Effort Service)를 제공합니다. 즉, 로그 리포트보다 서비스 포워딩을 우선시합니다.
    로그 스토리지 및 검색은 현재 사용 중인 스토리지 서비스를 기반으로 SLA를 제공합니다.
    설명:
    현재 액세스 로그는 레이어 7 프로토콜(HTTP/HTTPS)에 대해서만 CLS에 저장할 수 있으며, 레이어 4 프로토콜(TCP/UDP/TCP SSL)에는 저장할 수 없습니다.
    CLS에 대한 CLB 액세스 로그 저장은 무료입니다. CLS 서비스에 대한 요금만 지불하면 됩니다.
    이 기능은 CLS 사용 가능 리전에서만 지원됩니다. 사용 가능한 리전을 참고하십시오.

    방법1: 단일 인스턴스 액세스 로그

    1단계: CLS에서 액세스 로그 스토리지 활성화

    1. CLB 콘솔에 로그인하고 왼쪽 사이드바에서 인스턴스 관리를 클릭합니다.
    2. 인스턴스 관리 페이지에서 CLB 인스턴스 ID를 클릭합니다.
    3. 기본 정보 페이지의 ‘액세스 로그(레이어 7)’ 모듈에서 연필 아이콘을 클릭합니다.
    
    
    4. CLS 로그 스토리지 위치 수정 팝업 창에서 로그를 활성화하고 액세스 로그 스토리지에 대한 대상 로그셋 및 로그 테마를 선택한 다음 제출을 클릭합니다. 아직 로그셋 또는 로그 테마를 생성하지 않은 경우 관련 리소스 생성 후 다음 저장 위치로 선택하십시오.
    
    설명:
    clb_logset 로그셋에서 CLB로 표시된 로그 테마를 사용하는 것이 좋습니다. CLB로 표시된 로그 테마와 일반 테마의 차이점은 다음과 같습니다.
    CLB 로그 테마는 자동으로 인덱스를 생성할 수 있지만 일반적인 로그 테마는 수동 인덱스 생성이 필요합니다.
    기본적으로 CLB 로그 테마에 대한 대시보드가 제공되지만 일반적인 로그 테마에 대해서는 수동으로 구성해야 합니다.
    5. 로그셋 또는 로그 테마를 클릭하여 CLS의 로그 검색 분석 페이지로 리디렉션합니다.
    6. (옵션) 로그를 비활성화하려면 연필 아이콘을 클릭하여 CLS 로그 저장 위치 수정 창을 열고 비활성화합니다.

    2단계: 로그 테마 인덱스 구성

    설명:
    단일 인스턴스에 대해 액세스 로그가 구성된 경우 로그 테마에 대한 인덱스를 구성해야 합니다. 그렇지 않으면 로그를 찾을 수 없습니다.
    권장 인덱스는 다음과 같습니다.
    키-값 인덱스
    필드 유형
    구분 기호
    server_addr
    text
    구분 기호가 필요하지 않습니다
    server_name
    text
    구분 기호가 필요하지 않습니다
    http_host
    text
    구분 기호가 필요하지 않습니다
    status
    long
    -
    vip_vpcid
    long
    -
    단계는 다음과 같습니다.
    1. CLS 콘솔에 로그인하고 왼쪽 사이드바에서 로그 테마를 클릭합니다.
    2. 로그 테마 페이지에서 대상 로그 테마 ID를 클릭합니다.
    3. 로그 테마 세부 정보 페이지에서 인덱스 구성 탭을 선택하고 편집을 클릭하여 인덱스를 추가합니다. 인덱스 구성에 대한 자세한 내용은 Configuring Index를 참고하십시오.
    
    
    
    4. 인덱스 구성 결과는 다음과 같습니다.
    
    
    

    3단계: 액세스 로그 보기

    1. CLS 콘솔에 로그인하고 왼쪽 사이드바에서 검색 및 분석을 클릭합니다.
    2. 검색 분석 페이지에서 로그셋, 로그 테마 및 시간 범위를 선택하고 검색 분석을 클릭하여 CLB에서 CLS에 보고한 액세스 로그를 검색합니다. 검색 구문에 대한 자세한 내용은 Legacy CLS Search Syntax를 참고하십시오.
    

    방법2: 액세스 로그 일괄 구성

    1단계: 로그셋 및 로그 테마 생성

    CLS에서 액세스 로그를 구성하려면 먼저 로그셋 및 로그 테마를 생성해야 합니다. 로그셋과 로그 테마를 생성했다면 바로 2단계로 이동할 수 있습니다.
    1. CLB 콘솔에 로그인하고 왼쪽 사이드바에서 액세스 로그를 선택합니다.
    2. 액세스 로그 페이지에서 로그 집합에 대한 영역을 선택한 다음 로그셋 정보 섹션에서 로그셋 생성을 클릭합니다.
    3. 로그셋 생성 팝업 창에서 저장 기간을 설정하고 저장을 클릭합니다.
    설명:
    각 리전에서 ‘clb_logset’이라는 단일 로그셋만 생성할 수 있습니다.
    4. 액세스 로그 페이지의 로그 테마 섹션에서 로그 테마 생성을 클릭합니다.
    5. 로그 테마 추가 팝업 창에서 스토리지 유형 및 로그 저장 시간을 선택한 후, 오른쪽 목록에 추가할 CLB 인스턴스를 선택하고 저장을 클릭합니다.
    설명:
    스토리지 유형은 STANDARD, STANDARD_IA로 구분됩니다. 자세한 내용은 Storage Class Overview를 참고하십시오.
    로그는 영구적으로 또는 지정된 기간 동안 보관할 수 있습니다.
    로그 테마를 생성할 때 필요에 따라 CLB 인스턴스를 추가할 수 있습니다. 추가하려면 목록에서 로그 테마를 선택하고 작업 열에서 관리를 클릭합니다. 각 CLB 인스턴스는 하나의 로그 테마에만 추가할 수 있습니다.
    로그셋에는 여러 로그 테마(Topic)가 포함될 수 있습니다. CLB 로그를 CLB로 표시되는 다양한 로그 테마로 분류할 수 있습니다.
    6. (옵션) 액세스 로그를 닫으려면 로그 테마 우측의 작업 열에서 중지를 클릭하기만 하면 됩니다.

    2단계: 액세스 로그 보기

    수동 구성 없이 CLB는 액세스 로그 값으로 인덱스 검색으로 자동 구성되었습니다. 검색 분석을 통해 접속 로그를 직접 조회할 수 있습니다.
    1. CLB 콘솔에 로그인하고 왼쪽 사이드바에서 액세스 로그를 선택합니다.
    2. 로그 테마를 선택하고 작업 열에서 검색을 클릭하면 CLS 콘솔의 ‘검색 분석’ 페이지로 리디렉션됩니다.
    3. 검색 분석 페이지에서 입력 상자에 검색 구문을 입력하고 시간 범위를 선택한 다음 검색 분석을 클릭하여 CLB에서 CLS에 리포트한 액세스 로그를 검색합니다.
    설명:
    검색 구문에 대한 자세한 내용은 Overview and Syntax Rules를 참고하십시오.

    로그 형식 및 변수 설명

    로그 형식

    [$stgw_request_id] [$time_local] [$protocol_type] [$server_addr:$server_port] [$server_name] [$remote_addr:$remote_port] [$status] [$upstream_addr] [$upstream_status] [$proxy_host] [$request] [$request_length] [$bytes_sent] [$http_host] [$http_user_agent] [$http_referer] [$request_time] [$upstream_response_time] [$upstream_connect_time] [$upstream_header_time] [$tcpinfo_rtt] [$connection] [$connection_requests] [$ssl_handshake_time] [$ssl_cipher] [$ssl_protocol] [$vip_vpcid] [$uri] [$server_protocol]

    필드 유형

    현재 CLS는 다음 세 가지 필드 유형을 지원합니다.
    이름
    유형 설명
    text
    텍스트 유형
    long
    정수 유형(Int 64)
    double
    부동 소수점 유형(64 bit)

    로그 변수 설명

    변수 이름
    설명
    필드 유형
    stgw_request_id
    요청 ID.
    text
    time_local
    액세스 시간 및 시간대(예시: ‘01/Jul/2019:11:11:00 +0800’, 여기서 ‘+0800’은 UTC+8, 즉 베이징 시간을 나타냄).
    text
    protocol_type
    프로토콜 유형(HTTP/HTTPS/SPDY/HTTP2/WS/WSS).
    text
    server_addr
    CLB VIP.
    text
    server_port
    CLB VPort, 즉 수신 포트입니다.
    long
    server_name
    규칙의 server_name, 즉 CLB 리스너에 구성된 도메인 이름입니다.
    text
    remote_addr
    클라이언트 IP.
    text
    remote_port
    클라이언트 포트.
    long
    status
    CLB에서 클라이언트로 반환된 상태 코드입니다.
    long
    upstream_addr
    RS 주소.
    text
    upstream_status
    RS에서 CLB로 반환된 상태 코드입니다.
    text
    proxy_host
    stream ID.
    text
    request
    요청 라인.
    text
    request_length
    클라이언트에서 받은 요청의 바이트 수입니다.
    long
    bytes_sent
    클라이언트에 보낸 바이트 수입니다.
    long
    http_host
    HTTP 헤더의 Host인 도메인 이름을 요청합니다.
    text
    http_user_agent
    HTTP 헤더의 user_agent 필드입니다.
    text
    http_referer
    HTTP 요청 소스입니다.
    text
    http_x_forward_for
    HTTP 요청에 있는 x-forward-for header의 콘텐츠입니다.
    text
    request_time
    요청 처리 시간: 타이밍은 클라이언트로부터 첫 번째 바이트를 수신한 시점부터 클라이언트에게 마지막 바이트가 전송된 시점까지를 의미합니다. 이는 클라이언트 요청이 CLB 인스턴스에 도달하고, CLB 인스턴스가 요청을 RS로 전달하고, RS가 응답을 보내고 CLB 인스턴스가 데이터를 클라이언트로 전달하는 전체 프로세스에 대한 총 시간을 의미합니다. 단위: 초.
    double
    upstream_response_time
    전체 백엔드 요청 프로세스 소요 시간: CLB 인스턴스가 CONNECT RS될 때부터 RS가 요청을 수신하고 응답할 때까지. 단위: 초.
    double
    upstream_connect_time
    RS와 TCP의 연결 설정 소요 시간: CLB 인스턴스가 CONNECT RS될 때부터 HTTP 요청을 보낼 때까지.
    double
    upstream_header_time
    RS에서 HTTP 헤더 수신 소요 시간: CLB 인스턴스가 CONNECT RS될 때부터 RS로부터 HTTP 응답 헤더가 수신될 때까지.
    double
    tcpinfo_rtt
    TCP 연결 RTT.
    long
    connection
    연결 ID.
    long
    connection_requests
    연결 요청 수입니다.
    long
    ssl_handshake_time
    x:x:x:x:x:x:x형식의 각 SSL 핸드셰이크 단계에 소요된 시간입니다. 이 중 콜론으로 구분된 문자열은 단위는 ms이며, 각 단계에 소요된 시간이 1ms 미만이면 0으로 표시됩니다.
    첫 번째 필드는 SSL 세션 재사용 여부를 나타냅니다.
    2번째 필드는 전체 핸드셰이크 시간을 나타냅니다.
    3번째~7번째 필드는 각 SSL 핸드셰이크 단계에 소요되는 시간을 나타냅니다.
    3번째 필드는 CLB가 client hello를 수신한 시점부터 server hello done을 전송한 시점까지의 시간을 나타냅니다.
    4번째 필드는 CLB가 server 인증서 전송을 시작한 시점부터 server 인증서 전송을 완료한 시점까지의 시간을 나타냅니다.
    5번째 필드는 CLB가 서명을 계산한 시점부터 server key exchange 전송을 완료한 시점까지의 시간을 나타냅니다.
    6번째 필드는 CLB가 client key exchange 수신을 시작한 시점부터 client key exchange 수신을 완료할 때까지의 시간을 나타냅니다.
    7번째 필드는 CLB가 client key exchange 수신을 시작한 시점부터 server finished를 보낸 시점까지의 시간을 나타냅니다.
    text
    ssl_cipher
    SSL 암호화 제품군.
    text
    ssl_protocol
    SSL 프로토콜 버전.
    text
    vip_vpcid
    CLB 인스턴스의 VPC ID이며 공중망 CLB의 값은 -1입니다.
    long
    request_method
    요청 방법. POST 및 GET 요청만 지원됩니다.
    text
    uri
    리소스 식별자.
    text
    server_protocol
    CLB에 사용되는 프로토콜.
    text

    기본 검색 로그 값

    다음 필드는 기본적으로 ‘CLB’가 있는 로그셋에서 찾을 수 있습니다.
    인덱스 필드
    설명
    필드 유형
    time_local
    액세스 시간 및 시간대(예시: ‘01/Jul/2019:11:11:00 +0800’, 여기서 ‘+0800’은 UTC+8, 즉 베이징 시간을 나타냄).
    text
    protocol_type
    프로토콜 유형(HTTP/HTTPS/SPDY/HTTP2/WS/WSS).
    text
    server_addr
    CLB VIP.
    text
    server_name
    규칙의 server_name, 즉 CLB 리스너에 구성된 도메인 이름입니다.
    text
    remote_addr
    클라이언트 IP.
    text
    status
    CLB에서 클라이언트로 반환된 상태 코드입니다.
    long
    upstream_addr
    RS 주소.
    text
    upstream_status
    RS에서 CLB로 반환된 상태 코드입니다.
    text
    request_length
    클라이언트에서 받은 요청의 바이트 수입니다.
    long
    bytes_sent
    클라이언트에 보낸 바이트 수입니다.
    long
    http_host
    HTTP 헤더의 Host인 도메인 이름을 요청합니다.
    text
    request_time
    요청 처리 시간: 타이밍은 클라이언트로부터 첫 번째 바이트를 수신한 시점부터 클라이언트에게 마지막 바이트가 전송된 시점까지를 의미합니다. 이는 클라이언트 요청이 CLB 인스턴스에 도달하고, CLB 인스턴스가 요청을 RS로 전달하고, RS가 응답을 보내고 CLB 인스턴스가 데이터를 클라이언트로 전달하는 전체 프로세스에 대한 총 시간을 의미합니다. 단위: 초.
    double
    upstream_response_time
    전체 백엔드 요청 프로세스 소요 시간: CLB 인스턴스가 CONNECT RS될 때부터 RS가 요청을 수신하고 응답할 때까지.
    double
    
    문의하기

    고객의 업무에 전용 서비스를 제공해드립니다.

    기술 지원

    더 많은 도움이 필요하시면, 티켓을 통해 연락 바랍니다. 티켓 서비스는 연중무휴 24시간 제공됩니다.

    연중무휴 24시간 전화 지원