Graylog Collector Sidecar Kurulumu

Wed, Aug 16, 2017 2-minute read

Bu yazımızda Graylog Collector Sidecar yapılandırması yapıyoruz.

Çalışan bir Graylog2 server adresine graylog:9000 ile bağlanıp;

-System -> Inputs -> Beats seçtikten sonra

*Bind 0.0.0.0

*Port 5044 (burada seçilen port için graylog2’nin çalıştığı ortamda port açılıyor. Docker ve k8 için port belirtilmeli)

Daha sonra collector-sidecar kullanarak /var/log/containers içersindeki logları graylog üzerine göndereceğiz. Bunun için üstte input oluşturduk.

Şimdi collector-sidecar ayarları için ;

-System -> Collectors -> Manage Configuration – > Create Configuration ile bir collector oluşturuyoruz.

Tag kısmına docker ekleyip update ediyoruz.

Bu collectorun ayarları içerisinden beats sekmesinde;

*Configure beats outputs -> create output

***Type: Filebeat beats output

***Hosts: graylog2 public ip ve portu

*Configure beats inputs -> create input

***Forward to: üstte oluşturduğumuz beats outputs

***Type: filebeat file input

**Path to logfile : [‘/var/log/containers/.log’]

filebeat kullanarak logları çekeceği için filebeat.yml için

*Define beats snippets create snippet

***Backend : filebeat

Snippet için :

filebeat:
  prospectors:
  - document_type: log
    encoding: plain
    fields:
      collector_node_id: graylog-collector-sidecar
      gl2_source_collector: df679aa2-ecdf-477a-9bf1-0bbd5e80b163
    ignore_older: 0
    input_type: log
    paths:
    - /var/log/containers/*.log
    scan_frequency: 10s
    tail_files: true
    symlinks: true                                         ## symlink olmazsa container logları okunamıyor.
output:
  logstash:
    hosts:
    - graylogipadresi:5044                                ## 5044 üstte oluşturduğumuz system-input port adresi
path:
  data: /var/cache/graylog/collector-sidecar/filebeat/data
  logs: /var/log/graylog/collector-sidecar
tags:
- linux
- docker

Container loglarını çekilebilmesi için ve bu üstte yapılan ayarlar için

https://github.com/Graylog2/collector-sidecar/releases

collector-sidecar-0.1.3.tar.gz

tar -xvf collector-sidecar-0.1.3.tar.gz

çıkan klasörde /graylog/collector-sidecar/0.1.3/linux/amd64/ collector-sidecar.yml oluşturuyoruz.

collector-sidecar.yml

************************************************************************************************
server_url: http://graylogserverip:9000/api/
update_interval: 30
tls_skip_verify: true
send_status: true
list_log_files:
  - /var/log
node_id: graylog-collector-sidecar
collector_id: file:/etc/graylog/collector-sidecar/collector-id
log_path: /var/log/graylog/collector-sidecar
log_rotation_time: 86400
log_max_age: 604800
tags:
  - linux
  - docker               ##BURADAKİ TAG BEATS INPUT OLUŞTURURKEN EKLEDİĞİMİZ TAG OLMALI
backends:
    - name: winlogbeat
      enabled: false
      binary_path: C:\Program Files\graylog\collector-sidecar\winlogbeat.exe
      configuration_path: C:\Program Files\graylog\collector-sidecar\generated\winlogbeat.yml
    - name: filebeat
      enabled: true
      binary_path: /usr/bin/filebeat  ##filebeat binary dosyasının yeri
      configuration_path: /root/graylog/collector-sidecar/0.1.3/linux/amd64/filebeat.yml   
      ###FILEBEAT CONF DOSYASININ YERINI BELİRTMEK İÇİN. HER NE KADAR YUKARIDA SNIPPET EKLESEKTE KENDISI OVERRIDE EDEREK OLUŞTURMASI GEREKİYOR.

graylog collector çalıştırmak için

/graylog/collector-sidecar/0.1.3/linux/amd64 klasörünün altında

./graylog-collector -c collector-sidecar.yml // -c ile collector-sidecar.yml seçilmeli

kontrol için graylog – > system – > collectors altında running ibaresi çıkacaktır.