Ana içeriğe atla

Fun with Docker..ELK Stack-Kibana

Hatırlarsanız Fun with Docker yazı serisine ELK Stack kurulumunu aktaracak bir yazı serisiyle devam etmeye karar vermiştik. Dün yazının ilk ve olmazsa olmaz parçası olan ElasticSearch kurulumunu tamamlamıştık. Bugün ise Kibana kurulumuyla devam edeceğiz.

Kibana ELK Stack yapısının görsel arayüzünü sunan projedir. Önceki yazıda da yazdığım gibi ELK Stack ile ilgili tüm detaylara https://www.elastic.co/elk-stack linkini kullanarak ulaşabilirsiniz. 

Bugünkü yazımızda Kibana imajını çalıştırırken ElasticSearch için kullandığımız ip ve hostname bilgilerini kullanacağız. Bu çalışma sırasında iki farklı container imajından myKibana ismini vereceğimiz Kibana imajı, Elastic imajına network üzerinden erişerek, görüntüleme ve raporlama arayüzünü sunacak. Kısaca daha önce Elastic için kullandığımız bilgileri hatırlarsak;

Elastic imaj hostname: myElastic
Elastic imaj ip: 172.18.0.21

Kibana konfigürasyon sırasında kibana.yml dosyasını kullanıyor, bu dosyada yazan elasticsearch.url bilgisini Elastic için kullandığımız myElastic host adıyla değiştireceğiz.  Peki myElastic ismini nasıl çözerek ip addressine çevirecek diye soruyorsanız, cevabı birazdan geliyorJ Öncelikle docker hostumuz olan Windows 10 üzerinde kibana.yml dosyasını hazırlamalıyız.

GitHub sayfamda paylaşmış olduğum konfigürasyon dosyalarına aşağıdaki linki kullanarak erişebilirsiniz. Bu yazımızda /Kibana/kibana.yml dosyasını kullanacağız.


Şimdi Windows hostunuzda paylaşıma açabileceğiniz bir directory oluşturmanızı rica ediyorum. Ben kendi testlerimde dockerShare isimli bir directory oluşturdum. Siz de bu isimde  bir directory oluşturarak github repositoryden indirdiğiniz config dosyalarını bu directory altına kopyalabilirsiniz. Son durumda aşağıdaki dizinler ve dosya docker host üzerinde yer almalıdır.

C:\dockerShare\ELKStack\Kibana\kibana.yml

Bu aşamayı sorunsuz atladığımızı düşünerek yazıya daha önceki yazılarda olduğu gibi docker pull işlemi ile devam ediyorum.
Öncelikle aşağıdaki komutu Run as administrator ile açmış olduğumuz powershell host üzerinde çalıştıralım.

docker pull elastic/kibana:6.2.2

Pull işlemi sırasında aşağıdaki linki kullanarak repository hakkında bilgi sahibi olabilirsiniz.



Artık aksiyon zamanı! Daha önce myElastic host kaydını nasıl resolve edeceğimize yazının kalanında değineceğimi yazmıştım. Docker sağladığı –add-host parametresiyle imajın /etc/hosts dosyasına yazmak için host:ip bilgisini dışarıdan input olarak alabiliyor. 

Aşağıdaki komutla daha önce oluşturduğumuz ve ElasticSearch imajını da bağladığımız ogretmenNw isimli custom bridge networkumuzu kullanıyoruz. Bu network üzerinden myKibana ismini vereceğimiz Kibana containerimiza 172.18.0.20 ipsini assign ediyoruz. Kibana için gerekli config dosyalarını dosyalarını ise docker hostumuzda oluşturulacak share üzerinden containera ileteceğiz.  

docker run --network ogretmenNw --name myKibana --hostname myKibana --ip 172.18.0.20  --add-host myElastic:172.18.0.21 -v C:\dockerShare\ELKStack\Kibana\config\:/usr/share/kibana/config:ro -p 5601:5601 elastic/kibana:6.2.2


Komutu çalıştırır çalıştırmaz Docker for Windows, docker hostumuz üzerinde yer alan directory ‘nin share edilmesi için iznimizi isteyecek.


