수집노드 수평 확장 가이드

개요

  • 구축 당시 산정하였던 로그량보다 증가, 혹은 연동장비 증가로 인한 노드 증설이 필요한 경우 참조 부탁드립니다.

주의 사항

:light_bulb: Sonar 4.0.2502.1 이후 버전부터 노드 증설이 가능하오니, 하위 버전에서 가이드를 참조하시는 경우 사전에 패치를 권고드립니다.

:light_bulb: 분석-수집-전달 구조일 때 가능하며, 로그 수집은 전달서버, 적재는 수집서버에서 이뤄지는 형태일 경우에만 가능합니다.

:light_bulb: 사이트 브랜치의 경우, 커스텀 환경을 사전에 파악 후 진행해주시기 바랍니다.

신규 노드 설치

1. 인증서 갱신

  • 분석 노드 내 인증서 파일을 증설할 수집 노드에 업로드합니다.

    • 경로 : [data 경로]/logpresso-ca/cert/
      • ca.pfx
      • ca.jks
      • base.pfx
      • web.pfx
      • storage.pfx
      • sentry.pfx
  • 수집노드 쉘 접속 후 기존 인증서 목록 삭제

    keystore.unregister logpresso-ca
    keystore.unregister logpresso-ca-key
    keystore.unregister logpresso-base
    keystore.unregister logpresso-web
    keystore.unregister logpresso-storage
    
    keystore.list // 등록되어있는 인증서 확인
    
  • 업로드 한 인증서 재 등록

    keystore.register logpresso-ca JKS [인증서 경로]ca.jks
    keystore.register logpresso-ca-key PKCS12 [인증서 경로]ca.pfx
    keystore.register logpresso-web PKCS12 [인증서 경로]web.pfx
    keystore.register logpresso-base PKCS12 [인증서 경로]base.pfx
    keystore.register logpresso-storage PKCS12 [인증서 경로]storage.pfx
    keystore.register logpresso-sentry PKCS12 [인증서 경로]sentry.pfx
    
    keystore.list // 등록되어있는 인증서 확인
    

2. 앱 파일 업로드

  • 타 수집노드에 설치되어있는 앱 파일을 수동으로 업로드합니다.
    • 경로 : [로그프레소 설치 경로]/plugin 하위에 설치된 app 파일을 증설할 노드 plugin 경로에 업로드

3. 전달노드에 연동

  • 전달노드 로그프레소 쉘에 접속하여 증설할 수집노드를 연동합니다.

  • :light_bulb: 아래 명시되어 있는 [증설 수집노드 이름과 ID] 는 분석노드 UI 내 클러스터 노드에 등록한 수집 노드의 이름과 ID 를 뜻함

    forwarder.addBase [증설 수집노드ID] [증설 수집노드IP] 7140 logpresso-sentry logpresso-ca 1000000000
    forwarder.addBasePair [증설 수집노드 이름] [증설 수집노드A ID] [증설 수집노드S ID]  // 이중화 구성이 아닌 경우 Active의 ID를 두번 기입 
    

4. 증설할 수집 노드 설정

  • 분석노드 쉘에서 sonar.cipherkey 명령어 수행 후 키 값 복사

  • 수집노드 쉘 접속하여 아래 설정 진행

    sonar.setCipherKey [복사한 cipher키 값]
    
    setCryptoConfig
    	path : [데이터 적재 경로]/logpresso-ca/certs/storage.pfx
    	
    sonar.setGuid [UI에서 클러스터 노드 추가 시 확인한 Guid 값]
    
    sonar.setMaster
    	host? 분석 노드의 VIP
    	port? 443
    	account? root
    	password? 분석 ENT의 Password
    	connect timeout? 10000
    	read timeout? 10000
    	secure? true
    	skip cert check? true
    
    sentry.setGuid [수집노드의 센트리 ID]
    
    sentry.addbase [수집노드의 Guid와 같지 않은 임의의 BASE 명] [분석노드 VIP] 7140 logpresso-sentry logpresso-ca 100000000
    
    logpresso.enablePlanner  // 분산쿼리 활성화
    
  • 이후 증설할 수집노드 재 기동 ( 단, 분석서버와 동기화 중 재기동 X )

5. 타 노드 페더레이션 현황 확인

  • 타 노드에 페더레이션 설정이 간헐적으로 잘 되지 않아 에러로그가 발생하는 경우를 방지
  • 증설할 수집노드 ENT UI 접속 후 타 노드 페더레이션 상태 확인
  • 타 노드 ENT UI에 접속하여 증설할 수집노드의 페더레이션 상태 확인
    • 연결 실패 상태라면 삭제 후 등록, 등록되어있지 않다면 추가

6. 스트림 로거 생성

  • 분석노드의 ENT 에서 진행

  • 증설한 수집노드에서의 실시간 탐지 목적

  • 수집설정 → 센트리 → 연동한 수집노드 선택 → 수집 설정 추가 버튼클릭

  • 기타 → 스트림쿼리 출력

  • 쿼리 → 스트림 으로 이동

  • data_event 편집 후 추가한 sonar_event 체크