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 elasticsearchTemel İş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 shardElasticsearch cluster için Dedicated Sunucu çözümlerimizi inceleyin.

