EFK Stack: Docker Üzerinde Elasticsearch, Fluentd ve Kibana Kurulumu
Merhaba,
Bu yazıda, Docker Compose kullanarak EFK (Elasticsearch, Fluentd, Kibana) stack’ını nasıl ayağa kaldıracağımızı ele alacağız.
EFK stack, logları toplama, saklama ve görselleştirme işlemlerini kolaylaştırır.
Bileşenler
- Elasticsearch: RESTful API üzerinden erişilebilen, yüksek ölçeklilik ve gerçek zamanlı arama yetenekleri sunan bir arama ve analiz motorudur.
- Fluentd: Açık kaynaklı bir veri toplama aracıdır, çeşitli kaynaklardan log ve veri akışlarını toplar, işler ve farklı hedeflere yönlendirir.
- Kibana: Elasticsearch’te saklanan verileri sorgulamak, görselleştirmek ve analiz etmek için kullanılan web tabanlı bir araçtır.
Gereksinimler
- Docker
- Docker Compose
Kurulum Talimatları
Reposu Klonlayın
İlk adım olarak aşağıdaki repo’yu localimize çekerek işe koyulalım.
git clone https://github.com/mustafadikyar/fluentd-elasticsearch-kibana.git
cd fluentd-elasticsearch-kibana
Stack’ı Oluşturun ve Çalıştırın
Aşağıdaki Docker Compose komutunu kullanarak stack’ı oluşturun ve çalıştırın:
docker-compose up --build -d
Bu komut, belirtilen servisleri arka planda başlatır.
Servislere Erişim
- Kibana: http://localhost:5601 adresinden erişilebilir.
- Elasticsearch: http://localhost:9200 adresinde erişilebilir.
- Fluentd: Logları TCP ve UDP port
24224
ve HTTP port8888
üzerinden kabul eder.
Fluentd Konfigürasyonu ve Log Gönderme
Fluentd, logları toplamak için TCP/UDP port 24224
ve HTTP port 8888
üzerinden yapılandırılmıştır. Aşağıdaki curl
komutunu kullanarak HTTP üzerinden log gönderebilirsiniz:
curl -X POST -d 'json={"action":"login","user":2}' http://localhost:8888/<tag>
<tag>
yerine loglarınız için uygun bir etiket belirleyin.
Docker Compose ve Fluentd Konfigürasyon Dosyaları
Kurulumun için; docker-compose.yml
dockerfile
ve fluent.conf
konfigürasyon dosyası sağlanmıştır.
Bu dosyalar, servislerin nasıl oluşturulacağını ve birbirleriyle nasıl iletişim kuracağını tanımlar.
Bu rehberle, EFK stack’ını Docker Compose kullanarak kolayca kurabilirsiniz.
Sevgiler.