본문 바로가기

반응형

Elasticsearch

(5)
[ElasticSearch] 정리 #1 - 기본 개념 ElasticSearch : 검색 , 분석 엔진으로 대량의 데이터를 실시간으로 색인(Indexing)하고 검색(Searching)하고 분석(Ananyzing)하며 시각화(Visualizing)할 수 있다. ES는 다양한 언어에 대해 Restful API를 제공하므로 프로그래밍 기반으로 ES를 사용할 수도 있다. ES 기본 개념 Index : Document를 저장하는 논리적 구분자 ( ~= RDB의 Table ) Document : ES에서 실제 데이터를 저장하는 단위 ( ~= RDS의 Table 내 Row ) Document CRUD - Create(인덱싱) : Document를 특정 Index에 포함시킴 - Read : DSL(Domain Specific Language) 사용하여 Index 내 모든..
[ECS] FireLens로 ECS Fargate 컨테이너 로그 ElasticSearch로 보내기 1. 개요 ECS Fargate를 사용하다보면 Log를 어떻게 보내야할지에 대해 고민하게 된다. Fargate이기 때문에 별도 서버는 없고, Log는 수집해야 하는데 어떻게 보내야할지에 대해서 막막할 수 있는데 이러한 고민을 덜기 위해 AWS에서는 FireLens라는 기능을 출시하였다. 내부적으로 Fluentd 혹은 FluentBit 이미지를 가지고 AWS가 목적에 맞게 커스터마이징하여 개발한 Container Image라고 생각하면 되며 Task Definition에 Value만 전달하여 Log를 전달할 수도 있다. 좀 더 Custom하게 사용하고 싶다면 S3에 fluent-bit.yml 파일을 올려서 설정 값을 전달할 수도 있고 Image를 Pull하여 Container에 접속하여 설정값을 변경한 뒤..
[AWS] Multi Account에서 IAM 내역 감사하기 #2 - 테라폼으로 인프라 프로비저닝 1. 개요 Multi Account 환경에서 IAM 관련 Action에 대한 감사를 하기 위해서는 Log들을 Security 관련 Account에서 수집해야 한다. 이에 대한 인프라 프로비저닝은 Terraform을 사용하였다. (부분 부분 웹 콘솔로 진행한 부분도 있기 때문에 참고만 하면 좋을 것이다.) 2. 구조 프로젝트의 폴더 구조는 아래와 같다. 별도의 모듈은 굳이 사용하지 않았으며, resource, data, variable, local 등을 활용하여 리소스를 Code로써 표현하였다. # another-accounts EventBridge에서 기 정의한 IAM Action이 Pattern에 걸릴 경우 Security Account의 EventBus로 전달한다. # security-accounts..
[Elasticsearch] Nginx 로그 Fluentd를 통해 Elasticsearch로 보내기 Nginx의 로그를 Fluentd를 통해 취합하고, 이를 ElasticSearch로 보낸 다음 Kibana에서 Nginx의 Access Logs를 Dashboard로 시각화하여 확인할 수 있다. 실습 환경 - OS : CentOS7 - Container Runtime : Docker - Tool : docker compose [도구 소개] - Nginx 웹 서비스이며 리버스 프록시로써 많이 사용된다. - FluentD Log(데이터) 수집기(Collector)라고 생각하면 된다. Fluentd로 전달된 데이터는 ‘tag, time, record(JSON)으로 구성된 이벤트로 처리되며, 원하는 형태로 가공되어 다양한 목적지 (S3, ElasticSearch, ..)로 전달될 수 있다. 만약 더 적은 메모리..
[ElasticSearch] ElasticSearch 개념 알아보기 ElasticSearch는 Java 기반의 오픈소스이며 뛰어난 검색 능력과 대규모 분산 시스템을 구축 가능하며 모든 데이터를 색인하여 저장하고 검색, 집계 등 결과를 클라이언트에게 응답 또는 다른 프로그램으로 전달하여 동작할 수 있게 한다. 또한 Kibana와 연동하여 로그를 시각화할 수 있다. 용어 클러스터 : 하나 이상의 노드로 구성되며, 고가용성을 유지하기 위함. 각 노드들은 홀수개로 구성이 되어야 한다. 마스터 노드 : 인덱스의 메타 데이터, 샤드의 위치 등 클러스터의 상태 정보를 관리하는 노드 데이터 노드 : 실질적으로 데이터가 저장되는 노드 인제스트 노드 : 데이터를 변환하는 등 사전 처리 파이프라인을 실행하는 역할 도큐먼트 : 단일 데이터 단위 인덱스 : 도큐먼트들을 모아놓은 집합 (Indi..

반응형