Engineering

Mit Elastic Agent und Fleet wird das Integrieren Ihrer Systeme mit Elastic einfacher

Wir freuen uns, heute drei große Verbesserungen bekanntgeben zu können, die es Ihnen einfacher machen, Ihre Systeme und Anwendungen in den Elastic Stack zu integrieren. Als Erstes vermelden wir die allgemeine Verfügbarkeit (GA) von Elastic Agent – unserem zentralen Agent für Observability und Security. Da es sich um einen zentralen Agent handelt, entfällt viel Konfigurations- und Installationsaufwand, sodass es leichter wird, Daten zu erfassen.

Als Zweites geben wir die allgemeine Verfügbarkeit (GA) von Fleet bekannt, einer neuen Kibana-App, mit der Sie die gesamte Flotte Ihrer Elastic-Agents auf einmal verwalten können. Die App fungiert als Steuerebene, mit der Sie sich den Status Ihrer Agents in Echtzeit ansehen, die Agents remote upgraden, Abfragen auf einzelnen Hosts ausführen und Sicherheitsbedrohungen eindämmen können.

Als Drittes starten wir unsere neue App Integrations in Kibana, inklusive eines ersten Satzes von allgemein verfügbaren Integrationen. Sie können nun mit nur einem Klick Ihre Systeme und Anwendungen mit dem Elastic Stack integrieren. Integrations bietet „out-of-the-box“ Log-Parsing, Dashboards, Machine-Learning-Jobs und mehr. Sie können über Fleet Integrationen auf Elastic-Agents bereitstellen und so für sekundenschnelle Erkenntnisgewinne sorgen.

Herausforderungen beim Ingestieren großer Datenmengen

Ein kritischer Aspekt beim Einführen einer Monitoring- oder Security-Lösung ist die Zeit, die für das Bereitstellen von Agents und deren Verwaltung benötigt wird. Diese Aufgaben können zu Verzögerungen bei wichtigen Geschäftszielen und zu steigenden Gesamtkosten führen. In großen Organisationen kann es Hunderte von Teams und Tausende von Servern, Laptops und Anwendungen geben. Es kann Monate dauern, bis die Evaluierung, die Anpassung, die Betriebs- und Security-Compliance-Genehmigung sowie die anschließende Bereitstellung bei den Teams und in den verschiedenen Umgebungen abgeschlossen sind. Jedes Problem in der Monitoring- und Security-Infrastruktur kann schwerwiegende und kritische Auswirkungen auf das Geschäft haben.

Unsere vorhandene Lösung für das Senden von Daten an den Elastic Stack sind die verschiedenen Beats. Mit ihnen geht im Vergleich zu generischen Lösungen wie Syslog vieles einfacher. Wir haben aber momentan sieben Beats und außerdem noch APM-Agents, APM-Server, Endpoint-Security und mehr. Das Installieren dieser vielen Komponenten ist eine komplexe Sache, insbesondere in großen Unternehmen, wo für jede Installationsdatei Konfigurationsmanagementlösungen, progressive Deployments, Change-Management- und Audit-Anforderungen zu berücksichtigen sind.

Ähnlich komplex ist es auch, Integrationen für neue Datenquellen hinzuzufügen. Momentan ist es so, dass zu diesem Zweck YAML-Dateien bearbeitet und auf alle vorhandenen Server hochgeladen werden müssen. Für die Push-Bereitstellung der Konfigurationen kommen oft Tools wie Ansible oder Chef zum Einsatz. Das macht das Hinzufügen einer neuen Datenquelle zu einer komplexen Sache, die häufig externe Tools und Absprachen mit den entsprechenden Spezialisten in den Teams nötig macht. Und wenn dann noch Hunderttausende von Agents in einer Vielzahl von Netzwerken und Rechenzentren betroffen sind, wird das Ganze erst recht komplex.

Ein Agent für alles

