Effektives Logging ist in Microdiensten und verteilten Systemen von entscheidender Bedeutung, und die Integration von Grafana Loki mit der Go-Logging-Bibliothek Logrus kann ein leistungsfähiges, durchsuchbares Logging-System erstellen. Es gibt zwei primäre Ansätze zur Integration von Loki: die Verwendung von Promtail oder einen direkten Hook mit Logrus. Dieser Leitfaden konzentriert sich auf den zweiten Ansatz, der Log-Nachrichten erfasst und sie direkt über HTTP an das Grafana-Dashboard sendet. Logrus-Hooks sind Erweiterungspunkte, die es ermöglichen, zusätzliche Aktionen auszuführen, wenn ein Log-Eintrag erstellt wird. Eine Hook-Implementierung für die Loki-Integration ist über das YuKitsune/lokirus-Paket verfügbar. Loki organisiert Logs mit Labels, was sie hochsuchbar und filterbar macht. Um das Logging-System zu implementieren, wird ein Request-Tracer-Middleware erstellt, um wichtige Anforderungsdetails zu erfassen, und eine Logger-Schnittstelle wird definiert, um Implementierungsdetails abzustrahlen. Der Logger wird dann mit dem Loki-Hook initialisiert, und Logging-Methoden werden implementiert, um Kontextinformationen zu extrahieren und Logs zu formatieren. Das Logging-System kann in einer Anwendung verwendet werden, indem der Logger initialisiert und in Anforderungshandlern verwendet wird. Schließlich kann Grafana so konfiguriert werden, dass es die Logs anzeigt, indem Loki als Datenquelle hinzugefügt, ein Dashboard mit einem Logs-Panel erstellt und die Abfrage so konfiguriert wird, dass sie nach Dienstlabels filtert.
dev.to
Supercharging Your Observability: Integrating Logrus with Grafana Loki
Create attached notes ...
