Inhaltsverzeichnis

Filebeat

Filebeat dient zur Weiterleitung der von Syslog aufgenommenen Logs an z.B. Logstash.
Es prüft ein oder mehrere Quellen auf Änderungen und leitet diese dann weiter.
Filebeat kommuniziert über den Port 5044 mit Logstash.

Installation

Einfach das deb-Paket von elastic.co herunterladen und installieren

dpkg -i filebeat-6.2.1-amd64.deb

Unter /usr/share/filebeat/ liegen die installierten Dateien.

Nun kann man bereits das Template exportieren und hochladen. Da aber in der Konfiguration noch Einstellungen für das Template gemacht werden, sollte man das Template nach einer fertigen Konfiguration in Elasticsearch uploaden oder manuel exportieren und danach auch uploaden
Upload

filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["<HOSTNAME>:9200"]'

oder manueller Export
Export:

filebeat export template > filebeat-<VERSION>.template.json

Upload:

curl -XPUT -u <USERNAME> -k -H 'Content-Type: application/json' https://<HOSTNAME>:9200/_template/filebeat-<VERSION> -d@filebeat-<VERSION>.template.json

Konfigurieren

Die Konfigurationsdateien liegen unter /etc/filebeat/.
Die Datei filebeat.yml ist die Hauptkonfigurationsdatei.

Hier eine initiale Konfiguration zur Kommunikation mit dem Elasticstack.

#Filebeat modules
filebeat.config.modules:
  # Glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml
 
  # Set to true to enable config reloading
  reload.enabled: false
 
  # Period on which files under path should be checked for changes
  #reload.period: 10s
 
#==================== Elasticsearch template setting ==========================
 
setup.template.settings:
  index.number_of_shards: 3
 
setup.kibana:
  host: "<HOSTNAME_DES_KIBANA_SERVERS>:5601"
 
## Logstashstuff
output.logstash:
  # The Logstash hosts
  hosts: ["<HOSTNAME_DES_LOGSTASH_SERVERS>:5044"]
 
## Loggingstuff
logging.level: warning
logging.to_files: true
logging.to_syslog: false
logging.files:
  path: /var/log/filebeat
  name: filebeat-logstash.log
  keepfiles: 7
  permissions: 0644
 
## Inputs
filebeat.inputs:
- type: log
  #enabled: false
  paths:
    - /var/log/syslogs/usv*.log
  fields:
    device: usv
 
- type: log
  #enabled: false
  paths:
    - /var/log/syslogs/hpprocurve*.log
  fields:
    device: hpswitch

Konfiguration testen

filebeat test [config|output] --path.config /etc/filebeat/ [--help]

Debugging

Um auf der Konsole zu sehen was gerade bei Filebeat passiert, folgendes ausführen:

systemctl stop filebeat.service
filebeat -e -d "publish"
ODER
filebeat -e -d "processors,logstash"

Daten erneut senden

  1. filebeat beenden
  2. rm -r /var/lib/filebeat/registry
  3. Daten in den Log-Dateien erneut bereitstellen (entweder aktuelle Log-Dateien mit alten überschreiben oder alte Log-Dateien mit anderem Dateinamen in filebeat.yml angeben)
  4. filebeat starten