DevOps & Linux System

Docker Compose ile ELK (Elasticsearch, Logstash, Kibana) Kurulumu

Elasticsearch, yüksek performanslı, dağıtık bir arama ve analiz motorudur. Logstash, verileri farklı kaynaklardan toplayarak, normalize edip Elasticsearch gibi depolama sistemlerine iletmek için kullanılır. Kibana ise Elasticsearch’teki verileri görselleştiren ve kullanıcı dostu bir web arayüzü sunar.

ELK Stack, büyük ve karmaşık veri kümeleri üzerinde çalışan sistemler için oldukça faydalıdır. Özellikle log analizi ve izleme işlemleri için yaygın olarak tercih edilmektedir. ELK sayesinde işletmeler, günlük verilerini izleyebilir, analiz edebilir ve olası sorunları tespit edebilirler.

Docker Compose kullanarak ELK Stack kurulumu oldukça basit bir işlemdir. Bu yöntemle ELK Stack’i hızlıca kurarak verilerinizi toplayabilir, depolayabilir ve analiz edebilirsiniz. Aşağıda, Docker Compose ile Elasticsearch, Logstash ve Kibana’yı çalıştıracak bir yapılandırma örneği yer almaktadır:

version: '3.7'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
    environment:
      - cluster.name=docker-cluster
      - network.host=0.0.0.0
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"  
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata1:/usr/share/elasticsearch/data
    ports:
      - "9200:9200"
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    networks:
      - elastic

Daha fazla detay ve tam YML dosyası için GitHub hesabımdaki Docker Compose ELK deposuna göz atabilirsiniz.

ELK Stack Kurulumu İçin Portainer Kullanımı

Docker Compose dosyanızı çalıştırmak için Portainer üzerinden bir Stack oluşturarak işlemlere başlayabilirsiniz. Bunun için:

1. Stacks sekmesine gidip, Add Stack seçeneğine tıklayın.

2. Karşınıza çıkan Web Editor alanına YML dosyanızı yapıştırabilir ya da GitHub’daki depodan referans vererek doğrudan tanımlayabilirsiniz.

3. Son olarak Deploy the Stack butonuna tıklayarak ELK sistemini başlatabilirsiniz.

Başarılı bir kurulumun ardından üç container’ın ayakta olduğunu göreceksiniz. Kibana arayüzüne erişmek için tarayıcınızdan şu URL’yi kullanabilirsiniz: http://0.0.0.0:5601

Elasticsearch ve Kibana Yapılandırması

Elasticsearch container’ına terminal üzerinden bağlanarak bir Token oluşturabilirsiniz. Portainer üzerinden terminale erişmek için console butonlarını kullanabilirsiniz.

docker exec -it -u root container-id bash

Ardından, Elasticsearch üzerinde Token oluşturmak için aşağıdaki komutu çalıştırın:

bin/elasticsearch-create-enrollment-token --scope kibana --url https://localhost:9200

Ürettiğiniz tokeni kopyalayıp, Kibana arayüzünde ilgili alana yapıştırarak kuruluma devam edebilirsiniz. Ayrıca, doğrulama kodunu almak için Kibana container’ına bağlanarak şu komutu çalıştırabilirsiniz:

bin/kibana-verification-code

Kullanıcı Oluşturma

Kurulum işlemlerinin sonunda, Kibana kullanıcı giriş ekranı karşınıza çıkacaktır. Eğer YML dosyanızda kullanıcı tanımlamadıysanız, Elasticsearch container’ına bağlanarak manuel olarak bir kullanıcı oluşturabilirsiniz:

bin/elasticsearch-users useradd alperensah -p parola -r superuser

Bu işlemle superuser rolüne sahip bir kullanıcı oluşturmuş olursunuz. Artık Kibana arayüzüne giriş yapabilirsiniz.

Kurulum işlemlerimiz burada sona eriyor. Kullanım ve log takip süreçlerini bir sonraki makalelerde detaylıca ele alacağız. İyi çalışmalar!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir