Elasticsearch
- Docker & Kubernetes kursu
- İleri seviye
- Ders 57/70
- 4 dk
Elasticsearch ile günlük saklamayı öğrenirsin.
Elasticsearch
Elasticsearch (ve açık kaynak çatalı OpenSearch), log'ları tam metin aranabilir indekslerde saklayan dağıtık bir arama motorudur. Log'lar genellikle günlük indekslere yazılır (loglar-2026.11.03); eski indeksler bir yaşam döngüsü politikasıyla (ILM) silinir:
$ curl -s "http://elasticsearch:9200/_cat/indices/loglar-*?v"
health status index docs.count store.size
green open loglar-2026.11.02 18241332 9.1gb
green open loglar-2026.11.03 7120455 3.4gbElasticsearch durumludur: Kubernetes'te StatefulSet ve kalıcı disklerle, genellikle ECK operator'ü ile çalıştırılır.
Sorgulamak
Elasticsearch HTTP üzerinden JSON ile sorgulanır. Fluent Bit'in eklediği Kubernetes alanlarıyla süzülebilir:
curl -s "http://elasticsearch:9200/loglar-*/_search?size=3" -H 'Content-Type: application/json' -d '{
"query": {"bool": {"must": [
{"match": {"kubernetes.namespace_name": "magaza"}},
{"match": {"seviye": "error"}}
]}}
}'Alternatif olarak Grafana Loki, log içeriğini değil yalnızca etiketleri indeksler; daha ucuzdur ama tam metin aramada daha yavaştır.
Uygulama Elasticsearch'e bak
Üç komut yaz: loglama'daki svc/elasticsearch servisini yerel 9200'den 9200'e yönlendir; curl -s ile http://localhost:9200/_cluster/health?pretty adresini sorgula; curl -s ile http://localhost:9200/_cat/indices/loglar-*?v adresini sorgula.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl port-forward -n loglama svc/elasticsearch 9200:9200
curl -s "http://localhost:9200/_cluster/health?pretty"
curl -s "http://localhost:9200/_cat/indices/loglar-*?v"Beklenen çıktı
Forwarding from 127.0.0.1:9200 -> 9200
{
"cluster_name" : "loglama",
"status" : "green",
"number_of_nodes" : 3
}
health status index docs.count store.size
green open loglar-2026.11.03 7120455 3.4gb
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Log'ları günlük indekslere yazmanın faydası nedir?
- Gerekli değildir
- Eski veriyi tek tek kayıt değil, bütün indeks silerek ucuzca temizlemek Doğru cevap
- Aramayı yavaşlatmak
- Disk kullanımını artırmak
Açıklama: Saklama süresi (ör. 14 gün) indeks yaşına göre uygulanır.
2 İndeksleri listeleyen uç noktayı yaz.
curl -s "http://elasticsearch:9200/____/loglar-*?v"
curl -s "http://elasticsearch:9200/_cat/indices/loglar-*?v"
Açıklama: _cat API'leri okunur özetler verir.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
indeks |
Log deposu birimi |
ILM |
Yaşam döngüsü politikası |
_search |
Sorgu uç noktası |
Loki |
Etiket indeksli alternatif |