Kubernetes Helm İle ELK Kurulumu
Elasticsearch, Logstash ve Kibana (ELK) açık kaynaklı bir log yönetim sistemidir. Bu yazıda, Kubernetes üzerinde ELK yığını kurmanın nasıl yapıldığına odaklanacağız. Bu işlemi gerçekleştirmek için, Kubernetes paket yöneticisi olan Helm’i kullanacağız. Helm, Kubernetes uygulamalarının yönetimini kolaylaştıran bir araçtır ve uygulama örneklerinin yönetimi için hazır şablonlar içerir.
ELK Yığını Nedir?
ELK yığını, Elasticsearch, Logstash ve Kibana’yı kullanan bir log yönetim sistemidir. Bu üç araç bir arada çalışarak, verilerinizi toplar, filtreler, depolar ve görselleştirir. ELK yığını ayrıca beats adı verilen bir dizi araçla da entegre edilebilir. Beats’ler, web sunucuları, veritabanları, sistemler gibi farklı kaynaklardan gelen verileri almak için kullanılır.
Elasticsearch: Elasticsearch, JSON tabanlı veri depolama ve arama motorudur. Elasticsearch, kaydedilmiş verilerin dizinlenmesine ve hızlı bir şekilde aranmasına olanak tanır.
Logstash: Logstash, gelen verileri filtrelemek, değiştirmek ve formatlamak için kullanılan bir araçtır. Logstash, birden fazla veri kaynağından veri toplayabilir ve çeşitli veri depolama sistemleriyle entegre olabilir.
Kibana: Kibana, Elasticsearch’ün verilerini keşfetmek, analiz etmek ve görselleştirmek için kullanılan bir arayüzdür. Kibana, kullanıcıların Elasticsearch üzerinde detaylı raporlar oluşturmasına, grafikler oluşturmasına ve aramalar yapmasına olanak tanır.
Helm Nedir?
Helm, Kubernetes uygulamalarının yönetimini kolaylaştıran bir araçtır. Helm, uygulamaların dağıtımını, konfigürasyonunu ve güncellenmesini sağlayan bir paket yöneticisidir. Helm, her tür uygulama için kullanılabilen hazır şablonlar sunar ve bu şablonlar, uygulamanın gereksinimlerine uygun olarak yapılandırılabilir.
Kubernetes Üzerinde Helm Kurulumu
Kubernetes üzerinde Helm’in kurulumu oldukça basittir. İlk olarak, helm binary’sini indirerek başlayabiliriz. Bunun için aşağıdaki komutu kullanabilirsiniz:
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
Bu komut, Helm’in son sürümünü indirecek ve kurulumunu tamamlayacaktır.
Helm Yüklemesi Tamamlandıktan Sonra, ELK Yığınının Kurulumu İçin Gerekli Adımları İzleyebilirsiniz
- ELK Chart’ının İndirilmesi
ELK yığınının kurulumu için bir Helm chart’ı kullanacağız. Bu chart, tüm ELK bileşenlerinin kurulumunu otomatikleştirir. Aşağıdaki komutu kullanarak ELK chart’ını indirebilirsiniz:
helm repo add elastic https://helm.elastic.co
helm repo update
helm search repo elastic
helm pull elastic/elasticsearch --version 7.11.2
helm pull elastic/kibana --version 7.11.2
helm pull elastic/logstash --version 7.11.2
Bu komutlar, hem Elasticsearch, hem de Kibana ve Logstash için Helm charts’ını indirir. Bu komutları kullanarak, indirdiğiniz Helm charts’larını kontrol edebilirsiniz:
ls -al
- ElasticSearch Yüklenmesi
Elasticsearch’in yüklenmesi için aşağıdaki komutu kullanabilirsiniz:
helm install elasticsearch elastic/elasticsearch -f values.yaml --version 7.11.2
Bu komut, Elasticsearch chart’ının benzersiz bir ad ile kurulmasını sağlar ve ayrıca chart’ın yapılandırması için values.yaml dosyasını kullanır.
Elasticsearch’in Yapılandırılması
Elasticsearch chart’ı, birden fazla replica set’i, her replica set’te birden fazla pod ve Elasticsearch cluster’ına bağlanacak bir service oluşturur. Elasticsearch’in yapılandırması, values.yaml dosyasında yapılır. Bu dosyada, örneğin cluster adı, replica set boyutu, storage class gibi ayarları belirleyebilirsiniz.
Kibana Yüklenmesi
Kibana’nın yüklenmesi için aşağıdaki komutu kullanabilirsiniz:
helm install kibana elastic/kibana -f values.yaml --version 7.11.2
Bu komut, Kibana chart’ının benzersiz bir ad ile kurulmasını sağlar ve Kibana chart’ının yapılandırması için values.yaml dosyasını kullanır.
Kibana’nın Yapılandırılması
Kibana chart’ı, bir deployment olarak oluşturulur ve Kibana’nın çalışacağı pod sayısını belirler. Ayrıca, Kibana’nın dışarıdan erişilebilir hale getirilmesi için bir service oluşturur. Kibana’nın yapılandırması da values.yaml dosyasında yapılır.
Logstash Yüklenmesi
Logstash’in yüklenmesi için aşağıdaki komutu kullanabilirsiniz:
helm install logstash elastic/logstash -f values.yaml --version 7.11.2
Bu komut, Logstash chart’ının benzersiz bir ad ile kurulmasını sağlar ve Logstash chart’ının yapılandırması için values.yaml dosyasını kullanır.
Logstash’in Yapılandırılması
Logstash chart’ı, bir deployment olarak oluşturulur ve Logstash’ın çalışacağı pod sayısını belirler. Ayrıca, Logstash’in dışarıdan erişilebilir hale getirilmesi için bir service oluşturur. Logstash’in yapılandırması da values.yaml dosyasında yapılır.
ELK Stack Konfigürasyonu
Elasticsearch, Logstash ve Kibana arasındaki iletişim, ELK stack konfigürasyonunda ayarlanır.
- Elasticsearch URL’sinin Ayarlanması
Kibana, Elasticsearch URL’sini bilerek Elasticsearch cluster’ına bağlanabilir. Elasticsearch URL’si, Kibana’nın yapılandırmasına eklenerek ayarlanabilir. Elasticsearch URL’si, values.yaml dosyasında belirlenebilir.
- Logstash Çıkışının Ayarlanması
Logstash, Elasticsearch URL’sini bilerek Elasticsearch cluster’ına bağlanabilir. Logstash çıkışı, Logstash yapılandırma dosyasına eklenerek ayarlanabilir. Logstash yapılandırma dosyası, values.yaml dosyasında belirlenebilir.
- Kibana’nın Ayarlanması
Kibana, Elasticsearch URL’sini ve Elasticsearch cluster’ın adını bilerek Elasticsearch cluster’ına bağlanabilir. Kibana ayarları, Kibana yapılandırma dosyasına eklenerek ayarlanabilir. Kibana yapılandırma dosyası, values.yaml dosyasında belirlenebilir.
ELK Stack Dashboard’ı Oluşturma
Elasticsearch, Logstash ve Kibana kurulumunu tamamladığımıza göre, artık dashboard oluşturmaya hazırız. Dashboard şablonlarını kullanarak, log verilerini görselleştirebilir ve analiz edebilirsiniz.
- Dashboard Şablonlarının İndirilmesi
Elastic.co, birçok farklı amaç için dashboard şablonları sunar. Bu şablonları indirmek için aşağıdaki komutları kullanabilirsiniz:
ELK Stack Dashboard’ı Oluşturma
Elasticsearch, Logstash ve Kibana kurulumunu tamamladığımıza göre, artık dashboard oluşturmaya hazırız. Dashboard şablonlarını kullanarak, log verilerini görselleştirebilir ve analiz edebilirsiniz.
- Dashboard Şablonlarının İndirilmesi
Elastic.co, birçok farklı amaç için dashboard şablonları sunar. Bu şablonları indirmek için aşağıdaki komutları kullanabilirsiniz:
curl -L -O https://download.elastic.co/beats/dashboards/beats-dashboards-1.1.0.zip
unzip beats-dashboards-*.zip
cd beats-dashboards-*
./load.sh -url "http://localhost:9200"
Bu komutlar, beats-dashboards-1.1.0.zip dosyasını indirir, zip dosyasını açar ve Elasticsearch’e dashboard şablonlarını yükler. Bu işlem tamamlandıktan sonra, Kibana arayüzünden Elasticsearch üzerindeki log verilerini analiz etmek için hazır olacaksınız.
- Dashboard’ın Oluşturulması
Kibana, veri görselleştirme ve analizi ile ilgili çeşitli araçlar sunar. Kibana’da yeni bir dashboard oluşturmak için aşağıdaki adımları takip edebilirsiniz:
- Sol taraftaki menüden “Dashboard” seçeneğine tıklayın.
- Dashboard oluşturmak için “Create new dashboard” butonuna tıklayın.
- Yeni dashboard oluşturmak için “Add panel” butonuna tıklayın.
- Panel tipini seçin (grafik, tablo, metin vb.).
- Verileri filtrelemek veya sorgulamak için “Add filter” butonuna tıklayın.
- Görselleştirme Aracı Olarak Grafana Kullanımı
Grafana, veri görselleştirme aracı olarak kullanılan açık kaynaklı bir araçtır. Grafana, birden fazla veri kaynağından veri alabilir ve bunları farklı grafikler ve tablolarla gösterir. Ayrıca, Grafana birçok farklı veri kaynağına bağlanabilir ve bu sayede birden fazla veri kaynağındaki verileri tek bir yerde görselleştirebilirsiniz.
ELK Stack’in Grafana ile Entegrasyonu
ELK Stack, Grafana ile entegre edilebilir ve Grafana tarafından kullanılabilen veri kaynağı olarak kullanılabilir. ELK Stack’in Grafana ile entegrasyonu, Elasticsearch üzerindeki verilerin Grafana’da görselleştirilmesine olanak tanır.
- Grafana’nın Kurulumu
Grafana’yı kurmak için aşağıdaki komutları kullanabilirsiniz:
wget https://dl.grafana.com/oss/release/grafana-8.0.6.linux-amd64.tar.gz
tar -zxvf grafana-8.0.6.linux-amd64.tar.gz
cd grafana-8.0.6/bin
./grafana-server web
Bu komutlar, Grafana’nın son sürümünü indirir, tar dosyasını açar ve Grafana’yı başlatmak için gerekli komutları çalıştırır.
- ELK Stack Verilerinin Grafana’da Görselleştirilmesi
Grafana’ya giriş yaptıktan sonra, “Configuration” menüsünden “Data Sources” seçeneğine tıklayın. “New data source” butonuna tıklayın ve Elasticsearch’i seçin. Elasticsearch URL’sini ve diğer ayarları girin ve “Save & Test” butonuna tıklayın. Bu sayede, Elasticsearch veri kaynağı Grafana’ya eklenecektir.
Daha sonra, Grafana’da yeni bir dashboard oluşturabilir ve Elasticsearch verilerini grafiklerle veya tablolarla görüntüleyebilirsiniz.
ELK Stack kapsamlı bir log yönetim platformudur ve büyük veri analizi için önemli bir araçtır. Elasticsearch, Logstash ve Kibana gibi açık kaynaklı araçların kullanımı, günlük log kaydı bölümlerinin toplanması, filtrelenmesi, işlenmesi ve analiz edilmesi için etkili bir çözüm sunar. Ayrıca, Grafana ile entegre edilerek verilerin daha detaylı şekilde incelenmesi ve görselleştirilmesi mümkündür. Bu nedenle, ELK Stack, özellikle büyük şirketler veya kuruluşlar için önemli bir araçtır.