Elastic Agent ist ein einzelner, zentraler Agent für Logdaten, Metriken, APM-Traces, synthetisches Monitoring und die Absicherung Ihres Systems. Der Einstieg ist absolut einfach: Ein einziger Befehl reicht und der Agent ist installiert. Sie müssen nicht mehr verschiedene Beats bereitstellen. Das macht die Bereitstellung in ihrer gesamten Infrastruktur und die Pflege bedeutend schneller. Außerdem wird Elastic Agent zentral konfiguriert und über einen zentralen Ort verwaltet. Es müssen also nicht mehr mehrere Konfigurationsdateien für Filebeat, Metricbeat usw. bearbeitet werden. So lassen sich auch Integrationen deutlich einfacher hinzufügen. Sie können die Konfiguration über Fleet aktualisieren und auf diese Weise einfach und schnell Integrationen aktivieren, Daten ingestieren und das Verhalten des Agents anpassen.

Einfachere Integrationen und einfachere Konfiguration

Die neue Kibana-App Integrations bietet eine webbasierte Benutzeroberfläche, über die Integrationen für verbreitete Dienste und Plattformen hinzugefügt und verwaltet werden können. Mit unseren Integrationen können Sie einfach und schnell neue Datenquellen hinzufügen, und sie enthalten „out-of-the-box“ Dashboards, Visualisierungen, Pipelines und mehr, mit denen sich aus Logdaten strukturierte Felder extrahieren lassen. Dank automatischer Konfiguration hält sich der Konfigurationsaufwand sehr in Grenzen. Damit wird es einfacher, das System so einzurichten, dass Sie in Sekundenschnelle Erkenntnisse gewinnen können. 

Unsere neuen allgemein verfügbaren Integrationen ermöglichen die Überwachung der Infrastruktur Ihres Systems, inklusive aller Server, Laptops, Container, VMs usw. Hinzu kommen Funktionen zum Schutz vor Sicherheitsbedrohungen und zur Analyse von Sicherheitsereignissen. Derzeit stehen mehr als 70 Integrationen zur Verfügung – und wir arbeiten ständig daran, die Zahl noch weiter zu erhöhen.

blog-agent-fleet-ga-1.png

Wir bieten auch eine webbasierte Benutzeroberfläche, über die sich Integrationen für Ihre Systeme und Anwendungen konfigurieren lassen. Statt umständlich lange YAML-Dateien mit vielen irrelevanten Einstellungen zu bearbeiten, können Sie über die Web-Benutzeroberfläche genau die Optionen festlegen, die Sie benötigen, und Sie profitieren von detaillierten Anleitungen sowie Gültigkeitsprüfungen für Ihre Einstellungen. Für gängige Log- und Metrikdatenspeicherorte gibt es vordefinierte Standardwerte, was es möglich macht, die Integration mit nur einem Klick bereitzustellen.

blog-agent-fleet-ga-2.png

Sie können frei entscheiden, ob Sie diese Nginx-Integration nur einem Agent oder – im Rahmen einer Richtlinie – einer Gruppe von Agents hinzufügen möchten. Mit einer Agent-Richtlinie können Sie ein und dieselbe Integration auf eine beliebige Zahl von Agents anwenden, wodurch es einfacher wird, viele Agents auf einmal zu verwalten. Die Agents erhalten das Update, wenn sie sich das nächste Mal bei Fleet anmelden.

Der eine oder andere erfahrene Nutzer zieht es doch vor, mit YAML-Dateien, APIs und IaC (Infrastructure as Code) zu arbeiten. Dank des „API-first“-Designs von Fleet können Sie all das, was Sie in der Benutzeroberfläche tun können, auch über die API tun. So lassen sich auch andere Systeme integrieren. Wenn Sie Fleet lieber nicht verwenden wollen, können Sie Elastic Agent auch mit einer YAML-Datei im Standalone-Modus konfigurieren.

Fleet zentral verwalten

Fleet dient als Steuerebene, über die Sie große Agents-Gruppen zentral verwalten können. Auf der Fleet-Seite wird der Status aller Ihrer Agents angezeigt. Sie sehen hier, welche Agents online sind und ordnungsgemäß funktionieren, bei welchen es Probleme gibt und wann sich die Agents das letzte Mal angemeldet haben. Außerdem werden die Agent-Versionsnummern und die verwendete Agent-Richtlinie angezeigt.

blog-agent-fleet-ga-3.png

