Graylog / sidecar ile dosya içeriklerinin graylog’a taşınması

Graylog / sidecar Proftpd logları

Proftpd ile ilgili şiddetli yük altında problem çözümü gibi bir konumuz vardı ve problem itibarı ile proftpd loglarının görülebilir hale getirilmesi gerekiyordu. Bu işe başlamadan önce Graylog’un aynı ELK/kibana lar gibi log dosyalarının merkezi haline getirilebildiğini yazmak istedim. Burada işlem collector-sidecar (elk/kibana dki filebeat/logstash alternatifi) isimli bir uygulama sayesinde mümkün olabiliyor. Flow sırası ile aşağıdaki gibi

  1. graylog a collector sidecar eklentisi install edilip açılıyor
  2. 1 adet Beats marka input ekleniyor
  3. graylog içerisinde hangi dosyanın log şeklinde içeri alınacağının kuralı yazılıyor
  4. collector-sidecar eklentisi logların bulunduğu bilgisayara yükleniyor
  5. logların durduğu bilgisayarda collector sidecar çalışıyor, yml dosyasındaki klasörü liste şeklinde graylog’a atıyor sizde kural yazıp logları içeri alıyorsunz.

1.Bölüm – Graylog içerisine sidecar beats pluginlerinin kurulumu

  1. Buradaki adresten graylog için gerekli ve sizin işletim sisteminize uygun olacak collector-sidecar eklentisini indiriyoruz
  2. Kuruyoruz ekliyoruz.
    • graylog-collector-sidecar -service install
  3. Beats adında bir input ekliyoruz 5044 dinlese iyi olur. input
  4. Collectore gidip bir konfig ekleyeceğiz. Aşağıda log makinaları çalıştığında nasıl görüneceğini bulabilirsiniz.Seçim_014
  5. System/collectors/manage configurations dan create configuration’a gidip unutmayacağımız bir isim veriyoruz.
  6. Beats seçiliyken bir adet output ve bir kaç adet input ekleyeceğiz.
  7. Output ekranın aşadğıdaki gibi olmasına dikkat edelim değişreceğimiz iki şey var type ve host detayı type’ında FileBeat olmasına dikkat ediyoruz. Seçim_017
  8. Sonra da örnek bir input seçiyoruz  değişmesei gereken iki şey var birincisi inputun ismi ikincisi tipi üçüncüsü log olarak grayloga girecek dosyanın tam yol adı.Seçim_018
  9. Bu aşamada işlem tamamlanmış oluyor. artık doğru konfigüre edildiyse aşağıdaki kurulmularında yapılmasının ardından cihazlarımı eklendikçe burada belirecek.

2. Bölüm – Log toplanacak makinaya collector-sidecar kurulumu ve ayarları

Önce graylog collector eklentisi olan sidecar ı kuruyuoruz

[root@Sftp-Ftp collector]# rpm -ivh collector-sidecar-0.1.7-1.x86_64.rpm 
Hazırlanıyor...           ########################################### [100%]
   1:collector-sidecar      ########################################### [100%]

Program kurulduktan sonra ilgili yml dosyasını editliyoruz ve server tag kısımlarını düzeltiyoruz.

vi /etc/graylog/collector-sidecar/collector_sidecar.yml
server_url: http://10.25.26.101:9000/api/ #<-- burayı düzelt server ip adresi ?
update_interval: 10
tls_skip_verify: false
send_status: true
list_log_files: #<-- burayı düzelt listlenmesi gereken klasörleri ekle **1
     -/var/log
collector_id: file:/etc/graylog/collector-sidecar/collector-id
cache_path: /var/cache/graylog/collector-sidecar
log_path: /var/log/graylog/collector-sidecar
log_rotation_time: 86400
log_max_age: 604800
tags:
    - linux #<-- burayı düzelt **2 yazdığın tag ile serverda yazdığın tagin aynı olması lazım.
    - apache
    - proftpd
backends:
    - name: nxlog
      enabled: false
      binary_path: /usr/bin/nxlog
      configuration_path: /etc/graylog/collector-sidecar/generated/nxlog.conf
    - name: filebeat
      enabled: true
      binary_path: /usr/bin/filebeat
      configuration_path: /etc/graylog/collector-sidecar/generated/filebeat.yml

Ardından servis olarak başlayabilmesi için gerekli komutları yazıyoruz

 

 service collector-sidecar start

Bu tanımla birlikte beats işinin graylog’da başlamış olması lazım.

Eğer mesajlar gelmiyorsa,

aşağıdaki gibi hata mesajları almış olabilirsiniz.

field_hatasi

detayı da aşağıdaki gibi

field_problemi

 

Bu sıkıntılar mevcutsa problem Elasticsearch içinde demektir. ElasticSearch maximum 1000 adet field içeren döküman tutabilir anlamına geliyor. Bunu da çözebiliyoruz. sadece elastic açık kalacak şekilde diğer servisleri kapatıyoruz.

 266 graylog-ctl stop graylog-server
 267 graylog-ctl stop mongo-db
 268 graylog-ctl stop nginx
 269 graylog-ctl stop etcd
Daha sonra da field değişikliğini yapacak komutu basıyoruz. Öncesinde indice resetlemenizde fayda var
curl -XPUT 'http://10.25.26.101:9200/_all/_settings?preserve_existing=true' -d '{ "index.mapping.total_fields.limit" : "5000"}'

Bundan sonra reboot ve detay mesajlarını görüntüleme işi başlıyor.

Sonuç ta aşağıdaki gibidir.

Seçim_019