Monitoring und Logging
Ziel
In diesem Projekt geht darum mit Hilfe eines Containers einen Linter in eine Pipeline zu integrieren.
Hilfsmittel
- Versuchen Sie zuerst, die unten stehenden Aufgaben mit Hilfe der Folien zu lösen.
- Sollten Sie dabei Probleme haben, finden Sie bei jeder Aufgabe einen ausklappbaren Block, in dem der Lösungsweg beschrieben wird.
Aufgabe 1 - In Grafana Einloggen
1.1 Grafana öffnen
- Öffnen Sie die Grafana-Instanz für diese Schulung: https://grafana.code-X.labs.corewire.de/
- Ersetzen Sie
code-Xdurch Ihren Benutzernamen - Loggen Sie sich mit den Zugangsdaten ein, die Sie von Ihrem Trainer erhalten haben
Aufgabe 2 - Dashboard erstellen
2.1 Data Source hinzufügen
Im Moment gibt es noch nicht viel zu sehen. Um zu starten müssen wir eine Datenquelle hinzufügen.
- Klicken Sie auf
Connectionsin der linken Menüleiste - Klicken Sie auf
Add new connection - Suchen Sie nach
TestData - Klicken Sie auf
Add new connectionoben rechts - Wichtig: Aktivieren Sie die Checkbox
Default - Klicken Sie auf
Save & Test
2.2 Dashboard erstellen
Die Test Data Data Source bringt bereits ein erstes Dashboard mit. Dieses möchen wir hier anlegen.
- Klicken Sie auf den Reiter
Dashboardsin der neuen Datasorce - Klicken Sie auf
Importfür dasSimple Streaming Example
2.3 Dashboard öffnen
- Klicken Sie auf
Dashboardsin der linken Menüleiste - Wählen Sie das Dashboard
Simple Streaming Exampleaus
Aufgabe 3 - Logs monitoren
3.1 Logs einsehen
- Klicken Sie auf
Explorein der linken Menüleiste - Wählen Sie die Datenquelle
Lokiaus - Klicken Sie oben rechts auf
Builder - Klicken Sie auf
Select labelund wählen Siecontainer - Klicken Sie auf
Select valueund wählen Siegitlab - Klicken Sie auf
Run query
3.2 Logs finden
- Loggen Sie sich in einem neuen Tag in Gitlab ein
- Erzeugen Sie einen 404 Fehler indem Sie einen frei ausgedachten Prad aufrufen
- Gehen Sie zurück zu Grafana und suchen Sie im Log nach dem 404 Fehler:
- Klicken Sie auf
Codein ihrem Querry - Fügen Sie folgenden Code ein:
- Klicken Sie auf
{container="gitlab"} | json | status="404"
- Hier werden auch die Requests der anderen Teilnehmer:innen angezeigt. Um nur die eigenen Requests zu sehen, können Sie direkt nach dem eigenen Pfad suchen:
{container="gitlab"} | json | uri="<ihr ausgedachter pfad>"
- Im weiteren werden wir Logs aus dem Container
flogbetrachten. Flog ist ein Service der Dummy Logs generiert. Um die Logs zu sehen, können Sie folgende Query verwenden:
{container="flog"}
- Diese lassen sich ebenfalls filtern. Probieren Sie verschiedenes aus. Sie können auch mehrere Filter kombinieren, zum Beispiel:
{container="flog"} | json | request="/content" status="501"
Aufgabe 4 - Eigenes Dashboard erstellen
4.1 Dashboard erstellen
- Klicken Sie auf
Dashsboardsin der linken Menüleiste - Klicken Sie auf
New - Klicken Sie auf
New Dashboard - Klicken Sie auf
Add visualisation - Wählen Sie
Lokials Datenquelle aus - Geben sie folgende Query ein:
sum by (status) (count_over_time({container="flog"} | json [10m]))
Run query
- Im rechen Menü geben Sie Requests nach Statuscode als Titel ein
- Klicken Sie auf Apply um das Panel zu erstellen
Sie sehen nun die Anzahl der Requests nach Status Code gruppiert. Da es sich hier um Dummy Daten handelt, können wir keine Pattern erkennen.
4.2 Zweites Panel hinzufügen
- Klicken Sie auf
Add - Wählen Sie
Visualisation - Geben Sie folgende Query ein:
sum by (method) (count_over_time({container="flog"} | json [10m]))
Run query
- Im rechten Menü geben Sie Requests nach Methode als Titel ein
- Klicken Sie auf Apply um das Panel zu erstellen
4.3 Dashboard speichern
- Klicken Sie auf das Disketten-Symbol oben rechts
- Geben Sie einen Namen für das Dashboard ein
- Klicken Sie auf
Save