Sie müssen die verschiedenen Dienste konfigurieren, damit diese miteinander kommunizieren können.
Der ELK-Stack umfasst 4 Dienste:
- Filebeat: Bridge zwischen der Remote Engine Gen2 und dem ELK-Stack und inbesondere Logstash.
- Logstash: Pipeline zur Datenverarbeitung, die Daten erfasst, transformiert und an Elasticsearch übergibt.
- Elasticsearch: Such- und Analyse-Engine.
- Kibana: Benutzeroberfläche zur Visualisierung der Elasticsearch-Daten und Navigation des Elastic-Stacks.
Gehen Sie vor wie folgt, um die Verknüpfung zwischen jedem Dienst zu konfigurieren:
Prozedur
-
Legen Sie in der Datei filebeat/filebeat.yml den Pfad Ihres Logstash-Servers fest, in diesem Beispiel
logstash:5044
, da sich Filebeat und Logstash im selben Docker-Netzwerk befinden.
filebeat.autodiscover:
providers:
- type: docker
templates:
- condition:
contains:
docker.container.labels.filebeat_ingest: "true"
config:
- type: container
paths:
- /var/lib/docker/containers/${data.docker.container.id}/*.log
json.keys_under_root: true
json.add_error_key: true
json.message_key: message
ignore_older: 10m
output:
logstash:
hosts: [ 'logstash:5044' ]
Diese Konfiguration ermöglicht Filebeat, die Logs von Remote Engine Gen2 zu verarbeiten und sie zur Analyse an Logstash zu senden.
Darüber hinaus wird in der Datei filebeat/filebeat.yml festgelegt, wie die Logs erkannt werden. In diesem Fall wird in den Containern mit der Bezeichnung filebeat_ingest: true
nach den Logs gesucht.
-
Stellen Sie in der Datei logstash.conf sicher, dass der Port
input
Ihrem Logstash-Server entspricht und mit dem in der Datei filebeat.yml definierten Port übereinstimmt.
-
Stellen Sie in logstash.conf den Wert für
output
auf elasticsearch
ein und legen Sie den Host und Port Ihres Elasticsearch-Servers fest, in diesem Beispiel 9200
.
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => '${ELASTICSEARCH_HOSTS:elasticsearch:9200}'
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
Diese einfache Eingangs- und Ausgangskonfiguration ermöglicht Kibana den Aufbau einer Verbindung zur Elasticsearch-Host/Port-Kombination und das Lesen der eingehenden Daten von Logstash.