Viele von Ihnen kennen bereits die Vorteile des ELK-Stacks und wissen, warum so viele Teams ihn verwenden. Er ist nicht nur für die Diagnose und Behebung von Fehlern und Produktionsproblemen von entscheidender Bedeutung, sondern wird auch immer wertvoller, wenn es darum geht, Erkenntnisse über Kunden zu gewinnen. Außerdem verschafft die Gewinnung zusätzlicher Metriken über den Zustand und die Nutzung der Systeme Ihrem Team einen starken Wettbewerbsvorteil. Während andere Unternehmen sich schwer damit tun, herauszufinden, wo sie Defizite haben, kann Ihr Team Daten untersuchen, Anpassungen vornehmen und genau das bereitstellen, was Ihr System benötigt.
Als Manager denken Sie oft über eine gute Protokollierungslösung für Ihre Entwickler und DevOps-Teams nach. Aber Sie wissen auch, dass die Bereitstellung einer solchen mit Kosten verbunden ist. Zu den Kosten für die Infrastruktur kommen noch die Kosten für Upgrades, Patches und Implementierungen hinzu. Und all dies erfordert Zeit, Mühe und Fachwissen.
Wie können Sie also eine elegante Protokollierungslösung bereitstellen, die auch einfach zu warten und zu unterstützen ist? Gibt es eine Möglichkeit, alle Vorteile des ELK-Stacks zu nutzen, ohne dass wir uns den Kopf zerbrechen müssen?
Warum ist die Protokollierung so wichtig?
Mit dem Anstieg von Maschinendaten wird die Protokollierung immer wichtiger. Sie ist entscheidend für die Diagnose und Fehlerbehebung, um eine optimale Anwendungsleistung zu gewährleisten. Zudem gibt es viele Tools, mit denen Sie wichtige Geschäftsmetriken und Daten aus Ihren Protokollen extrahieren können. Die Protokollierung dient nicht mehr nur der Fehlersuche, sondern auch der Überwachung Ihrer Systeme.
Kein Zweifel, die Protokollierung ist entscheidend. Lassen Sie uns also darüber sprechen, wie wir sie umsetzen können. Eine beliebte Methode ist heutzutage der ELK-Stack. Sie können den ELK-Stack mit Apache-2.0-lizenzierten Versionen von Elasticsearch und Kibana (bis Version 7.10.2) selbst bereitstellen und verwalten oder eine Open-Source-Alternative zum ELK-Stack mit OpenSearch, OpenSearch Dashboards und Logstash selbst verwalten.
Wozu brauche ich den ELK-Stack?
Kurze Erinnerung: ELK ist ein Stack, der im Kern aus Elasticsearch, Logstash und Kibana besteht. Sehen wir uns eine ebenso kurze Zusammenfassung der einzelnen Komponenten an.
Elasticsearch: Eine Such- und Analysemaschine, die für die Volltextsuche und die Analyse von Protokollen und Metriken verwendet wird.
Logstash: Ein Open-Source-Tool zur Erfassung und Umwandlung von Protokollen und Ereignissen.
Kibana: Ein Datenvisualisierungs- und Untersuchungstool zur Überprüfung von Protokollen und Ereignissen.
Wenn die Komponenten des ELK-Stacks zusammen verwendet werden, können Sie Protokolle von allen Ihren Systemen zusammenfassen. Sie werden nicht nur auf Probleme hin analysiert, sondern auch die Systemnutzung wird überwacht, und es werden Verbesserungsmöglichkeiten gefunden. Die Datenanalyse und -visualisierung, die ELK bietet, ist unübertroffen.
Aber warum sollten Sie einen verwalteten Dienst für ELK nutzen? Sie haben ein gutes Team. Sie sollten sich nicht an einen einzigen Hosting-Anbieter binden. Und Sie möchten die Flexibilität haben, alles für Ihren speziellen Anwendungsfall zu konfigurieren. Warum verwalten Sie ELK nicht einfach selbst?
Langer Rede kurzer Sinn: Es ist schwierig.
Was ist so schwer daran, meinen eigenen ELK-Stack zu verwalten?
Betrachten wir einige der Gründe, warum Sie die Verwaltung des ELK möglicherweise nicht allein übernehmen sollten.
Die Installation ist selten einfach.
Bei der Integration von Systemen sollte man nicht vergessen, dass die Installation nicht immer unkompliziert ist. Was ist die beste Konfiguration? Wo verwalten Sie Ihre Geheimnisse? Wie viel Hardware benötigen Sie?
Eine schnelle Internetrecherche ergibt eine Menge Artikel, die sich mit der Installation von ELK befassen. Wenn Sie einen Blick darauf werfen, werden Sie feststellen, dass die Bereitstellung mit nur einem Klick bei weitem nicht möglich ist. In der Tat gibt es eine Menge Voraussetzungen. Und entweder verwenden Sie die Standardinstallation, bei der alles sofort konfiguriert ist, oder Sie verbringen mehr Zeit damit, alle Konfigurationsoptionen zu erkunden. Was sind Ihre Grenzwerte für die Datenerfassung? Was ist Ihr Aufbewahrungsplan? Warum ist das wichtig?
Stellen Sie sich nun vor, diese Prozedur für jede Ihrer Umgebungen mehrmals durchzuführen.
Selbst wenn Sie für alles automatisierte Skripts verwenden, wird es viel wertvolle Zeit kosten, alles problemlos einzurichten und zum Laufen zu bringen. Das ist Zeit, die Sie nicht Ihren Kunden widmen können. Mit verwalteten Services wie Amazon OpenSearch Service ist die Bereitstellung eines ELK-Stacks einfach und wiederholbar.
Und es geht selten schnell
Die meisten Unternehmen versuchen, ihr Produkt schnell auf den Markt zu bringen. Das ist jedoch nicht möglich, wenn Sie gezwungen sind, Wochen oder sogar Monate damit zu verbringen, Ihren Stack und Ihre Infrastruktur in einen produktionsfähigen Zustand zu versetzen.
Wie sieht Ihr derzeitiges Verfahren für die Überführung von Anwendungen in die Produktion aus? Welche Tests, Überprüfungen und Optimierungen führen Sie durch, um sicherzustellen, dass Sie bereit sind? Und wenn Ihre Hardware optimal für schreibintensive Vorgänge eingerichtet werden muss, erledigen Sie das, bevor sie in Produktion geht? Was ist Ihr Plan für Upgrades?
Wenn Sie Ihren eigenen ELK-Stack verwalten, tun Sie all dies mit einer Infrastruktur und Anwendungen, mit denen Sie nicht vertraut sind. Und Services wie Amazon OpenSearch Service können Ihnen helfen, die Kosten für Infrastruktur, Implementierung und laufende Wartung erheblich zu senken.
Ausfallsicherheit erfordert mehr Zeit.
Wenn Sie Ihren ELK-Stack verwalten, werden Sie sich bald Gedanken über die Ausfallsicherheit machen. Was ist zu tun, wenn einer der Elasticsearch-Knoten ausfällt? Oder Ihre Kibana-Leistung unbrauchbar wird?
Außerdem könnten Sie in Schwierigkeiten geraten, wenn Sie Ihre Infrastruktur in den oben genannten Schritten korrekt einrichten. Logstash und Elasticsearch sind speicherintensiv. Wenn Sie versucht haben, Zeit und Geld zu sparen, indem Sie sie auf derselben winzigen Hardware installiert haben, werden sie sich gegenseitig in die Quere kommen. Und über einen Plan für die Aktualisierung von Versionen oder die Überwachung und Behebung von Sicherheitsproblemen haben wir noch gar nicht gesprochen!
AWS kann bei diesen Anforderungen helfen. Nehmen wir zum Beispiel Ihre Elasticsearch-Knoten. Wenn ein Knoten ausfällt, erkennt Amazon OpenSearch Service dies und ersetzt ihn für Sie. Das ist eine weitere Sache, über die Sie sich nicht den Kopf zerbrechen möchten.
Im Grunde ist es gut, ein großes Team zu haben, denn durch Selbstmanagement wird es noch größer. Wenn der Betrieb eines Elasticsearch-Clusters für Ihre Branche nicht entscheidend ist, können Sie ihn von AWS verwalten lassen. Es empfiehlt sich immer, die Entwickler dafür zu bezahlen, dass sie Unternehmenswert schaffen, und nicht für die Verwaltung des ELK-Stacks.
Welche Tools helfen also dabei, Schwierigkeiten mit dem ELK-Stack zu vermeiden?
Wenn Sie ELK erstellen, betreiben und unterstützen, sollten Sie daran denken, dass Sie nicht nur ein Tool unterstützen. Sie müssen sich jetzt um drei davon kümmern. Und die Ausführung in der Produktion bringt weitere Herausforderungen mit sich. Was könnten Sie in Ihrem Bestreben nach Selbstmanagement noch unterstützen?
Um die Ausfallsicherheit zu erhöhen, können Sie zum Beispiel Kafka für die Einreihung der Protokolle in eine Warteschlange verwenden. Bei hohem Datenaufkommen sollten Sie keine Protokolle verlieren, weil Ihr ELK-Stack nicht mehr mithalten kann. Sind Sie bereit, auch die Kafka-Verwaltung zu übernehmen? Alternativ können Sie auch Redis verwenden, um die Last während der Spitzenzeiten zu bewältigen. Aber Moment - ist das nicht noch etwas, das Sie verwalten müssen? Und wie wollen Sie die erforderlichen Analysen erstellen, damit Ihr Team das System überwachen kann? Werden Sie hier auch eigenhändig etwas basteln? Oder werden Sie ein weiteres System installieren und konfigurieren, das Ihnen die erforderliche Überwachung bietet?
Es gibt eine Alternative. Sie können etwas wie Amazon Cloudwatch zur Hilfe nehmen. Dies funktioniert in Verbindung mit Kibana und schafft eine benutzerfreundliche Methode zur Analyse von Protokollen.
Nicht zuletzt können verwaltete Elasticsearch-Services wie Amazon OpenSearch Service auch bei der Sicherheitsintegration helfen, einschließlich VPC-Unterstützung, integrierter Verschlüsselung für Daten im Ruhezustand und bei der Übertragung sowie Benutzerauthentifizierung.
Sind verwaltete Lösungen das Richtige für Sie?
Viele Unternehmen entscheiden sich für das Selbst-Hosting als Option. Aber nicht alle berücksichtigen den Aufwand an Arbeit, technischen Ressourcen und Fachwissen, der für einen reibungslosen Betrieb erforderlich ist. Und niemand möchte seine Zeit damit verbringen, ein System am Laufen zu halten, wenn er sie dazu nutzen könnte, seinen Kunden großartige Produkte zu liefern.
Selbst wenn Sie mit dem Gedanken spielen, selbst zu hosten, sollten Sie in Erwägung ziehen, mit verwalteten Services wie Amazon OpenSearch Service zu beginnen, um schnell einsatzbereit zu sein. Wenn Sie es einmal ausprobiert haben, werden Sie wahrscheinlich feststellen, dass Sie mit verwalteten Services wie Amazon OpenSearch Service mehr Zeit für die wichtigen Dinge haben.
OpenSearch enthält bestimmten von Apache lizenzierten Elasticsearch-Code von Elasticsearch B.V. und anderen Quellcode. Elasticsearch B.V. ist nicht die Quelle dieses anderen Quellcodes. ELASTICSEARCH ist eine eingetragene Marke von Elasticsearch B.V.
Weitere Informationen zu den Preisen von Amazon OpenSearch Service