Elasticsearch ve Kibana Kurulumu: Adım Adım Rehber
Modern uygulama ve sistemlerin ürettiği büyük miktarda veriyi anlamlandırmak, sorunları hızlıca tespit etmek ve iş zekası elde etmek için güçlü araçlara ihtiyaç duyarız. Elasticsearch, bu verileri depolamak, aramak ve analiz etmek için tasarlanmış dağıtılmış bir arama ve analiz motorudur. Kibana ise Elasticsearch’te depolanan verileri görselleştirmek ve etkileşimli panolar oluşturmak için kullanılan bir web arayüzüdür. Birlikte, genellikle “ELK Stack” olarak bilinen Elastic Stack’in temelini oluştururlar.
Bu blog yazısında, bir Linux sunucusu (Ubuntu veya Debian tabanlı sistemler için uygundur) üzerine Elasticsearch ve Kibana’nın temel kurulumunu adım adım gerçekleştireceğiz. Amacımız, hızlıca çalışır durumda bir ortam oluşturarak veri analizi ve görselleştirme yolculuğunuza başlamanızı sağlamaktır.
Ön Gereksinimler
Kuruluma başlamadan önce sisteminizin güncel olduğundan ve Elasticsearch için gerekli olan Java JRE’nin kurulu olduğundan emin olmalıyız.
Sisteminizi güncelleyin:
sudo apt update && sudo apt upgrade -y
OpenJDK 17’yi kurun (önerilen sürüm):
sudo apt install openjdk-17-jre -y
Elasticsearch Kurulumu
Elasticsearch paketlerini yüklemek için Elastic’in APT deposunu eklememiz gerekiyor. Bu depo, en güncel ve kararlı sürümü almanızı sağlayacaktır.
Elasticsearch GPG anahtarını içe aktarın:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
APT kaynak listesine Elastic deposunu ekleyin:
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
Paket listesini güncelleyin ve Elasticsearch’ü kurun:
sudo apt update
sudo apt install elasticsearch -y
Elasticsearch Yapılandırması
Elasticsearch’ün düzgün çalışması için bazı temel ayarları yapmamız gerekiyor. Yapılandırma dosyası /etc/elasticsearch/elasticsearch.yml konumundadır.
sudo nano /etc/elasticsearch/elasticsearch.yml
Aşağıdaki satırları bulun veya ekleyin (varsayılan değerlerini değiştirmeniz gerekebilir):
# Ağ ayarları (tüm arayüzlerden erişim için)
network.host: 0.0.0.0
# Başlangıçta tek düğümlü bir küme için (kendi host adınızı buraya yazın veya tek sunucu ise bu satırı kaldırabilirsiniz)
# Örneğin: cluster.initial_master_nodes: ["elk-server"]
cluster.initial_master_nodes: ["node-1"]
# X-Pack Security'yi geçici olarak devre dışı bırakın (basit kurulum için)
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
xpack.security.http.ssl.enabled: false
xpack.security.transport.ssl.enabled: false
Değişiklikleri kaydedin ve düzenleyiciden çıkın (Ctrl+O, Enter, Ctrl+X).
Heap Boyutunu Ayarlama: Elasticsearch, JVM üzerinde çalıştığı için heap boyutunun ayarlanması önemlidir. Bu ayar /etc/elasticsearch/jvm.options dosyasında yapılır. Genellikle sunucunun RAM’inin yarısı kadar (maksimum 31GB) bir değer ayarlanır. Örneğin, 8GB RAM’e sahip bir sunucuda 4GB ayarlanabilir:
sudo nano /etc/elasticsearch/jvm.options
Aşağıdaki satırları bulun ve düzenleyin:
# /etc/elasticsearch/jvm.options
-Xms4g
-Xmx4g
Sistem Ayarı (vm.max_map_count): Elasticsearch’ün dosya sisteminde mmap (memory map) kullanımını artırması için bu ayarı yapmalısınız. Aksi takdirde, düşük mmap sayısından dolayı hatalarla karşılaşabilirsiniz.
sudo sysctl -w vm.max_map_count=262144
Bu ayarın kalıcı olması için /etc/sysctl.conf dosyasına ekleyin:
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
Elasticsearch Servisini Başlatma
Yapılandırma tamamlandıktan sonra Elasticsearch servisini başlatabilir ve sistem başlangıcında otomatik başlamasını sağlayabiliriz:
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
Servisin durumunu kontrol edin:
sudo systemctl status elasticsearch
Çıktıda “active (running)” ifadesini görmeniz gerekir.
Elasticsearch Kurulumunu Test Etme
Elasticsearch’ün düzgün çalışıp çalışmadığını kontrol etmek için curl kullanabiliriz:
curl -X GET "http://localhost:9200"
Başarılı bir kurulumda, küme adı, sürüm bilgileri gibi JSON formatında bir yanıt almalısınız. Örnek bir çıktı şöyle görünecektir:
{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "...",
"version" : {
"number" : "8.x.x",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "...",
"build_date" : "...",
"build_snapshot" : false,
"lucene_version" : "...",
"minimum_wire_compatibility_version" : "...",
"minimum_index_compatibility_version" : "..."
},
"tagline" : "You Know, for Search"
}
Kibana Kurulumu
Kibana için de aynı GPG anahtarı ve depo kullanılır, bu yüzden Elasticsearch kurulumunda eklemiş olmanız yeterlidir.
Kibana’yı kurun:
sudo apt update
sudo apt install kibana -y
Kibana Yapılandırması
Kibana’nın Elasticsearch ile iletişim kurabilmesi ve web arayüzüne erişilebilmesi için bazı ayarlar yapılması gerekir. Yapılandırma dosyası /etc/kibana/kibana.yml konumundadır.
sudo nano /etc/kibana/kibana.yml
Aşağıdaki satırları bulun veya ekleyin:
# Kibana'nın çalışacağı port
server.port: 5601
# Kibana'nın dinleyeceği ağ arayüzü (tüm arayüzlerden erişim için)
server.host: "0.0.0.0"
# Elasticsearch sunucusunun adresi
elasticsearch.hosts: ["http://localhost:9200"]
# Eğer Elasticsearch'te güvenlik devre dışı bırakıldıysa, kullanıcı adı ve şifreye gerek yoktur.
# elasticsearch.username: "kibana_system"
# elasticsearch.password: "sifreniz"
Değişiklikleri kaydedin ve düzenleyiciden çıkın.
Kibana Servisini Başlatma
Yapılandırma tamamlandıktan sonra Kibana servisini başlatabilir ve sistem başlangıcında otomatik başlamasını sağlayabiliriz:
sudo systemctl daemon-reload
sudo systemctl enable kibana
sudo systemctl start kibana
Servisin durumunu kontrol edin:
sudo systemctl status kibana
Çıktıda “active (running)” ifadesini görmeniz gerekir.
Kibana Kurulumunu Test Etme
Bir web tarayıcısından http://SİZİN_SUNUCU_IP_ADRESİNİZ:5601 adresine giderek Kibana arayüzüne erişip erişemediğinizi kontrol edin. Kibana’nın hoş geldiniz ekranını görmeniz gerekmektedir.
Güvenlik Notu
Bu rehber, hızlı bir başlangıç için temel bir kurulumu göstermektedir. Üretim ortamlarında, Elasticsearch ve Kibana için TLS/SSL şifrelemesi, kullanıcı kimlik doğrulaması (X-Pack Security) ve ağ segmentasyonu gibi güvenlik önlemlerinin mutlaka yapılandırılması gerekmektedir. Bu ayarlar, Elastic Stack’inizi dış tehditlerden korumak için hayati öneme sahiptir.
Sonuç
Tebrikler! Elasticsearch ve Kibana’yı başarılı bir şekilde kurdunuz. Artık loglarınızı, metriklerinizi ve diğer verilerinizi toplamaya, depolamaya ve görselleştirmeye hazırsınız. Bir sonraki adım, veri kaynaklarınızı Elastic Stack’e entegre etmek olacaktır (örneğin, Filebeat, Metricbeat veya Logstash kullanarak). Bu temel kurulum, ELK Stack’in güçlü dünyasına adım atmanız için sağlam bir zemin oluşturacaktır.
