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
- filebeat beenden
rm -r /var/lib/filebeat/registry
- 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) - filebeat starten