본문 바로가기

Programming152

로그스태시는 장애 시 어떻게 데이터 손실을 방지할까? 로그스태시는 엘라스틱 스택에서 데이터를 수집하고 가공하여 엘라스틱 서치로 전송하는 역할을 담당하고 있습니다. 이 과정은 입력,필터,출력 플러그인을 통해 하나의 파이프라인을 형성하며 이루어지는데 이 처리 과정 중에 장애가 발생하여 로그스태시가 종료되면 처리중인 데이터는 손실됩니다. 이러한 손실을 방지하기 위해 로그스태시는 어떠한 노력을 하고 있을까요? 로그스태시는 유입된 이벤트를 처리할 때 출력이 완료되어야만 해당 이벤트가 완료된 것으로 판단하고, 그 전에는 큐에 이벤트 레코드를 유지합니다. 로그스태시를 Ctrl+C 또는 SIGTERM 신호를 통해 정상 종료할 경우에는 데이터 수집을 중지하고, 필터와 출력 플러그인에 의해 처리 중인 이벤트들을 정상적으로 처리 완료한 후에 종료합니다. 기본적으로 이 이벤트들.. 2017. 12. 12.
[AWS] EC2 종료 시 filebeat 정상 종료 확인 및 대기 오토스케일링 설정이 되어 있는 경우 EC2 종료 시 약 1시간까지 종료 대기가 가능하다. 이 때 서비스를 활용하면 인스턴스 종료 시에 서비스를 종료하는 과정에서 원하는 프로세스를 체크하여 정상 종료를 확인 한 후에 종료시킬 수가 있게 된다. Elastic Beanstalk의 AMI인 Amazon Linux 환경에서는 chkconfig를 사용하여 서비스를 등록할 수 있다. systemd unit files/etc/systemd/system 디렉토리 하위에 unit file들 정의unit_name.type_extension 형식으로 파일명을 지정Unit 섹션에서 사용할 수 있는 옵션옵션내용DescriptionUnit에 대한 설명. 이는 systemctl status 명령으로 출력됨DocumentationUn.. 2017. 9. 26.
ELK에 Search Guard 적용 nginx 인증을 사용하여 사내 직원들에게 kibana에 접속하도록 하고 있던 중 Popit의 Search Guard로 ES, 키바나 인증 구축 포스팅을 보고 적용을 하게 되었다. 적용 과정 중 수차례 삽질을 했었기 때문에 조금 더 상세하게 정리를 해보았다. Elasticsearch에 Search Guard 설치install 명령$ bin/elasticsearch-plugin install -b com.floragunn:search-guard-5:5.5.0-14버전은 아래 버전표 참고tools 디렉토리로 이동$ cd /plugins/search-guard-/toolsinstall_demo_configuration.sh 실행$ ./install_demo_configuration.sh실행권한이 없는 경우 c.. 2017. 7. 14.
[AWS] Amazon ECS 사전 지식 ECS는 Docker를 사용하여 EC2 인스턴스 클러스터에 애플리케이션을 쉽게 배포하고 확장, 축소가 가능하도록 해주는 서비스이다. 이를 위해 각 EC2 인스턴스에 Docker 컨테이너를 어떻게 구성하여 띄울 것인지에 대한 작업 정의를 해 놓고, 이 작업정의를 기반으로 클러스터에 어떻게 실행하고 유지 관리할지에 대한 정의가 포함되어 있는 서비스를 생성한다. 이 때 작업 정의에서 사용되는 Docker 컨테이너의 이미지는 ECR의 각 리포지터리를 사용한다. 서비스에 대한 정의에 따라 ELB와 Auto Scaling이 구성되어 클러스터 내 EC2 인스턴스들이 확장되거나 축소될 수 있다. 주요 구성 요소Container InstanceAmazon ECS 에이전트를 실행 중이며 클러스터에 등록된 Amazon EC.. 2017. 6. 15.