Blog'a Dön

Elasticsearch ve ELK Stack Kurulum Rehberi (2026)

Elasticsearch kurulumu, index ve mapping yapılandırması, Kibana dashboard oluşturma ve ELK Stack ile log analizi.

elasticsearchelk stackkibanalogstashlog analiziarama

Elasticsearch, Apache Lucene üzerine inşa edilmiş dağıtık bir arama ve analitik motorudur. Log analizi, tam metin arama, uygulama performans izleme ve güvenlik bilgi yönetimi (SIEM) için kullanılır.

Elasticsearch Kullanım Alanları

  • Log Analizi: ELK Stack (Elasticsearch + Logstash + Kibana)
  • Site İçi Arama: E-ticaret ürün arama, blog arama
  • APM: Uygulama performans izleme
  • SIEM: Güvenlik olaylarını analiz etme
  • Metrik Analizi: Zaman serisi veriler

Elasticsearch Kurulumu

# Java gereksinimi (Elasticsearch 8.x dahili JDK ile gelir)
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

sudo apt update
sudo apt install elasticsearch

# Yapılandırma
sudo nano /etc/elasticsearch/elasticsearch.yml
# cluster.name: hostopya-cluster
# node.name: node-1
# network.host: 0.0.0.0
# discovery.type: single-node

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Temel İşlemler

# Index oluşturma
curl -X PUT "localhost:9200/blog_posts" -H 'Content-Type: application/json' -d '{
  "mappings": {
    "properties": {
      "title": { "type": "text", "analyzer": "turkish" },
      "content": { "type": "text", "analyzer": "turkish" },
      "category": { "type": "keyword" },
      "date": { "type": "date" }
    }
  }
}'

# Belge ekleme
curl -X POST "localhost:9200/blog_posts/_doc" -H 'Content-Type: application/json' -d '{
  "title": "VDS Sunucu Rehberi",
  "content": "VDS sunucu seçerken dikkat edilmesi gerekenler...",
  "category": "sunucu",
  "date": "2026-04-01"
}'

# Arama
curl -X GET "localhost:9200/blog_posts/_search" -H 'Content-Type: application/json' -d '{
  "query": { "match": { "title": "sunucu" } }
}'

ELK Stack ile Log Analizi

Sunucu loglarınızı merkezi olarak toplamak ve analiz etmek için ELK Stack kullanabilirsiniz. Sunucu hata kodları gibi sorunları kolayca tespit edebilirsiniz:

# Kibana kurulumu
sudo apt install kibana
# http://SUNUCU_IP:5601

# Logstash kurulumu
sudo apt install logstash

# Basit Logstash pipeline
# /etc/logstash/conf.d/nginx.conf
input { file { path => "/var/log/nginx/access.log" } }
filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } }
output { elasticsearch { hosts => ["localhost:9200"] index => "nginx-logs" } }

Performans Optimizasyonu

# JVM heap boyutu (RAM'in %50'si, max 32GB)
# /etc/elasticsearch/jvm.options
-Xms4g
-Xmx4g

# Shard sayısını optimize edin
# Küçük indexler: 1 shard
# Büyük indexler: node sayısı kadar shard
Elasticsearch cluster için Dedicated Sunucu çözümlerimizi inceleyin.