Log & Crash Search는 다음과 같은 순서로 사용할 수 있습니다.

  • 서비스 활성화 먼저 프로젝트를 만들고 원하는 프로젝트를 선택한 후, Log & Crash Search를 활성화합니다.
  • 로그 전송
    Log & Crash Search SDK를 통해서 로그 전송을 시작합니다.
  • 로그 확인
    로그 전송을 마친 후에는 로그 검색 또는 앱 크래시 검색 화면에서 차트나 검색 등 다양한 방식으로 로그를 살펴볼 수 있습니다.

프로젝트 선택

콘솔에 접속하여 왼쪽 메뉴를 이용하여 조직(Organization)과 프로젝트(Project)를 선택합니다. 조직이나 프로젝트가 없다면 새로 만들어야 합니다. - 왼쪽 메뉴에서 ORGANIZATION > PROJECT를 클릭합니다.

조직과 프로젝트를 만드는 자세한 방법은 NHN Cloud 콘솔 사용 가이드를 참고하세요.

서비스 활성화

프로젝트(Project)를 선택한 상태에서 화면 상단의 서비스 선택 버튼을 클릭하고 Data & Analytics 아래 Log & Crash Search를 클릭합니다. 서비스가 활성화되면 서비스 이름 옆에 선택(v) 표시가 나타납니다.

[참고]
서비스를 활성화한 후에는 약 5분 이후부터 전송할 수 있습니다.

Log & Crash Search가 활성화되면 왼쪽 메뉴에 Data & Analytics > Log & Crash Search 메뉴가 나타나고 Appkey가 생성됩니다.

Appkey 확인

로그를 전송하려면 Appkey를 확인해야 합니다.

  1. 왼쪽 탐색 메뉴에서 Data & Analytics > Log & Crash Search > 로그 검색을 클릭합니다.
  2. 콘솔 화면 상단에 URL & Appkey 버튼을 클릭하면 Log & Crash Search용 Appkey를 확인할 수 있습니다.

로그 전송

로그를 전송하려면 Log & Crash Search SDK가 필요합니다. SDK는 NHN Cloud Downloads 페이지의 Data & Analytics > Log & Crash Search에서 다운로드할 수 있습니다.

[참고]
SDK 사용 시 크래시 로그와 함께 전송되는 세션 로그는 검색 화면에 노출되지 않습니다.
세션 로그 전송 시 리소스 제공 정책의 일일 로그 건수 제공량에는 다른 로그와 동일하게 합산하여 반영되지만, API 호출 요금에는 반영되지 않습니다.

로그 검색

이제 전송한 로그를 Log Search 기능을 이용하여 검색해 보겠습니다.

  1. 콘솔 화면 왼쪽 메뉴에서 Data & Analytics > Log & Crash Search > 로그 검색을 클릭합니다.
  2. 로그 검색 탭에는 기본적으로 24시간 동안의 로그량이 그래프와 상세 내용으로 나옵니다.

로그 검색 화면은 다음과 같이 구성되어 있습니다.

lcs_03_202107