Mithilfe von Agent-Richtlinien können Sie Agent-Gruppen definieren. Wenn Sie an einer Agent-Richtlinie etwas ändern, erhalten alle betreffenden Agents bei der nächsten Anmeldung das Update. Es ist also nicht mehr nötig, Updates mithilfe von SSH, Ansible Playbooks oder anderen Konfigurationsmethoden selbst zu verteilen.

Ein weiterer Vorteil von Fleet ist, dass wir Agents besser absichern können. Fleet generiert automatisch für jeden Agent Elasticsearch-API-Schlüssel mit minimalen Berechtigungen für die Integrationen, die ausgeführt werden. Die API-Schlüssel können Agent-weise widerrufen werden und Sie müssen keine gemeinsamen Anmeldedaten mit umfangreichen Berechtigungen mehr auf den einzelnen Hosts speichern. Und wenn Sie Elastic Agent mit Endpoint Security ausführen, kann der Agent sich selbst vor Bedrohungen auf dem Host schützen.

Die Verwaltung der Kommunikation mit Elastic-Agents erfolgt über die Infrastrukturkomponente Fleet Server. Sie bietet die Steuerebene, die Agents aktualisiert und sie anweist, Aktionen wie das Ausführen von Osquery auf Hosts oder das Isolieren von Hosts auf der Netzwerkebene auszuführen, um Sicherheitsbedrohungen einzudämmen. Fleet Server kann entweder zentral oder an der Peripherie in privaten Netzwerken bereitgestellt werden. 

Einfachere Datenverwaltung durch Datenstreams

Die Daten, die die Elastic-Agents erfassen, werden mithilfe des neuen Datenstream-Benennungsschemas gespeichert. Es speichert Daten in kleinteiligeren Indizes als Beats es getan haben. Das hat den Vorteil, dass die Anzahl der Felder pro Index niedriger ist, dass die Autovervollständigung schneller geht, dass die Speicherung effizienter ist, dass die Quellen der Datenmenge transparenter sind und dass Sie die Kontrolle über die Lifecycle-Management-Richtlinien und die Indexberechtigungen haben. Über Namespaces können Sie Daten so gruppieren, wie Sie es möchten, beispielsweise nach Umgebung oder nach Teamname.

blog-agent-fleet-ga-4.png

Was bedeutet das für Beats-Nutzer?

Wir ziehen die Beats nicht gleich aus dem Verkehr und Sie können sie neben Elastic Agent weiter verwenden. Vielleicht möchten Sie ja beides parallel nutzen, während Sie Ihre Systeme von Beats auf Elastic Agent umstellen.

Elastic Agent und Fleet sind zwar viel einfacher in der Anwendung, es gibt aber noch einige wenige Situationen, in denen es sich mit Beats besser arbeiten lässt – diese Lücken werden wir aber im Laufe der Zeit schließen. Fleet bietet noch keine Unterstützung für die Ausgabe in Logstash oder Kafka, es erfordert die „superuser“-Rolle und es muss eine Internetverbindung vorhanden sein, um die Liste der Integrationen aus dem Elastic Package Registry herunterzuladen. Wir arbeiten außerdem daran, verschiedene verbliebene Beats-Module in Integrationen umzuwandeln. Mehr zu den Unterschieden können Sie unserer Vergleichsseite entnehmen.

Jetzt ausprobieren

Probieren Sie es selbst aus. Öffnen Sie Kibana und gehen Sie im Hauptmenü zur App Integrations. Sie sehen dort eine Liste der Integrationen und die App führt Sie durch die Schritte zum Hinzufügen von Elastic-Agents. Sie können stattdessen auch die App Fleet öffnen und Elastic-Agents direkt hinzufügen.

Elastic Agent und Fleet sind beide kostenlos und offen. Um Ihnen die Zusammenarbeit mit der Community zu erleichtern, haben wir den Code für Fleet und Elastic Agent auf GitHub veröffentlicht. Es wäre schön, wenn wir diese Reise gemeinsam mit der Community machen können.

Wir hoffen, dieses Release zeigt, wie wir Ihnen das Integrieren Ihrer Systeme und Anwendungen mit dem Elastic Stack erleichtern. Und mit Ihrem Feedback lässt sich das Ganze noch weiter verbessern. Sagen Sie uns bitte in unserem Diskussionsforum, was Sie davon halten.