Cloud Z LOG 사용자 가이드 - Bluemix/OpenPaaS용

Print

목차



소개

Cloud Z LOG는 Bluemix/OpenPaaS 상에 배포된 애플리케이션의 로그를 저장 및 조회하는 로그저장/검색 서비스 입니다.

서비스 기능

  • 통합 로그 저장소
  • 로그 내용 검색 기능
  • 실시간 로그 확인(Tail View)
  • 로그 압축 장기 보관

아키텍처

운영 정책

항목정책비고
실시간 검색 가능 로그7일
  • 최대 로그 저장 용량은 10GB
  • 전체 로그량이 저장 용량에 도달할 경우 가장 오래된 로그부터 일단위 백업
백업 로그 보관 기간30일
  • 필요 시 백업된 로그를 복원할 수 있습니다.
  • 장기간 보관 필요시 협의

시작하기

초기 구성

  1. 아래 명령어를 입력하여 로그를 전송하기 위한 서비스 인스턴스를 생성합니다.

    $ cf cups {SERVICE-NAME} -l syslog://LB-ONM-LOG-1471923-seo01.lb.bluemix.net:5000
  2. 위에서 생성한 서비스 인스턴스를 해당 애플리케이션과 연동합니다.

    cf bind-service {APP-NAME} {SERVICE-NAME}
  3. 연동된 서비스를 적용시키기 위해 애플리케이션을 리스테이징합니다.

    $ cf restage {APP-NAME}

Kibana 접속

  1. http://log.cloudz.co.kr/ 로 접속합니다.
  2. Username과 Password를 입력하여 로그인합니다.

Dashboard 활용

애플리케이션 로그 조회 Dashboard

Dashboard 접속

Kibana에 접속하여 애플리케이션 로그 조회 Dashboard를 선택합니다.

애플리케이션 로그 조회 Dashboard에서는 세 가지 Filter가 있으며 이 Filter들은 서로 조합하여 함께 사용할 수 있습니다.

  • Filter 1: CF Filter (Space / Application / Instance)
  • Filter 2: Time Filter (특정 시간 대역의 로그 조회)
  • Filter 3: Search Bar(키워드로 로그 검색)


Filter 1: CF Filter (Space / Application / Instance)

1. Filter 패널에서 원하는 Space, Application, Log Type, Instance를 선택한 후 [Apply changes] 버튼을 클릭합니다.


2. 아래와 같이 선택한 항목에 해당하는 로그만 조회됩니다.



Filter는 다중 선택이 가능합니다.

Filter 패널 상단의 Filter 항목에 마우스를 올려 놓으면 상세 설정 아이콘이 나타납니다.

  1. Filter 적용/해제
  2. Filter 고정
  3. Filter Invert(해당하지 않는 경우를 조회)
  4. Filter 제거
  5. Filter 수정

Filter 2: Time Filter (특정 시간 대역의 로그 조회)

1. 우측 상단의 'Last 15 minutes'를 클릭하면 Time Range 메뉴가 나타납니다.

  • Quick: 오늘, 이번 주, 이번 달, 최근 15분, 최근 1시간, 최근 7일 등의 지정된 시간 대역을 Quick하게 선택할 수 있습니다.


  • Relative: 특정 시간으로부터 현재까지의 시간 대역을 지정 할 수 있습니다. (from T to Now)


  • Absolute: 시작 시점부터 종료 시점까지 세부적인 시간 대역을 지정 할 수 있습니다. (from T to T')


2. 원하는 시간 대역을 선택합니다. (Relative 또는 Absolute 선택 시 [Go] 버튼 클릭)

Filter 3: Search Bar(키워드로 로그 검색)

1. 상단 검색창에 검색하고자 하는 키워드를 입력하고 Enter 또는 검색창 우측 아이콘을 클릭합니다.


2. 해당 키워드가 포함된 로그만 검색됩니다.



검색은 Lucene Query 문법을 사용합니다. (참고: https://lucene.apache.org/core/2_9_4/queryparsersyntax.html)

항목문법예시
기본 키워드 검색(value)album
특정 Field 값 검색(field_name): (value)log_msg: Start
부울 연산자 활용

(value 1) AND (value 2)

(value 1) OR (value 2)

NOT (value 2)

Job AND Start

Job OR Start

NOT Start

Wildcard 검색

(value)? - 단일 문자

(value)* - 다수의 문자

alb?m

alb*

범위 검색{(value1) to (value2)}title: {Aida TO Carmen}

권장 로그 포맷

공통 포맷

모든 로그에는 다음과 같이 공통 정보를 포함합니다.

  • Timestamp: 시간
  • Log Type (origin code): 로그 소스 타입
  • Channel: either STDOUT or STDERR: 메시지 타입
  • Message: 로그 메시지 (Router, Application 에서 생성하는 로그 메시지)

Log Type (origin code)

Log TypeDescription
APICloud Controller 에서 생성되는 로그입니다.
STG어플리케이션 stage or restage 시 Diego 에서 생성되는 로그입니다.
RTR어플리케이션 Request 시 Router 에서 생성되는 로그입니다.
LGR제외된 Log Type
APP어플리케이션에서 생성하는 로그입니다.
SSHSSH를 통해 어플리케이션 컨테이너에 접근시 발생되는 로그입니다.
CELL어플리케이션 stop or start 시에 Diego 에서 생성되는 로그입니다.

Application Log

  • Log Type이 [APP] 으로 구분되는 로그
  • 운영 중 확인이 필요한 로그는 INFO 레벨로 하며 그 외 로그는 DEBUG 레벨로 정의한다.

Log Level

로그 레벨은 각 프로젝트에서 사용 용도의 구분에 맞게 협의하여 조정할 수 있다.

  • FATAL: 직접적 장애를 유발하는 Critical 에러 발생시 사용. 시스템에 즉시 조처가 필요한 상황.
  • ERROR: 시스템 내부 처리시 발생한 Error 표시에 사용
  • WARN: Error 상황은 아니지만, 주의가 필요할 경우 사용. 프로세스는 계속적으로 실행 가능한 상태지만, 주의가 필요한 상황
  • INFO: 일반적인 정보를 표시할 경우 사용. 운영자 / 관리자가 정보 파악이 가능한 수준의 가독성으로 로깅 처리.
  • DEBUG: 시스템 디버깅을 위한 상세 정ㅈ보를 표시할 경우 사용

Access Log

  • Bluemix의 Router에서 제공하는 로그로 Log Type이 [RTR]로 구분되는 로그
  • 별도의 설정없이 Bluemix 에서 미리 설정된 로그 정보 입니다.

Format

  • Default Format
2016-06-14T10:51:32.51-0700 [RTR/1] OUT demo-test.sk.kr.mybluemix.net [25/07/2017:10:07:25.642 +0000] "GET /v1/eureka HTTP/1.1" 200 0 27 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" 169.56.68.3:35473 x_forwarded_for:"175.114.4.70" x_forwarded_proto:"https" vcap_request_id:c0d124ee-8e7c-42ae-6ab9-e84baec0c426 response_time:1.043913033 app_id:c8c8ffba-85be-4254-9342-f62fd5065340 x_global_transaction_id:"142114369"



이 답변이 유용합니까? 아니오

Send feedback
도움을 드리지 못해 죄송합니다. 피드백을 주시면 이 문서의 품질을 높이겠습니다.