Cloud/ElasticSearch

[이론] Elasticsearch 형태소 분석기
Cluster Elaster search cluster는 분산처리 아키텍처이다. 외부에서 바라보면 하나의 서비스이지만 실제로는 안에 여러 개의 entity가 들어있다. Elasticsearch의 resource는 다음과 같다. CPU, Memory, Disk 위에 세 가지가 Elasticsearch 서비스를 운영한다. Elasticsearch lcuster 안에는 여러 개의 node가 들어있다. Index & Cluster Index : 데이터를 저장하는 단위 이는 분산처리 아키텍쳐에서 분산되어 저장된다. 하나의 인덱스는 여러 개의 Shard로 구성되어 있다. Shard 레벨로 각각의 node 안에 저장된다. Replica Shard : 이렇게 해야 특정 node가 죽었을 때도 다른 node의 Repli..

[실습] Elastic APM 사용하여 접속 기록 수집하기
실습 개요 Elastic의 APM 기능을 사용하여 접속 기록을 수집하고 그 결과를 확인할 수 있다. 1. EC2 서버에서 설정하기 (1) EC2 서버를 연결한다. (2) nodejs를 설치한다. sudo yum instal nodejs (3) test page를 작성한다. /home/ec2-user 위치에서 작성해야 하며 이는 pwd 명령어로 확인 가능하다. vi app.js const http = require('http'); const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello, World!\n'); }); const po..

[실습] Elastic으로 데이터 시각화 하는 방법 (Visualize Library, Dashboard)
실습 개요 Elastic의 기능을 이용하여 데이터를 시각화 한다. Metric을 이용해 시각화하기 (1) Visualize Library 에 접근하여 Create new visualization을 클릭한다. Aggregation based와 Metric을 선택한다. (2) 대상으로 할 데이터를 선택한다. (3) 특정 필터를 걸어 등장 횟수를 확인할 수 있다. (4) Save를 하여 Title과 dashboard를 설정한다. (5) Visualize Library에 방금 Save한 것을 확인할 수 있다. Bucket을 이용해 시각화하기 (1) 다시 Create visualization을 클릭한다. Aggregation > Vertical Bar 선택 > 대상이 되는 데이터를 선택한다. (2) Buckets..

[실습] 데이터 관리 - Roles, User, Space, ILM, Snapshot, Connector
데이터 관리 실습 실습 : 데이터를 관리하는 실습을 진행한다. 상세 내용 : 권한 만들기, 유저 만들기, ILM 생성하고 부여하기 1. 권한 만들기 (1) Elasticsearch > Stack Management > Roles 에서 역할들을 확인할 수 있다. (2) 우측 상단의 Create Role을 선택하여 Role을 추가한다. (3) Role에 대한 설정을 추가한다. name은 guest로 설정하고 cluster privileges에서 read 관련 권한들을 부여한다. indices에 접근 가능한 index를 설정한다. (글쓴이는 이전에 추가해둔 데이터셋인 forest로 하였다.) Kibana는 Add Kibana privilege를 클릭하여 아래 사진과 같이 설정한다. (4) create role..

[이론] 데이터 전처리, 색인 관리, 시각화
1. Elastic 데이터 기본 구조 (1) 클러스터 구조 클러스터의 구조는 아래와 같다. (2) 노드 클러스터를 구성하는 단위 중 하나 elasticsearch onprem으로 설치할 수 있다. 노드는 클러스터로 가용성 때문에 묶어주어야 한다. 노드 하나가 죽어도 다른 노드가 가동될 수 있도록 하기 위함이다. 노드는 최소 3개 이상인 홀수 개를 설정해야 한다. 3개 이상이 권장된다. 서버 당 노드는 1개이다. 클라우드 생성 시에 설정한다. 별도 설정이 없을 때 http port #는 9200, tcp port #는 9300이다. 클러스터를 여러 개 두어 통신 가능하다. cluster.yml에 클러스터 번호를 작성해주어 구분하여 접근 가능하다. (3) 인덱스 구조 테이블과 동일한 개념이다. 인덱스의 기본..

[실습] Elasticsearch 실습 - logstash와 metricbeat 사용하기
실습 주제 주제 : 서버의 데이터 가져오기 방법 : 같은 환경의 EC2 띄워서 데이터를 가져오기 Logstash : 데이터 정제를 하는 것이다. 생략이 가능하다. Input → Filter → Output 순서대로 작성한다. Input Plugin : 특정 이벤트 소스를 logstash에서 불러와 데이터가 스트리밍 되는 방식의 수집 기능을 제공한다. Filter Plugin : 데이터를 동적으로 변환, 통합한다. Output Plugin : 다양한 출력을 제공한다. 본 실습에서는 Output Plugin에서 Elastic으로 보낸다. Beats → Logstash → Elasticsearch → Kibana Beat와 Logstash는 생략 가능하다. 1. EC2 서버 만들기 (1) AWS 홈페이지 > ..

[이론] ElasticSearch 개념, 특징, 기능
학교 SW중심대학사업단 X AWS AWS Cloud Winter Camp 오프라인 교육 첫날이 시작됐다! 5일 동안의 오프라인 첫날, ElasticSearch에 대한 기초적인 것을 배웠다. 1. Elasticsearch 소개 Elasticsearch는 오픈소스 검색 엔진으로 데이터의 가치를 높이기 위해 사용하는 부재료이다. 데이터를 적재하고 정제하여 클라이언트에게 보여주며 검색을 최적화하고 빠르게 하는 도구이다. Elasticsearch는 여러 분야에서 검색 기능으로 활용이 되는데 아래와 같은 항목들에서 활용될 수 있다. 대외 서비스 활용 : 검색 포탈, 뉴스/지식백과/사전, SNS/e커머스/소셜서비스 대내 서비스 활용 : 사내포탈/그룹웨어, 개발소스/로그 통합검색, 업무/마케팅 자료분석 (1) RDB ..