
Elastic Stack Nedir? Linux Debian Üzerinde Elastic Stack(ELK) 8.x Kurulumu
Elastic Stack Nedir? Debian Üzerinde Elastic Stack 8.x ElasticSearch, Logstash ve Kibana, Beats Kurulumu!
Tanıtım
Elastic Stack açık kaynak olarak geliştirilen veri analiz ve yönetim platformudur. Farklı noktalardan bir noktaya veri toplayarak gerçek zamanlı olarak arama yapabilir, analiz edebilir, verileri filtreleyebilir ve görselleştirebilirsiniz. Network logları, sistem logları gibi bir çok verileri toplayarak analiz etmenize olanak tanır.
Geleneksel olarak üç ana bileşenden oluşan Elk Yığını, ElasticSearch, Logstash ve Kibana, bu birleşiminden ayrıldı ve “Beats” adı verilen dördüncü bir öğeyle birlikte kullanılabilir hale getirildi. Beats uygulamasıda eklenerek proje geliştirildi ve Elastic Stack olarak yeniden adlandırıldı.
Elastic Stack‘te veri toplama ve toplanan verileri işleme görevi Logstash‘ın sorumluluğundaydı, Logstash doğal tasarım sorunları nedeniyle, özellikle büyük ve karmaşık işlem hatlarında performans sorunları ile karşılaşıldı ve bu sebeple bu işlemi başka araçlara devretme fikri ortaya çıktı ve “Beats” adı verilen yeni ve geliştirilmiş bir protokol tanıtıldı.
Beats, logları toplamak için altyapınızdaki farklı sunuculara yüklenen agent gibi davranan hafif, kaynak açısından verimli, küçük ve açık kaynaklı veri toplayıcısıdır. Veriler toplandıktan sonra, ek işleme için doğrudan Elasticsearch’e veya Logstash’a gönderilir.

ElasticSearch, Tam metinli bir arama motorudur.
Logstash, Verileri toplar ve belirlediğiniz filtrelere göre çıktılar üreterek elasticsearch’e aktarır. İşleyiş sırasıyla şu şekildedir.
- INPUT : Veri kaynağı girilir.
- FILTER : Veriler nasıl parse edileceği bilgisi girilir.
- OUTPUT : Verilerin iletileceği adres bilgisi girilir.
Kibana, Toplanan verilerin görselleştirilmesini sağlar.
Beats, (Filebeat, Winlogbeat, Packetbeat vs.) Veri iletme platformu, Logstash ve Elasticsearch’e veri gönderimini gerçekleştirir.
Elastic Stack 8.x Kurulumu
Elastic Stack’i sanal ortamımızda Debian üzerine kurulunu yapacağız.
Önemli: Elastic Stack’i kurulumunda tüm platformların aynı sürümde olmasına dikkat etmelisiniz. Örneğin, Elasticsearch 8.1.3 kullanıyorsanız, Beats 8.1.3, Elasticsearch 8.1.3, Kibana 8.1.3 ve Logstash 8.1.3’ü yüklemelisiniz.
Kurulum Sıralaması
- Elasticsearch
- Kibana
- Logstash
- Beats
Bu sırayla kurulum, her platformun bağlı olduğu paketlerin yerinde olmasını sağlar.
OpenJDK Kurulumu
Elasticsearch java tabanlı olduğundan dolayı OpenJDK veya Oracle JDK uyumlu versiyonun kurulu olduğundan emin olmalısınız. İlk olarak elasticsearch için Java versiyon bilgilerinin kontrol edilmesi ve uyumlu Java versiyonunun yüklenmesi gerekmektedir.
Not : Sunucunuzda Elasticsearch ve Logstash için uyumlu olan Java 8 veya Java 11 kurulu olması gerekmektedir.
Bunun için önce bir terminal açıp aşağıdaki komutla Java versiyon bilgisi kontrol edilir.
java -version
Çıktı şöyle görülmelidir.

Java LTS sürüm 8, resmi Debian Buster depolarında mevcut değildir. Bu sebeple OpenJDK paketleri sağlayan AdoptOpenJDK deposunu eklememiz gerekli.
- Önce paketleri güncelleyerek HTTPS depolara erişim sağlamak için “apt-transport-https” paketinin kurulması gerekmektedir. Aşağıdaki komut ile bu paketi kurulumunu gerçekleştirin.
sudo apt update
sudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common
2.Aşağıdaki komut ile GPG anahtarını içe aktarın.
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
3. AdoptOpenJDK APT deposunu sisteminize ekleyin.
sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
4. Depo eklendikten sonra paket listesini güncelleyerek Java 8’i yükleyin.
sudo apt update
sudo apt install adoptopenjdk-8-hotspot
Son olarak Java sürümünü kontrol edin.
java -version
Ngnix Kurulumu
Nginx’i varsayılan olarak Debian depolarında olduğundan dolayı aşağıdaki komutla Nginx kurulumunu yapabilirsiniz.
sudo apt-get install nginx
ElasticSearch Kurulumu
İlk olarak genel imzalama anahtarını GPG indirin ve yükleyin.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
Depoyu aşağıdaki komut ile kaydedin.
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
Depoyu ekledikten sonra aşağıdaki komutla paket listesini güncelleyip elasticsearch paketini yükleyin.
sudo apt-get update && sudo apt-get install elasticsearch
ÖNEMLİ! ElasticSearch yüklemesi tamamlandığında “elastic” kullanıcısı için şifre bilgisi aşağıdaki gibi yazacaktır.

