folder Tahribat.com Forumları
linefolder Programlama Genel
linefolder ELK Stack + Filebeat Kurulumu (Merkezi Log Sistemi Kurulumu)



ELK Stack + Filebeat Kurulumu (Merkezi Log Sistemi Kurulumu)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dyrnade
    dyrnade's avatar
    Kayıt Tarihi: 27/Temmuz/2009
    Erkek
     

     Not: Kisa ve oz neyin ne oldugunu anlattim sorulariniz olursa burdan sorun hep beraber tartisalim.

     
    1. Filebeat

     

     
    Filebeat, loglari istedigimiz bir yere taşımamızı sağlayan bir uygulamadır.
    Filebeat'i yapılandirmak için ayar dosyasi kullanilir.Yapilandirmadan kasıt, taşınmasını istediğiniz log dosyalari(log files), nereye(destination) taşımak istediginiz, ne tür logların(multiline veya regex extracted) ve bunlardan fazlasını yapabilmeniz demektir.
    Örnek Filebeat ayar dosyası (https://github.com/zetaops/zcloud/blob/master/containers/elk/containers/filebeat/filebeat.yml)

     

     
    Ayar dosyanızda ilgili değişiklikleri yaptıktan sonra Filebeat'i şu şekilde çalıştırın.

     

     
    /usr/bin/filebeat -e -v -c filebeat.yml

     

     
    -e: logları stderr'da göstermek için.
    -v: INFO level logları göstermek için.
    -c: ayar dosyasını seçmek için.

     

     
    Filebeat hakkında daha fazla bilgi için (https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html)

     

     
    2. Logstash

     

     
    Logstash, gönderilen logları toplama, süzme ve elasticsearch'e loglari göndermemize yarar.
    Logstash'i yapılandırmak için ayar dosyası kullanılır.

     

     
    Logstash ayar dosyası üç bölümden oluşur.

     

     
    input: filebeat gibi log göndericilerden(log source) gelen logları aldığımız bölümdür.Burda log gönderen programın adı, gönderdiği port ve hatta burda bile log süzme yapabiliriz.

     

     
    output: süzülen logların nereye gönderilceği yer(destination); stdout, eleasticsearch vb. belirtilir.

     

     
    filter: bu bölümde gelen loglar içinden ayıklamak istediğiniz loglar için ayarlamalar yapılır.Filtre yazmak için grok kullanılır.
    Logstash filtreleri oluşturmak için şuraya bakınız.(https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns)
    Filtlerinizi test etmek için (http://grokconstructor.appspot.com/do/match) kullanabilirsiniz.

     

     
    Örnek logstash ayar dosyası (https://github.com/zetaops/zcloud/blob/master/containers/elk/containers/logstash/logstash.conf)

     

     
    Ayar dosyasında gerekli ayarlamaları yaptıktan sonra

     

     
    /opt/logstash/bin/logstash -f logstash.conf şeklinde çalıştırabilirsiniz.

     

     
    -f: ayar dosyasını seçmek için kullanılır.

     

     
    Logstash'in filebeatten gelen logları düzgün bir şekilde okuyabilmesi için logstash-input-beats eklentisini kurmanız gerekmektedir.

     

     
    /opt/logstash/bin/plugin install logstash-input-beats şeklinde eklentiyi kurabilirsiniz.

     

     
    Logstash hakkında daha fazla bilgi için (https://www.elastic.co/guide/en/logstash/current/config-examples.html)

     

     

     

     
    3. EleasticSearch

     

     
    ElasticSearch, ELK bileşenleri içinde en önemli yapıdır.Loglarin taşınması ve log içinde arama gibi önemli görevleri vardır.

     

     
    ElasticSearch'i yapılandırmak için ayar dosyası kullanılır.
    Örnek ElasticSearch ayar dosyası (https://github.com/zetaops/zcloud/blob/master/containers/elk/containers/elasticsearch/config/elasticsearch.yml)
    Ayar dosyanızı /usr/share/elasticsearch/config dizini altına kopyalayıp

     

     
    service elasticsearch start diyerek ElasticSearch'i çalıştırabilirsiniz.

     

     
    Çalıştırdıktan sonra elasticsearch'in logları alıp almadığını

     

     
    curl localhost:9200/_search?pretty diyerek kontrol edebilirsiniz.

     

     
    Gelen loglar içinde arama yapmak için

     

     
    curl localhost:9200/_search?q=message:"deneme"&pretty=true
    Bunun anlamı, message bölümünde içinde "deneme" geçen logları göster.

     

     
    ElasticSearch ile cluster oluşturmak:

     

     
    Cluster oluşturduğunuzda, Master,Data ve Client nodeları gibi belli görevler verilir.

     

     
    Cluster oluşturmak için ayar dosyanızda şu ayarlamaları yapmanız yeterli.Aşağıdaki ayarlarda discovery.zen.ping.unicast.hosts nodelar arasında değişmektedir.

     

     
    network.host: "0.0.0.0"
    discovery.zen.ping.unicast.hosts: [ES_NODE_2] (Diğer hostların İPleri - Diğer hostlarda ElasticSearch Node'u çalıştırıldığınız varsayıyoruz.)
    cluster.name="cluster_adı" (belirtmezseniz elasticserach , default cluster adıdır.Pratikte belirtmeniz önerilir.)

     

     
    Not: İsterseniz hangi node'un Master nodu,Data node'u veya Client node'u olcağını belirtebilirsiniz. (master.node: true, data.node: false vb. gibi)

     

     
    ElasticSearch'i çalıştırdıktan bir süre sonra Node'ların cluster'a katıldıklarını görüceksiniz.

     

     
    Cluster oluşup oluşmadığını öğrenmek için,

     

     
    curl http://localhost:9200/_cluster/health?pretty=true demeniz yeterli.Burda dikkat etmeniz gereken bölüm,

     

     
    "status" bölümüdür.

     

     
    Red: Cluster'ın hiç bir şekilde oluşmadığını belirtir.
    Yellow: Cluster'da sadece bir veya birden fazla node'un beklenmekte olduğunu belirtir.
    Green: Cluster'ın sağlıklı bir şekilde çalıştığını belirtir.

     

     
    9200: logstash ve benzeri log merkezinden gönderilen logları aldığı port
    9300: diğer ElasticSearch node'ları ile haberleşme bu port üzerinden sağlanır.

     

     
    ElasticSearch hakkında daha fazla bilgi için (https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html)

     

     

     

     
    4. Kibana

     

     
    Kibana, browser üzerinden logları görmemizi sağlar.
    Gelen logların zamanı sizin zaman diliminize göre gösterilir.Bunu Kibana ayar menüsünden değiştirebilirsiniz.

     

     
    ElasticSearch ve Kibana'nın aynı host üzerinde olması önerilir.

     

     
    Kibana'yı service kibana start diyerek çalıştırabilirsiniz.
    Kibana ile ilgili daha fazla bilgi için (https://www.elastic.co/guide/en/kibana/current/kibana-server-properties.html)
    dyrnade tarafından 06/Tem/16 16:37 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    Güzel bir konu, veeeee tabikide 0 yanıt :D güzel başlık, güzel açıklamalar, teşekkürler :)


    :)
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dyrnade
    dyrnade's avatar
    Kayıt Tarihi: 27/Temmuz/2009
    Erkek

    Tesekkurler hocam, pek bilinmedik konuya sirket icabi el attim sirket icin dokuman hazirladim (tabikide daha ayrintili anlatabilirim) paylasayim dedim.

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Reskam
    Reskam's avatar
    Kayıt Tarihi: 14/Mayıs/2012
    Erkek

    ustam simdi tam olarak nedir bu ne işe yarıyor log olarak neleri tutuyor bu program hakkında bilgi verebilirmisin?


    Memento Mori
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek
    Reskam bunu yazdı

    ustam simdi tam olarak nedir bu ne işe yarıyor log olarak neleri tutuyor bu program hakkında bilgi verebilirmisin?

    Yazılımda işinde süreçleri,

    veya işletim sistemleri günlükleri veya özel programları sitesinde araştırabilirsin.

    Looking here


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
Toplam Hit: 1598 Toplam Mesaj: 5
elk filebeat