Elasticsearch açık kaynaklı bir arama motorudur. Arka planda Apache Lucene arama motorunu çalıştırır. Apache Lucene, yüksek performanslı bir metin arama motorudur.
Elasticsearch, verileri dokümanlar (documents) kullanarak işler. Bu dokümanlar, verilerin mantıksal bir şekilde gruplandırılmasını sağlar. Elasticsearch bu dokümanlara hızlıca erişir ve verileri aranabilir hale getirir.
Elasticsearch, Logstash ve Kibana ile beraber ELK yığınının parçalarından biridir. Bir veri depolama,arama ve analiz etme platformudur.
Logstash faklı kaynaklardan gelen(kafka, veritabanı vb.) verileri alır ve uygun adrese yönlendirir.
Elasticsearch alınan verileri analiz eder, kayıtlarını tutar ve arama işlemlerini yapar.
Kibana analiz görselleştirme uygulamasıdır.
Docker Container İçinde Elasticsearch ve Kibana’yı Çalıştırma
docker-compose.yml adında bir yaml dosyası oluşturulur ve bu dosya bir klasör altına kaydedilir. Terminalden bu klasörün olduğu konuma gidilir ve docker-compose up komutu çalıştırılır. localhost:9200 ile elasticsearch’ün çalışıp çalışmadığı kontrol edilir. localhost:5601 ile kibana bağlantısı kurulur.
Docker-compose file içeriği;
version: "3.0"
services:
elasticsearch:
container_name: es-container
image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
environment:
- xpack.security.enabled=false
- "discovery.type=single-node"
networks:
- es-net
ports:
- 9200:9200
kibana:
container_name: kb-container
image: docker.elastic.co/kibana/kibana:8.6.2
environment:
- ELASTICSEARCH_HOSTS=http://es-container:9200
networks:
- es-net
depends_on:
- elasticsearch
ports:
- 5601:5601
networks:
es-net:
driver: bridge