Wie man bei Logs spart und nicht verrückt wird wegen Splunk-Rechnungen
Ich bin kürzlich auf ein interessantes Projekt namens SigLens gestoßen. Die Entwickler haben sich vorgenommen, etwas Heiliges zu stürzen – Splunk und ElasticSearch den Rang abzulaufen und dabei zehnfache Ressourceneinsparungen zu versprechen. Das klingt nach typischem Marketing-Hype, gäbe es nicht ein „Aber": Das Projekt wurde kürzlich archiviert, auf Apache 2.0-Lizenz umgestellt und ist jetzt als fertige Grundlage für jeden verfügbar, der sein eigenes Observability-System aufbauen möchte, ohne dabei ausgeraubt zu werden.
Übrigens behaupten die SigLens-Entwickler, ihre Lösung sei 100-mal effizienter als Splunk. Ich bin gegenüber solchen Zahlen immer skeptisch, aber der technische Hintergrund des Teams (Betreuung von über 10.000 Entwicklern) lässt einen näher hinschauen wollen.
Was ist der Haupt-Schmerzpunkt aktueller Lösungen
Wenn Sie mit Logs in großen Projekten gearbeitet haben, kennen Sie dieses Szenario. Zuerst richten Sie ElasticSearch ein, das Leben ist großartig, und dann merken Sie sechs Monate später, dass der Cluster unanständige Ausmaße angenommen hat, ständige Admin-Aufmerksamkeit erfordert und Speicher verschlingt, als gäbe es kein Morgen. Grafana Loki sieht nach Erlösung aus, bis komplexe Abfragen ins Spiel kommen – die Performance ist manchmal wie die einer Schildkröte.
SigLens wurde als Antwort auf diese Probleme konzipiert. Es ist ein Go-Binary, das Logs, Metriken und Traces in einem Paket vereint. Keine externen Abhängigkeiten. Sie können es auf einem normalen Laptop ausführen und laut den Autoren bis zu 8 TB Daten pro Tag verarbeiten.

Was dieses Tool kann
Das Projekt ist hauptsächlich wegen seiner „Alles-in-einem"-Architektur interessant. Anstatt zwischen verschiedenen Tools zu wechseln, erhalten Sie einen einzigen Einstiegspunkt.
Unterstützung für vertraute Abfragesprachen
Das ist wahrscheinlich seine stärkste Seite. Wenn Ihr Team seit Jahren SPL für Splunk geschrieben hat, gibt es keinen Grund für eine Umschulung. SigLens versteht sowohl SPL als auch normales SQL. Dies senkt die Einstiegshürde für die Migration erheblich.
Flexibilität bei der Datenaufnahme
Das Tool zwingt Sie nicht, Ihre Log-Delivery-Pipelines umzuschreiben. Es kann Daten in den Formaten OpenTelemetry, Elastic, Splunk HEC und sogar Loki akzeptieren. Im Wesentlichen können Sie es anstelle Ihres bestehenden Backends einsetzen, und die meisten Ihrer Agents (wie Fluentbit oder Vector) werden den Wechsel kaum bemerken.
Performance in echten Zahlen
Im Blog der Autoren gibt es eine Fallstudie, in der sie 1 PB Daten an einem einzigen Tag verarbeitet haben. Dafür benötigten sie nur 32 EC2-Instanzen. Zum Vergleich: Splunk oder Elastic würden für dieselbe Aufgabe etwa 3.000 Maschinen benötigen. Der Unterschied bei den Infrastrukturkosten ist enorm.

Die technische Seite
SigLens ist in Go geschrieben, was seine Leichtgewichtigkeit erklärt. Das Haupt-Highlight ist die Storage-Engine, optimiert für die Besonderheiten von Zeitreihen und unstrukturierten Logs. Anders als Elastic, das schwere invertierte Indizes für jedes Feld aufbaut, verwendet SigLens effizientere Ansätze für Kompression und Suche.
Interessanterweise bietet das Projekt sofort einsatzbereite Dashboards und ein Alerting-System. Sie müssen nicht unbedingt Grafana hinzufügen, obwohl eine solche Möglichkeit über die API wahrscheinlich besteht.

Wer könnte jetzt davon profitieren
Da das Projekt in den Archivmodus versetzt wurde, ist es ein zweischneidiges Schwert. Einerseits sollten Sie keine aktive Entwicklung vom ursprünglichen Team erwarten. Andererseits gibt Ihnen die Apache 2.0-Lizenz vollständige Freiheit.
Ich sehe mehrere Szenarien, in denen SigLens „abheben" könnte:
- Interne Monitoring-Tools in Startups, wo das Infrastrukturbudget begrenzt ist, aber bereits viele Daten anfallen.
- Lokales Debugging. Dank des einzelnen Binaries lässt es sich leicht in einem Docker-Container auf dem Rechner eines Entwicklers starten, um Traces und Logs in Echtzeit zu analysieren.
- Eine Grundlage für die Erstellung einer eigenen proprietären Datenanalyse-Lösung.

Lohnt es sich, es zu probieren
Wenn Sie es leid sind, Tausende von Dollar für Splunk zu bezahlen oder massive Elasticsearch-Cluster zu pflegen, ist SigLens ein großartiger Kandidat zum Erkunden. Ja, das Projekt ist archiviert, aber der Go-Code dort ist ziemlich ausgereift und funktional.
Für einen schnellen Start gibt es fertige Helm-Charts und Docker-Images. Sie können das System in fünf Minuten bereitstellen und sehen, wie es Ihren Log-Stream bewältigt. Vielleicht ist dies genau der Fall, wo „aufgegebenes" Open Source einem Unternehmen ein Jahresbudget für die Cloud ersparen kann.

In meiner Praxis ist es oft so, dass diese eng spezialisierten Engines besser funktionieren als universelle Alles-in-einem-Lösungen. Die Hauptsache ist zu verstehen, dass Sie ab jetzt die Unterstützung selbst übernehmen müssen oder durch die Community, die sich entscheidet, das Projekt zu forken.
Ähnliche Projekte