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.
Kommentare
Keine Kommentare