“Share it” ile onayımızı verdikten sonra da directory erişimi için Credential girişi gerekecek.


Ve sonunda Kibana imajı running durumda.. 


Bu ekrandan CTRL + C ile çıkış yapabilirsiniz. Container çalışmaya devam edecektir.
Docker hostunuz üzerinde http://localhost:5601/app/kibana linkine giriş yaparak Kibana’yla tanışabilirsiniz. 

İyi eğlenceler..

Yorumlar

Bu blogdaki popüler yayınlar

Check Computer Object is Alive On Domain

Powershell'in gücü system admin rolündeki kişiler için tartışılmaz. Zaman zaman üzerinde aging tanımı olmayan ortamlarda, düzgün yönetilemeyen domain ve dns ortamlarında aslında kapalı olan ve kapalı olmamasına rağmen domainden düşmüş computer objelerinin tespit edilebilmesi için aşağıdaki gibi bir script geliştirmiştim. Umarım faydası olur, her türlü ek geliştirme için hakkiogretmen@gmail.com adresine mail atabilirsiniz. Import-Module ActiveDirectory $myServers = @("servers") If (Test-Path "D:\Temp\PasswordLastSetResult.txt"){ Remove-Item "D:\Temp\PasswordLastSetResult.txt" } $Servers_OU =  "OU=ServersOU,OU=ABCServersOU,DC=mydomain,DC=dmn,DC=com" foreach ($myserver in $myServers)         {         $mycomp = Get-ADComputer –SearchBase $Servers_OU –SearchScope SubTree -Filter { OperatingSystem -like "Windows Server*"} -Properties PasswordLastSet,IPv4Address | Select * | Where-Object {$_.Name -eq $myserver} trap [Syste...

Configure IIS Application pool to use gMSA

Daha önce yayınladığım  gMSA oluşturma  yazımda Active Directory'de nasıl gMSA oluşturacağımı paylaşmıştım. Bu yazıda ise bu gMSA 'i nasıl web application sunucusunda kullanıma alacağımızı aktarmaya çalışacağım. Web Application'ımız veritabanı bağlantısı kuracak ise SQL Server'da gMSA'i yetkilendirme yazımı inceleyebilirsiniz. Umarım faydalı olur. IIS Manager'ı (run-->inetmgr) açarak Application Pools listemizi açmalıyız. Application Pools Llist Değişiklik yapmak istediğimiz Application Pool seçilerek Advanced Settings ekranı açılır. Bu ekranda değiştireceğimiz alan Identity alanıdır. Advanced Settings --> Identity Application Pool'umuz gMSA kullanıcımız verilerek konfigüre edilir. Username kısmına domain\gMSA$ şeklinde gMSA eklenir. Password Active Directory tarafından yönetildiği için bu alanlar boş bırakılır. Configure Identity Credentials Uygulamamız içerisinde Windows Authentication kullanılmıyorsa connection string'imizi d...

Powershell Kullanarak Windows Features Yönetimi (Import And Export)

Bu yazı Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 ve Windows Server 2016 işletim sistemleri üzerinde kullanılabilecek bilgiler içerir. Yazıyı okumaya başlamadan önce yazı içerisinde kullanılacak Get-WindowsFeature ve Add-WindowsFeature cmdletleriyle ilgili detaylı bilgileri inceleyebilirsiniz. Kendi ortamınızda test yapmadan önce ServerManager modülünü import etmelisiniz, Import-Module cmdlet için de yine MSDN üzerindeki bilgilerden faydalanabilirsiniz. Umarım faydalı bir yazı olmuştur. Birden fazla sunucuya benzer kurulumları yapmak istediğimizde karşımıza operasyonel zorluklar çıkabiliyor. Bu işlemleri hızlandırmanın & standart bir hale getirmenin bir çok yolu var ancak bu yazıda bir sunucu üzerinde kurulu Windows Feature'ların powershell ile toplanarak, diğer bir sunucuda kurulması için en basit olduğunu düşündüğüm yöntemi paylaşacağım. İlk olarak servermanager modülünün Powershell sessionımıza import edilmesi gerekmekted...