Elasticsearch Fleet Server kurz vorgestellt

Seit Elasticsearch Version 7.10 gibt es das Fleet Management, um über Kibana Elastic-Agenten auf Hosts auszurollen. Mit der aktuellen Version 7.13 hat sich das Verhalten und die Idee dahinter noch einmal grundlegend geändert.

Das ist für uns Grund genug, das Thema im Detail zu beleuchten.

Mit den Elastic-Agenten steht eine Komponente im Elasticsearch Stack bereit, um Metricinformationen, Logfiles und weitere Daten von Systemen in Elasticseach zu laden. Im Gegensatz zu verschiedenen Beats (z.B. Metricbeat, Filebeat) bündelt der Elastic-Agent diese Funktionalitäten in einem Tool. Mittels vorgefertigter Integrationen lassen sich Metriken und Log-Informationen von zahlreichen 3rd Party-Produkten über Kibana mühelos konfigurieren und anbinden.

Seit der Version 7.13 ist der Fleet Server ein zentraler Bestandteil des Ausroll- und Konfigurationsmechanismus von Elastic-Agenten. Falls Sie bereits in früheren Releases den Elastic-Agenten eingesetzt haben, so müssen sie im Zuge des Upgrades auf Version 7.13 einige Anpassungen umsetzen.

Doch was ist der Fleet-Server eigentlich? Der Fleet-Server ist ein Bestandteil des Elastic-Agenten. Über die Konfiguration im Kibana legen Sie fest, auf welchem Host der Fleet-Server laufen soll bzw. läuft.

Zum initialen Setup generiert man sich im Kibana einen Fleet Server Service Token, mit dem man die Elastic-Agenten, welcher als Fleet-Server fungiert, konfiguriert:

 

elastic-agent enroll -f --fleet-server-es=https://xxx.xxx.xxx.xxx:9200 \
--fleet-server-service-token=AAEAAWVaYXN0aXivZmxlZXQtc2VydmVyL3Rva2VuLTE2MjYzXzU4NTUxMjk6dzZ2WnBzTVJTZ3VIVHB3WnpwT2dGdw

 

Ist die Schnittstelle zur Elasticsearch Datenbank über ein Zertifikat abgesichert, kann es zu folgender Fehlermeldung kommen:

 

2021-07-15T10:07:11.758+0200	INFO	cmd/enroll_cmd.go:646	Fleet Server - Starting
2021-07-15T10:07:12.590+0200	ERROR	status/reporter.go:236	Elastic Agent status changed to: 'error'
2021-07-15T10:07:12.590+0200	ERROR	log/reporter.go:36	2021-07-15T10:07:12+02:00 - message: Application: fleet-server--7.13.3[]: State changed to FAILED: Error - x509: cannot validate certificate for xxx.xxx.xxx.xxx because it doesn't contain any IP SANs - type: 'ERROR' - sub_type: 'FAILED'
2021-07-15T10:07:12.759+0200	INFO	cmd/enroll_cmd.go:646	Fleet Server - Error - x509: cannot validate certificate for xxx.xxx.xxx.xxx because it doesn't contain any IP SANs
^C2021-07-15T10:07:18.123+0200	INFO	cmd/run.go:189	Shutting down Elastic Agent and sending last events...
2021-07-15T10:07:18.123+0200	INFO	operation/operator.go:191	waiting for installer of pipeline 'default' to finish
2021-07-15T10:07:18.123+0200	INFO	process/app.go:181	Signaling application to stop because of shutdown: fleet-server--7.13.3

 

In diesem Fall muss das CA-Zertifikat über den Parameter --fleet-server-es-ca mitgegeben werden:

 

elastic-agent enroll -f --fleet-server-es=https://xxx.xxx.xxx.xxx:9200 \
--fleet-server-service-token=AAEAAWVaYXN0aXivZmxlZXQtc2VydmVyL3Rva2VuLTE2MjYzXzU4NTUxMjk6dzZ2WnBzTVJTZ3VIVHB3WnpwT2dGdw \
--fleet-server-es-ca=/etc/elasticsearch/kibana/elasticsearch-ca.pem

 

 

Ist der Elastic-Agent mit integriertem Fleet-Server gestartet, können weitere Agenten ausgerollt werden. Der Unterschied zu älteren Versionen ist, dass Agenten sich am Fleet-Server registrieren und keine direkte Verbindung zu Kibana aufbauen. Die IP-Adresse bzw. der Servername wird dabei über den Parameter --url gesteuert.

 

elastic-agent install -f --url=https://xxxx.xxx.xxx.xxx:8220 \
--enrollment-token=MTd6azdIY0JJZjZkWnJZTEl4TTI6MS1XTllxck9TdU9FVzZENFJTd0lWQQ== \
--insecure

 

Da der Fleet Server standardmäßig mit einem selbstsignierten Zertifikat startet, muss beim Ausrollen von weiteren Agenten der Parameter --insecure angegeben werden. In produktiven Umgebungen empfielt es sich, ein gültiges Zertifikat für den Fleet-Server zu benutzen. Über die Parameter --fleet-server-cert und --fleet-server-cert-key kann das Zertifikat und der Private Key im Installationsprozess übergeben werden.

Welchen Funtkionsumfang der auszurollende Agent umfassen soll, legen Sie nach wie vor im Kibana über die Agenten Policy fest.

Hinweis: Die Elastic-Agenten wurden in dem Beispiel als RPM-Packet installiert. Aus diesem Grund wird der Parameter enroll benutzen. Erfolgt die Bereitstellung über das TAR-Archiv, so ist die Option install zu benutzen.

 

Gern unterstützen wir Sie bei der Planung und Durchführung der Updates bzw. bei der Implementierung Ihrer Elasticsearch-Umgebung. Weiterführende Informationen zu unserem Leistungsportfolio finden Sie hier.

Verwandte Blogbeiträge:

Kommentare

Keine Kommentare

Kommentar schreiben

* Diese Felder sind erforderlich