ELK Stack이란? ElasticSearch를 처음 알게 된 건 7~8년 전쯤 세미나에서 알게 되었습니다. 검색엔진 정도로만 알고 당시에는 자료를 찾기 어려워 깊이 있게 알지 못하였었는데요. 지금부터 자세히 알아가 보도록 하겠습니다. ELK Stack은 Elasticsearch, Logstash, Kibana의 세 가지 프로젝트로 구성된 Stack을 의미하는 약어입니다. 사용자에게 모든 시스템과 애플리케이션에서 로그를 집계하고 이를 분석하며 애플리케이션과 인프라 모니터링 시각화를 생성하고, 빠르게 문제를 해결하며 보안 분석할 수 있는 능력을 제공합니다. Elasticsearch는 Apache Lucene에 구축되어 배포된 검색 및 분석 엔진입니다. 고성능에 다양한 언어를 지원하고 스키마가 없는 JSO..
ElasticSearch 실행하기 ElasticSearch가 실행되려면 Java1.8 이상의 버전이 설치되어 있어야하며, 하나의 서버에서 모든 역할을 하는 Node 3개를 실행해 보도록 하겠습니다. 하나의 서버에 Node 1 ~ 3 실행 # Node1 (9200/9300) bin/elasticsearch -Ecluster.name=es-cluster -Enode.name=node1 # Node2 (9201/9301) bin/elasticsearch -Ecluster.name=es-cluster -Enode.name=node2 # Node3 (9202/9302) bin/elasticsearch -Ecluster.name=es-cluster -Enode.name=node3 ElasticSearch 백그라운드..
ElasticSearch 설치 하기 Java 설치 sudo yum install java-1.8.0-openjdk-devel.x86_64 -y java -version ElasticSearch 7.7.0 버전 설치 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-x86_64.rpm rpm -ivh elasticsearch-7.7.0-x86_64.rpm systemctl enable elasticsearch.service ElasticSearch Config 설정하기 JVM 사용 메모리 설정 vi /etc/elasticsearch/jvm.options #OS 메모리에 따라 조절 Xms8gXmx8g ElasticSea..
리눅스 OS 시스템 설정 ElasticSearch를 사용하다 보면 OS에 따라 성능에 영향이 생기기도 합니다. 가장 중요한 건 메모리이며, OS환경도 최적화하여 성능을 올려주는 게 좋습니다. 메모리 권장 크기는 16GB~64GB입니다. 일반적으로 서버 전체 메모리의 절반을 Elasticsearch에서 사용할 JVM Heap에 할당하는 것이 권장합니다. 메모리가 많을수록 좋겠지만 JVM이 사용하는 트릭(compressed oops)이 32GB 아래에서 사용되는 제약이 있기 때문에 그 두 배인 64GB의 최대 권장 값을 가지게 됩니다. CPU 빠른 속도와 많은 Core로 고민된다면, Multi Core가 주는 Concurrency가 이점이 많다고 볼 수 있습니다. 디스크 로그 수집기로 사용할 경우 Index..