Elasticsearch nasıl hareket edeceğini kontrol etmek için elasticsearch.yml konfigürasyon dosyasını kullanır. Konfigürasyon dosyasını düzenlemek için nano komutu ile açalım.
sudo nano /etc/elasticsearch/elasticsearch.yml
Konfigürasyon dosyasını açtıktan sonra aşağıdaki satırları bulalım.
#network.host: 192.168.0.1
#http.port: 9200
İki satırın başında bulunan (#) işareti kaldırarak aşağıdaki gibi düzenleyin.
network.host: 192.168.2.66
http.port: 9200

Elasticsearch JVM Ayarlarını Ayarlayın
Ardından, JVM yığın boyutunu, bellek miktarınızın yarısından fazla olmayacak şekilde yapılandırın. Şuan sunucuda totalde 4 gb bellek bulunmakta, ben 2 gb olarak yapılandırıyorum. JVM yığın boyutunu ayarlamak için aşağıdaki komutu çalıştırarak konfigürasyon dosyasını açıyoruz.
nano /etc/elasticsearch/jvm.options

Dosyayı kaydedin ve çıkın.
Elasticsearch’ü başlatın
Elasticsearch’ü başlatmak için aşağıdaki komutu çalıştırın. (Servisin başlaması uzun sürebilir.)
sudo systemctl start elasticsearch.service
Servisin önyüklemede başlatılması için aşağıdaki komutu girin.
sudo systemctl enable elasticsearch.service
Aşağıdaki curl komutunu kullanarak elasticsearch durumunu kontrol edebilirsiniz. IP adresini uygun şekilde değiştirin.
curl https://192.168.2.66:9200 --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic
Aşağıdaki gibi bir çıktı alırsanız herşey yolunda demektir.

Ayrıca, bağlantı noktalarının açık olup olmadığını kontrol edin.
ss -altnp | grep 9200

Kibana Kurulumu
Daha sonrasında ise Kibana kurulumu önerilir. Kibana’yı kurmak için aşağıdaki komutu çalıştırın.
sudo apt-get install kibana
Kibana Yapılandırılması
Kibana’yı makinemize kurduktan sonra yapılandırma için aşağıdaki komutu çalıştırın.
sudo nano /etc/kibana/kibana.yml
Etkinleştirmek istediğimiz konfigürasyonların başındaki “#” işareti silin.
#server.port: 5601
#server.host: "your-hostname"
Yukarıda belirtilen satırlar aşağıdaki gibi görünmelidir:
server.port: 5601
server.host: "192.168.2.66"

Ardından, aşağıdaki komutu kullanarak Kibana için bir kayıt jetonu oluşturun, oluşturulan jetonu bir yere kayıt edin.
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

xpack.encryptedSavedObjects.encryptionKey
: Panolar ve görselleştirmeler gibi saklanan nesneleri şifrelemek için kullanılır.xpack.reporting.encryptionKey
: Kaydedilmiş raporları şifrelemek için kullanılır.xpack.security.encryptionKey
: Oturum bilgilerini şifrelemek için kullanılır.
Kibana için şifreleme anahtarlarını oluşturmak için aşağıdaki komutu çalıştırın.
/usr/share/kibana/bin/kibana-encryption-keys generate

Daha sonrasında oluşturulan anahtarları kibana.yml dosyasına aşağıdaki komutla ekleyin.
echo -e "xpack.encryptedSavedObjects.encryptionKey: ebbb5582df530cb7043a5db7171fdd61
xpack.reporting.encryptionKey: a69ac8838bd9c26591f93e2bad796a22
xpack.security.encryptionKey: 3520c1cadbe1c3399a1a89b1936817d9" >> /etc/kibana/kibana.yml
Kibana ekranına erişmek için “5601″ numaralı bağlantı noktasındaki trafiğe izin vermeniz gerekir. Aşağıdaki komutu çalıştırarak port trafiğine izin verin.
sudo ufw allow 5601/tcp
Sonrasında ise aşağıdaki komutları çalıştırıp servisleri başlatıp, etkinleştirin.
sudo systemctl start kibana
systemctl enable --now kibana
Kibana durumunu kontrol edin.
systemctl status kibana

http://192.168.2.66:5601/?code=941142
Daha sonrasında tarayıcı adres kısmına yukarıda verilen url adresini kullanarak erişebilirsiniz.
Kibana arayüzüne eriştikten sonra, hoş geldiniz sayfasında Elastic’i yapılandırmanız istenecektir. Yukarıda oluşturduğumuz token’i kutuya yapıştırıp “Configure Elastic” butonuna tıklayın.

Daha sonrasında oluşturulan Elastic kullanıcı kimlik bilgilerini kullanarak giriş yapın.


Logstash Kurulumu
Aşağıdaki komutu çalıştırarak Logstash’i yükleyin.
sudo apt-get install logstash
Logstash hizmetini başlatın
sudo systemctl start logstash
Hizmeti etkinleştirin
sudo systemctl enable logstash
Logstash servisinin durumunu kontrol etmek için aşağıdaki komutu çalıştırın:
sudo systemctl status logstash
Filebeat Kurulumu
En yaygın kullanılan Beats modülüdür. Kurulumu gerçekleştirmek için aşağıdaki komutu çalıştırın.
sudo apt-get install filebeat
Filebeat, varsayılan olarak verileri Elasticsearch’e gönderir. Filebeat verilerini Logstash’e göndermek için de yapılandırılabilir.
Filebeat’i Başlatın ve Etkinleştirin
sudo systemctl start filebeat
sudo systemctl enable filebeat
Thank you a lot for sharing this with all of us you actually realize what you’re talking approximately!
Bookmarked. Please also discuss with my web site =). We will
have a link trade agreement among us