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