항목 설명
검색 쿼리 입력 쿼리 필드 검색은 Lucene 문법을 사용할 수 있습니다.
(참고: https://docs.toast.com/ko/Data%20&%20Analytics/Log%20&%20Crash%20Search/ko/lucene-query-guide/)
검색 대상 기간 검색 쿼리의 기간 조건을 설정할 수 있습니다.
로그 검색 결과 > 차트 로그 검색 결과를 막대 그래프로 출력하며, 막대 그래프 바를 클릭하면 해당 바의 로그 기간만큼 재검색하여 로그를 확인할 수 있습니다.
로그 결과 다운로드 로그 검색 결과를 원하는 포맷으로 다운로드할 수 있습니다. 또한 크래시 덤프 데이터만 별도로 다운로드가 가능합니다.
선택한 필드 로그 필드에 따라 우측 결과 테이블 컬럼을 변경할 수 있습니다. 추가 버튼을 통해 다른 필드들을 추가, 삭제할 수 있습니다.
로그 검색 결과 > 로그 레코드 검색한 로그의 자세한 내용이 출력되는 부분입니다. 출력된 로그의 각 항목은 클릭하여 검색 쿼리를 변경할 수 있습니다.

사용자가 설정한 검색 조건은 검색 쿼리 입력 창에 반영되며 자주 사용하는 쿼리라면 쿼리 저장 버튼을 사용해서 저장했다가 이후에 쉽게 불러올 수 있습니다. 저장한 쿼리는 저장 쿼리 목록에서 확인 및 관리가 가능합니다.

[참고] 데이터 길이가 1,000,000 글자를 초과하는 필드를 포함하는 로그는 검색이 불가능합니다. 해당 이슈로 인해 조회가 불가능한 로그는 이슈가 해결되기 전까지 로그 다운로드 기능을 이용해 조회 부탁드립니다.

앱 크래시 조회

Android, iOS 기기의 크래시 정보는 Data & Analytics > Log & Crash Search > 앱 크래시 검색에서 볼 수 있습니다.

이슈 조회

이슈 조회 탭의 오류 유형에서 Crashes를 선택하면 이슈를 확인할 수 있습니다.

lcs_03_201812

이슈 조회 탭의 오류 유형에서 Handled를 선택하면 handled 이슈를 확인할 수 있습니다.

lcs_04_201812

항목 설명
차트 이슈 요약과 크래시 발생 건수를 타임라인 차트로 표시합니다.
오류 유형 시스템에서 발생되는 Crash와 Exception 블록에서 사용자가 발생시키는 Handled로 분류됩니다.
검색 조건 플랫폼 - 앱 플랫폼 선택
상태 – 크래시 이슈 처리 상태
앱 버전 - 애플리케이션의 버전
운영체제 버전 – 운영체제의 버전
태그 – 태그
최소 발생 수 – 크래시 발생 최소 N건 이상인 크래시 조회 필터
예외 종류 – 예외 종류별 최근 필터
위치 – 크래시 발생 지점별 조회 필터
이슈 목록 이슈 목록을 출력합니다. 오른쪽 상단 목록 상자를 이용해 정렬 순서를 변경할 수 있으며, 목록 왼쪽 선택 상자에서 이슈 상태를 변경할 수 있습니다.

목록에서 이슈를 클릭하면 해당 이슈에 대한 상세 정보를 볼 수 있습니다.

lcs_05_201812

항목 설명
상태 이슈 상태를 미해결, 해결, 재등록, 완료 등의 상태로 설정할 수 있습니다
이슈 트래커 설정 GitHub, GitLab 등 외부 이슈 트래커를 설정하여 해당 이슈를 외부 이슈 트래커에 등록할 수 있습니다
검색 페이지에서 보기 클릭하면 로그 검색 페이지로 이동합니다
태그 태그를 추가하거나 추가된 태그를 변경,삭제할 수 있습니다
스택 추적 크래시가 발생한 예외 종류, 예외 원인 및 스택 트레이스 정보를 보여 줍니다
오류 인스턴스 오류 인스턴스 목록을 보여 줍니다
사용자 이슈를 발생시킨 사용자 목록을 보여 줍니다
의견 및 히스토리 해당 이슈에 대해 코멘트를 작성할 수 있고, 프로젝트 구성원들이 작성한 코멘트 목록을 보여 줍니다. 해당 이슈에 대한 관리 이력(상태 변경, 태그 추가, 코멘트 작성 등)을 타임라인으로 보여 줍니다
히스토리 그래프 이슈 발생 건수를 타임라인 차트와 월드맵으로 표시해 줍니다
매트릭스 정보 네트워크, OS 버전, 디바이스, 통신사, 국가 정보를 표시해 줍니다

이슈 트렌드

lcs_07_201812

항목 설명
시간 조건 통계 시간 조건을 설정할 수 있습니다.
검색 조건 오류 유형 - Crashes / Handled 선택
플랫폼 - 앱 플랫폼 선택
트렌드 그래프 다양한 트렌드 그래프를 볼 수 있습니다.
- 크래시 수
- 크래시가 발생한 기기
- 운영체제 버전별 이슈
- 기기별 이슈
- 국가별 이슈

크래시 리포트

lcs_08_201812

항목 설명
시간 조건 통계 시간 조건을 설정할 수 있습니다.
조회 옵션 검색 건수를 조정할 수 있습니다.
검색 조건 지표 유형 - 현재 "앱 크래시 추이" 만 제공
플랫폼 - 앱 플랫폼 선택
통계 시간 단위 - 그래프 지표의 시간 단위 선택 (일간 / 주간)
크래시 그래프 검색 기간 내 크래시 발생 수를 보여줍니다.
크래시 지표 검색 기간 내 앱 버전별 세션 수/크래시 수/발생률(%)/이전 기간 크래시 수/증가율(%) 정보를 제공합니다.

사용자별 이슈 조회

사용자별 크래시 발생 정보를 제공합니다.

  1. SDK에서 user_id를 설정할 경우 사용 가능하며 저장하지 않을 경우 모든 사용자는 '-'로 표시됩니다.
  2. 사용자는 사용자 아이디와 디바이스 이름을 조합해서 구별합니다. 즉, 사용자 아이디가 같아도 디바이스가 다르면 다른 사용자로 집계됩니다.

lcs_11_201812

항목 설명
시간 조건 통계 시간 조건을 설정할 수 있습니다.
검색 조건 오류 유형 - 시스템에서 발생시키는 Crash 통계와 Exception 블럭에서 사용자가 발생시키는 Handled로 구분
플랫폼 - 앱 플랫폼
앱 버전 - 앱 버전
사용자 - SDK에서 user_id로 지정한 사용자 아이디
기기 - 디바이스명
사용자 정보 앱 크래시 사용자에 대한 정보(디바이스, 앱 버전 등)를 보여줍니다.

이슈통계

lcs_12_201812

항목 설명
시간 조건 통계 시간 조건을 설정할 수 있습니다.
검색 조건 오류 유형 - 시스템에서 발생시키는 Crash 통계와 Exception 블럭에서 사용자가 발생시키는 Handled로 구분
플랫폼 - 앱 플랫폼
앱 버전 - 앱 버전
국가 - 이슈가 발생한 사용자의 국가
운영체제 버전 - 이슈가 발생한 디바이스의 운영체제 버전
크래시별 발생 빈도 파이 그래프 크래시별 발생 빈도를 보여줍니다.
크래시별 발생 빈도 순위 테이블 크래시별 발생 빈도 순위를 보여줍니다.

알람

로그 및 크래시에 대한 알람 설정 및 알람 발송 이력을 확인할 수 있습니다. Data & Analytics > Log & Crash Search > 알람을 클릭합니다.

로그 알람 설정

lcs_13_202108

로그 알람에 대한 모든 기능을 수행할 수 있는 페이지입니다.

  • 알람은 발생 수에 따른 알람과, 로그의 증감률에 따른 알람으로 구분됩니다.
  • 알람 수신을 원하는 로그 유형(Lucene 쿼리)을 등록하고 해당 로그가 발생하면 조건에 따라 알람을 발송합니다.
  • [발생 수], [증감률] 두 가지 유형의 알람이 있습니다.
  • 알람 추가 버튼을 누르면 알람을 등록할 수 있습니다.

lcs_14_202108

  • 알람 설정 방법은 다음과 같습니다.
    • 알람 제목: 알람 설정 목록에 표시될 이름을 입력합니다.
    • 알람 쿼리: 알람 수신을 원하는 로그유형을 Lucene 쿼리로 입력합니다.
    • 설명: 알람 설명을 입력합니다.
    • 알람 유형: 발생 수 또는 증감률로 알람 유형을 설정합니다.
    • 알람 유형이 발생 수일 경우
      • 알람 규칙: 임곗값에 적용될 부등호를 선택합니다.
      • 임곗값: '검색 조건'에 해당하는 로그가 '알람 규칙' 부등호에 따라 '임곗값' 개수만큼 발생하면 알람을 발송합니다.
      • 발생 주기: 분 단위로 입력하며, 입력한 시간 값 내에 로그가 '임곗값'만큼 발생해야 알람을 발송합니다.
    • 알람 유형이 증감률일 경우
      • 임곗값: '검색 조건'에 해당하는 로그의 증감률입니다. 양수는 로그가 이전 간격 대비 증가한 비율, 0은 이전 간격과 로그양이 동일, 음수는 이전 간격보다 로그 양이 감소한 비율입니다.
      • 비교 시간: 시간 단위로 입력하며, 입력한 시간 간격과 그 이전 간격 사이의 로그양을 '임곗값'에 맞춰 비교합니다. '비교 시간'동안 발생한 로그의 증감률이 '임곗값'을 만족하면, 알람을 발송합니다.
    • 스누즈: 분 단위로 입력하며, 최소 1분~최대 1,440분(24시간) 사이의 값을 설정합니다.(0이면 꺼짐)
    • 수신자: 알람을 수신할 수신자를 입력합니다. 각 수신자마다 이메일과 SMS를 선택할 수 있습니다.
    • SMS 알람 문구: 알람 발송 시 SMS로 보낼 문구를 입력합니다.
    • 콜백 수신지: 알람 발송 시 호출될 URL을 입력합니다. http(s)://와 이메일, 그리고 두레이 훅을 지원합니다.

로그 알람 이력

lcs_15_202108

  • 설정한 알람 목록들이 표시됩니다.
  • 목록 클릭시 해당 알람 발생 내역을 확인할 수 있습니다.

크래시 알람 설정

lcs_16_202108

크래시 로그에 대한 알람을 별도로 설정하는 기능으로 플랫폼(iOS, Android, Windows, WebGL)별로 각각 하나씩 등록할 수 있습니다.

알람 설정 방법은 다음과 같습니다.

  • 플랫폼: 알람 발생 대상 플랫폼을 iOS, Android, Windows, WebGL 중 하나로 지정합니다.
  • 신규 크래시 알람 설정: 알람 발생을 On/Off 처리할 수 있습니다.
  • 임계치 기반 크래시 알람 설정: 설정 임곗값을 초과시 알람이 작동하도록 설정합니다. 탐지 주기는 10분입니다.
    • 알람유형: 크래시 발생 수 와 크래시 발생률 유형이 있습니다.
    • 임계치: 크래시 발생 수 유형은 로그 발생 수 (횟수)를, 크래시 발생률은 로그 발생 확률 (퍼센트)를 설정합니다.
  • SMS 알림 문구 사용: 활성화하면 장애 내용 대신 SMS 알람 문구에 입력된 내용이 SMS로 전송됩니다.
  • 알람 수신자: 프로젝트 멤버 목록에서 알람을 수신할 사용자의 이메일, SMS를 선택합니다.

크래시 알람 이력

lcs_17_202108

크래시 로그 알람이 발생한 이력을 조회합니다.

  • 플랫폼 별로 조회할 수 있습니다.
  • 시간 조건을 설정하여 조회 기간을 조절할 수 있습니다.
  • 알람 시간, 플랫폼, 크래시 유형, 임곗값, 이벤트 수, 전파 방법 및 발송 상태를 제공합니다.

사용자 기반 알람 설정

lcs_18_202108

크래시를 겪은 사용자 비율이 임계치(%) 이상인 경우 지정된 사용자의 휴대폰 또는 이메일로 알람을 전송하는 기능을 제공합니다.

알람 설정 방법은 다음과 같습니다.

  • 플랫폼: 알람 발생 대상 플랫폼을 iOS, Android, Windows, WebGL 중 하나로 지정합니다.
  • 사용자 기반 알람 설정: 알람 발생을 ON/OFF 처리 할 수 있습니다.
  • 임계치: 크래시를 겪은 사용자 비율이 임계치(%) 이상인 경우 지정된 사용자의 폰 또는 이메일로 알람을 전송합니다.
  • SMS 알람 문구: 활성화시 장애 내용 대신 SMS알람 문구에 입력된 내용이 SMS로 전송됩니다.
  • 알람 수신자: 프로젝트 멤버 목록에서 알람을 수신할 사용자의 이메일, SMS를 선택합니다.

사용자 기반 알람 이력

lcs_19_202108

사용자 기반 알람이 발생한 이력을 조회합니다.

  • 플랫폼 별로 조회할 수 있습니다.
  • 시간 조건을 설정하여 조회 기간을 조절할 수 있습니다.
  • 알람 시간, 플랫폼, 임곗값, 크래시 경험 사용자 비율, 전파 방법 및 발송 상태를 제공합니다.

설정

검색 필드 관리, 이슈 트래커 설정, 심벌 파일 관리 등 서비스에 필요한 설정을 관리합니다.

Data & Analytics > Log & Crash Search > 설정을 클릭합니다.

검색 필드

로그 검색 시 사용되는 검색 필드를 조회하는 기능으로 시스템 필드인 기본 필드 목록 외에 사용자 전송 필드인 사용자 지정 필드(커스텀 필드)를 확인할 수 있습니다.

lcs_20_202108

  1. 로그 전송 시 필드 이름이 txt로 시작하는 경우 분석 여부가 true로 설정되고, 그 외에는 분석 여부가 false로 설정됩니다. 분석 여부가 false인 경우 로그 검색의 검색 필드로 등록하여 사용할 수 있습니다.
  2. 로그 파일이나 바이너리 파일을 전송하고 로그 검색 화면에서 다운로드 > 보기 링크를 이용하고자 하는 경우, UserBinaryData 혹은 UserTxtData라는 이름의 필드에 base64 인코딩된 값을 담아 전송하시기 바랍니다.

이슈 트래킹

이슈 트래커를 설정하면 앱 크래시 검색 > 이슈 조회 탭에서 이슈 목록을 클릭하면 나타나는 Error Detail 페이지에서, 해당 오류를 이슈 트래커에 등록하여 관리할 수 있습니다.

lcs_21_202108

  • 플랫폼: iOS, Android, Windows, WebGL 중 하나의 플랫폼을 선택합니다. 이슈 트래커는 플랫폼별로 각각 하나씩 설정 가능합니다.
  • 이슈 트래커: GitHub, GitLab 중 하나를 선택합니다.
  • GitHub 프로젝트 URL: 이슈 트래커를 GitHub로 선택할 경우 https://github.com/{user}/{project} 형식의 URL을 입력합니다.
  • Access token: 이슈 트래커를 GitHub로 선택할 경우 GitHub에서 생성한 Access token을 입력합니다.(참고: https://help.github.com/articles/creating-an-access-token-for-command-line-use)
  • GitLab 프로젝트 URL: 이슈 트래커를 GitLab으로 선택할 경우 http://{baseUrl}/{namespace}/{project} 형식의 URL을 입력합니다.
  • Private token: 이슈 트래커를 GitLab으로 선택할 경우 GitLab 사이트의 My profile - Account에서 생성한 token값을 입력합니다.
  • Issue Title Format: 이슈 제목에 버전 및 위치 정보를 포함 시킬지 여부를 선택합니다.
  • 테스트: 설정이 정상적인지를 확인합니다.

심벌 파일

Symbolication file이 등록 되어 있어야 크래시 로그를 확인할 수 있습니다. 이 메뉴에서는 Symbolication file을 업로드, 다운로드하고 삭제할 수 있습니다.

lcs_22_202108

[파일 선택] 을 클릭하여 심벌 파일을 업로드 합니다.

  • iOS: iOS 심벌리케이션 파일을 업로드할 때는 ZIP 압축 방법으로 BundleName.app.dSYM 파일을 압축하십시오.
  • Android: 안드로이드 심벌리케이션을 업로드할 때는 mapping.txt 파일을 업로드해야 합니다.
  • Android-NDK: 안드로이드 NDK 파일을 업로드할 때는 ZIP 압축 방법으로 lib.so 파일을 압축하십시오.
  • Windows: Windows 심벌리케이션 파일을 업로드할 때는, ZIP 압축 방법으로 BundleName.sym 파일을 압축하십시오.
  • 심벌 파일의 최대 크기는 200MB입니다.
  • Android NDK 심벌리케이션 파일이 허용하는 최대 파일 크기를 초과할 경우, 원본 ‘lib.so’ 바이너리 파일의 텍스트 형태 심벌을 포함하고 있는 하나의 ‘lib.so.sym’을 포함하는 ZIP 파일의 형태로 업로드할 수 있습니다.
  • Android Unity의 경우 심벌 파일의 등록이 필요하지 않습니다. 단, ProGuard 적용시 mapping.txt. 업로드가 필요합니다.

로그 보관 기간

로그 보관 기간을 조회할 수 있습니다.

lcs_23_202305

  • 로그 보관 기간을 변경하려면 고객 센터로 문의해 주세요.
  • 로그 보관 기간 변경은 다음 달 1일 00시에 적용되며 보관 기간에 따라 요금이 발생합니다.

로그 전송 설정

서비스별 로그 전송 여부를 설정합니다.

lcs_24_202108

  • 일반 로그, 크래시 로그, Network Insights 로그 각각에 대해 전송 여부를 설정할 수 있습니다.
  • TOASK SDK에 대해 전송 여부를 설정 할 수 있습니다.
    • 중복 로그, 로그 레벨, 로그 유형 별로 필터링 할 수 있습니다.
  • 설정을 저장한 뒤 앱을 재시작하면 적용됩니다.

로그 외부 보관 설정

로그 외부 보관 정보를 설정합니다.

lcs_25_202108

  • 외부 OBS에 로그를 보관할 수 있습니다.

  • AWS S3 API를 이용해 자격 증명 등록 및 조회로 액세스 키(accessKey)와 비밀 키(secretKey)를 가져옵니다.

  • 로그 외부 보관 설정에서 보관 설정을 클릭합니다.
  • 액세스 키와 비밀 키를 비롯한 데이터들 입력합니다.
  • 외부 로그 변조 알림에 대한 정보들은 설정 추가/수정/삭제 시 전부 필요합니다.
  • 모든 OBS 정보를 입력한 뒤 저장을 클릭합니다.

    • 연동 검증을 위해 설정한 버킷에 임시 파일이 생성됩니다.
  • 설정한 OBS로 로그가 저장됩니다.

  • NHN Cloud OBS API 안내 가이드

네트워크 인사이트

Log & Crash Search SDK에서 전송한 지연 시간과 오류율을 타임라인 차트와 URL 목록, 지도로 표시합니다.

Data & Analytics > Log & Crash Search > 네트워크 인사이트를 클릭합니다.

  • SDK에서는 클라이언트로부터 URL 설정 화면에서 설정한 URL까지 요청의 지연 시간(Latency)과 상탯값(Status)을 Log & Crash Search로 전송합니다.
  • 모니터링, 지표 화면에서 현재 플랫폼과 필터를 설정하고 지연 시간과 오류율을 확인할 수 있습니다.

모니터링

  • 지연 시간과 오류율을 타임라인 차트와 URL 목록으로 표시합니다.

lcs_26_202108

항목 설명
필터 조건 - 최근: 최근 15분, 60분, 24시간, 48시간 동안의 시간별 조회 필터, 사용자 지정은 시작/종료 일자를 선택하여 조회(최대 48시간)
- 앱 버전: 앱 버전별 조회 필터
- 운영체제 버전: 운영체제 버전별 조회 필터
- 기기: 디바이스 이름 입력
- 통신사: 통신사 이름 입력
- 국가: 국가별 조회 필터
- URL: URL별 조회 필터
차트 지연 시간과 오류율이 타임라인 차트에 표시됩니다.
현재 플랫폼 드랍다운 메뉴에서 iOS, Android, Windows 및 WebGL별로 설정 할 수 있습니다.
URL URL 설정에서 추가한 URL 별로 지연시간과 오류율을 보여줍니다.

지도

  • 지연 시간과 오류율을 지도상에 표시합니다.

lcs_27_202108

항목 설명
지도 유형 지도 유형: 지연시간 및 오류율 유형을 선택할 수 있습니다.
필터 조건 - 최근: 최근 15분, 60분, 24시간, 48시간 동안의 시간별 조회 필터, 사용자 지정은 시작/종료 일자를 선택하여 조회(최대 48시간)
- 앱 버전: 앱 버전별 조회 필터
- 운영체제 버전: 운영체제 버전별 조회 필터
- 기기: 디바이스 이름 입력
- 통신사: 통신사 이름 입력
- 국가: 국가별 조회 필터
- URL: URL별 조회 필터
지도 지연 시간과 오류율을 지도상에 표시합니다.
현재 플랫폼 드랍다운 메뉴에서 iOS, Android, Windows 및 WebGL별로 설정 할 수 있습니다.

URL 설정

  • 지연 시간과 오류율을 측정할 웹사이트의 URL을 설정할 수 있습니다.

lcs_28_202108

항목 설명
URL 표 지연 시간과 오류율을 측정할 웹사이트 URL 리스트를 표시합니다.
우측 상단 입력란에 URL을 입력하고 추가할 수 있습니다.
삭제 시 리스트를 체크한 후 [선택 항목 삭제] 클릭 시 선택 항목을 삭제할 수 있습니다.
TOP