📦 ETC/TOY PROJECT

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 트러블슈팅 (1) - Elasticsearch

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 트러블슈팅 (1) - Elasticsearch

    앞선 포스팅에서는 로컬 develop 환경이어서 아무런 문제없이 Elasticsearch를 구성할 수 있었는데요. 다수 서버의 프로덕션 환경에서는 많은 문제가 발생해 꽤나 고생했습니다. 이번 포스팅에서는 Elasticsearch를 프로덕션 환경에 구성하면서 겪었던 문제와 해결 과정을 소개하려고 합니다. Elastic Stack 구성 우선 제게 허락된 서버는 2대였습니다. 그런데 Elasticsearch는 최소 3개의 노드가 필요하기 때문에 좀 더 성능이 나은 서버에 두 개의 노드를 구성했습니다. External Network 🟩 외부망에서 접근 가능한 루트입니다. L4 스위치를 경유해 두 개의 서버에 로드 밸런싱이 되도록 했습니다. Internal Network 🟥 내부망에서만 접근 가능한 루트입니다. ..

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 인증인가 처리

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 인증인가 처리

    이번 포스팅에서는 데이터 수집기(Springboot Application)와 Elasticsearch에 인증인가 기능을 더해 우리 프로젝트를 SaaS(Software As A Service)처럼 만들어보도록 하겠습니다. 인증인가 기능 추가로 얻고자 하는 것 올바른 API SecretKey를 가진 요청만 수집이 가능합니다. API SecretKey를 통해 수집 요청 서비스를 구분하고, FileWriter에서 수집 데이터 쓰기 작업 시 디렉터리를 분리합니다. 앞서 분리된 디렉터리별로 Elasticsearch로 전송되는 데이터의 인덱스를 구분합니다. Kibana에서 서비스별 사용자 계정을 생성하고, 권한이 있는 서비스의 인덱스만을 조회할 수 있도록 합니다. 데이터 수집기 인증 인가 데이터 수집기의 인증인가는 ..

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 데이터 수집해서 시각화 하기 (2)

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 데이터 수집해서 시각화 하기 (2)

    이전 포스팅에서 ELK Stack을 어찌저찌 원하는대로 돌아가게끔 구성했습니다. 이번 포스팅에서는 구성 후 받은 피드백과 오류 파티를 해결한 내용을 정리해보고자 합니다. X-Pack 문제 어느 순간부터 Logstash 를 기동할 때 아래와 같은 오류가 발생하고 데이터 Shipping이 불가능했습니다. [logstash.licensechecker.licensereader] Attempted to resurrect connection to dead ES instance, but got an error {:url=>”http://elasticsearch:9200/“, :exception=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableE..

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 데이터 수집해서 시각화 하기 (1)

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 데이터 수집해서 시각화 하기 (1)

    앞선 포스팅에서 반정형 로그 수집기 애플리케이션을 만들어보았습니다. 구현 내용을 다시 상기해보면, 해당 애플리케이션은 반정형 데이터 수집 요청을 받아 Writer 인터페이스를 구현하는 Writer들로 데이터를 저장하는 역할을 했습니다. 이번 포스팅에서는 FileWriter로 로컬 저장소에 저장된 데이터들을 ELK Stack(Elastic Stack)을 이용해 수집하고, 저장하고, 시각화해보도록 하겠습니다. docker compose 작성 GitHub - ParkIlHoon/data-collector: [개인 프로젝트] 찍먹용 데이터 수집 프로젝트 [개인 프로젝트] 찍먹용 데이터 수집 프로젝트. Contribute to ParkIlHoon/data-collector development by creatin..

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 반 정형 데이터 수집기 만들기

    [찍어먹기] Spring Boot 부터 ELK Stack 까지 :: 반 정형 데이터 수집기 만들기

    첫 번째 요리. Spring Boot를 활용한 반정형 데이터 수집 애플리케이션입니다. 이 애플리케이션은 요청받은 데이터를 여러 형태의 저장소(로컬 파일, DB 등)에 저장하는 역할을 합니다. 요구사항 POST 요청을 통해 수집할 데이터를 받음 한 시간마다 수집한 데이터를 로컬에 파일로 저장(롤링) File I/O 는 느리고, 요청마다 파일에 데이터를 쓰면 버틸 수 없기 때문에 임시로 메모리에 쌓고 비동기로 파일에 Write 조리 과정에서 여러 차례의 설계 수정과 리팩터링이 있었습니다. 이제 각 단계별로 설명해드리도록 하겠습니다. 단계별 레시피(소스 코드)도 함께 있으니 clone 받아 따라 해 보세요! 더보기 초기 개발 설계 수정 및 피드백 반영 피드백 반영 이벤트 Pub-Sub 피드백 반영 1. 초기 ..

반응형