Beiträge
Notizen aus dem Blätterdach.
Beobachtungen zu DevOps-Tooling, Observability und den kleinen Lücken im Ökosystem, die sich zu schließen lohnen — geschrieben für die Engineers, die auf sie stoßen.
20 Beiträge und es werden mehr.
-
OpsCanopy 7 Min. Lesezeit
DevOps in 90 Tagen lernen: der kostenlose, Incident-first-Weg vom Entwickler zum DevOps-Engineer
Warum wir Mission: 90 Days DevOps gebaut haben – ein kostenloser Tag-für-Tag-Weg von Linux bis Kubernetes mit spielbaren Incident-Missionen. Plan, Designentscheidungen und ehrliche Kompromisse.
- devops
- career
- learning
-
OpsCanopy 12 Min. Lesezeit
Warum erreicht mein Alert nicht den richtigen Receiver? Alertmanager-Routing debuggen
Alerts landen beim falschen Receiver oder bei gar keinem? Debugge das Alertmanager-Routing — first-match-wins, fehlendes continue, Matcher-Regex und Catch-all-Defaults.
- alertmanager
- observability
- alerting
-
OpsCanopy 10 Min. Lesezeit
Wie das Routing von Alertmanager funktioniert: Matchers, continue und der Route-Baum
Ein klares mentales Modell für das Routing von Alertmanager — der Route-Baum, Matchers, das continue-Flag, Gruppierung und Receiver-Vererbung — damit du genau weißt, wo ein Alert landet.
- alertmanager
- observability
- alerting
-
OpsCanopy 9 Min. Lesezeit
Warum hat Prometheus mein Target verworfen? relabel_configs debuggen
Ein Target ist verschwunden oder ein Label ist nach dem Relabeling weg. relabel_configs vs. metric_relabel_configs debuggen, Regex-Anker und keep/drop-Logik verstehen.
- prometheus
- observability
- relabeling
-
OpsCanopy 8 Min. Lesezeit
Warum Ihre GitHub-Actions-"if"-Bedingung immer ausgeführt wird (und wie Sie das beheben)
Ihre GitHub-Actions-if-Bedingung ist immer wahr? Das ist der Literaltext-Fallstrick: Jeder Text außerhalb von ${{ }} wird zu einer truthy Zeichenkette gecastet. Hier sind Ursache und Lösung.
- github-actions
- ci-cd
-
OpsCanopy 8 Min. Lesezeit
Warum Ihr GitHub-Actions-Workflow nicht ausgelöst wurde: branches-, tags- und paths-Filter erklärt
Warum Ihr GitHub-Actions-Workflow nicht ausgelöst wurde: nicht übereinstimmender Branch-Name, die UND-Semantik von branches- + paths-Filtern, die **-Glob-Anforderung, paths-ignore bei pull_request — und die jeweiligen Lösungen.
- github-actions
- ci-cd
- debugging
-
OpsCanopy 10 Min. Lesezeit
Prometheus relabel_configs erklärt: Ein Praxisleitfaden
Verstehe Prometheus relabel_configs von Anfang bis Ende — source_labels, regex, replacement und jede Action (replace, keep, drop, labelmap, hashmod) — mit Rezepten zum Kopieren und Einfügen.
- prometheus
- observability
- relabeling
-
OpsCanopy 9 Min. Lesezeit
7 häufige Fehler in der .gitlab-ci.yml (und wie man sie aufspürt)
Die Fehler in der .gitlab-ci.yml, die Pipelines rot werden lassen: nicht definierte Stages, Jobs ohne Skript, kaputte needs und rules, falsch eingesetzte Anchor — jeweils mit einer Lösung zum Kopieren.
- gitlab-ci
- ci-cd
- yaml
-
OpsCanopy 9 Min. Lesezeit
So validierst du deine .gitlab-ci.yml vor dem Push
Schluss mit kaputten Pipelines beim Pushen. Validiere deine .gitlab-ci.yml direkt im Browser auf YAML- und Strukturfehler — vor dem Commit, nicht erst nach der roten Pipeline.
- gitlab-ci
- ci-cd
- yaml
-
OpsCanopy 9 Min. Lesezeit
docker run vs. Docker Compose: Ein praktischer Migrationsleitfaden
Wann du docker run verwenden solltest, wann der Wechsel zu Docker Compose sinnvoll ist und wie du in beide Richtungen konvertierst — mit korrekt behandelten Volumes, Netzwerken und Reproduzierbarkeit.
- docker
- docker-compose
- containers
-
OpsCanopy 10 Min. Lesezeit
Wie man einen docker-run-Befehl in eine docker-compose.yml umwandelt
Wandle jeden docker-run-Befehl Flag für Flag in einen docker-compose.yml-Service um – Ports, Volumes, Environment, Restart und mehr. Eine praxisnahe Anleitung zum Kopieren und Einfügen.
- docker
- docker-compose
- containers
-
OpsCanopy 5 Min. Lesezeit
Wie man eine PromQL-Abfrage liest
Eine PromQL-Abfrage liest man von innen nach außen, nicht von links nach rechts. Lernen Sie die vier Schichten – Selektoren, Bereiche, Funktionen und Aggregationen – kennen, damit Sie jeden Prometheus-Ausdruck auf einen Blick entschlüsseln können.
- promql
- prometheus
- observability
-
OpsCanopy 5 Min. Lesezeit
LogQL vs. PromQL: dieselbe Abfrage in beiden Sprachen
LogQL übernimmt die Form von PromQL, geht aber von Log-Zeilen aus, nicht von Metriken. Hier sehen Sie, wie die beiden Abfragesprachen zueinander passen, wo sie sich sauber übersetzen lassen und wo schlicht nicht.
- logql
- promql
- observability
-
OpsCanopy 6 Min. Lesezeit
Schluss mit dem Ausliefern einer veralteten .env.example
Ihre .env.example ist Dokumentation, die stillschweigend verrottet. Hier erfahren Sie, warum Env-Drift Onboarding und Deployments zerstört, wie Sie fehlende und ungenutzte Schlüssel erkennen und wie Sie die Beispieldatei ehrlich halten.
- configuration
- developer-experience
- twelve-factor
-
OpsCanopy 5 Min. Lesezeit
Robuste reguläre Ausdrücke für Log-Zeilen schreiben
Ein praktischer Leitfaden zum Erstellen von Regexes, die Log-Zeilen zuverlässig parsen — Verankerung, Capture-Gruppen, Escaping, Gier und die Fehlermodi, die Sie in der Produktion treffen.
- regex
- logs
- parsing
-
OpsCanopy 5 Min. Lesezeit
Migration von cron zu systemd-Timern
Ein praktischer Leitfaden zur Umwandlung von crontab-Einträgen in systemd-.timer- und -.service-Units — OnCalendar-Syntax, Logging, randomisierte Verzögerungen, nachgeholte Läufe und die Fallstricke, die bei der Migration zubeißen.
- systemd
- cron
- linux
-
OpsCanopy 6 Min. Lesezeit
Cron-Ausdrücke lesen: eine Feld-für-Feld-Anleitung
Eine praktische Feld-für-Feld-Anleitung zum Lesen von Cron-Ausdrücken — die fünf Zeitfelder, Bereiche, Schritte, Listen und @macros — plus die Tücken, die Zeitpläne genau dann auslösen lassen, wenn Sie am wenigsten damit rechnen.
- cron
- scheduling
- devops
-
OpsCanopy 7 Min. Lesezeit
Die GitHub-Actions-Sicherheitsfehler, die Linter übersehen
YAML-Validatoren prüfen die Syntax, nicht die Angriffsfläche. Hier sind die fünf folgenschwersten GitHub-Actions-Fehlkonfigurationen — pull_request_target, Script Injection, ungepinnte Actions, zu weite GITHUB_TOKEN-Berechtigungen und curl|bash — jeweils mit dem fehlerhaften Muster und der zugehörigen Lösung.
- github-actions
- security
- ci-cd
-
OpsCanopy 5 Min. Lesezeit
Ein CVE, vier Ignore-Dateien: Trivy, Grype, Snyk und osv-scanner vereinheitlichen
Eine einzige triagierte CVE-Unterdrückung muss in .trivyignore, .grype.yaml, .snyk und osv-scanner.toml neu kodiert werden — jeweils in einer anderen Form. Hier ist dieselbe Unterdrückung in allen vier Formaten, was sich sauber abbilden lässt und was verlustbehaftet ist.
- security
- vulnerability-management
- devops
-
OpsCanopy 5 Min. Lesezeit
Unit-Tests für Loki-Alert-Regeln: die Lücke, die promtool hinterlässt
Prometheus hat promtool test rules. Loki hat nichts Vergleichbares. Hier erfahren Sie, warum das Testen von LogQL-Alert-Regeln wichtig ist, wie ein Unit-Test für eine Loki-Regel aussehen sollte und wie Sie die Lücke heute schließen.
- loki
- observability
- testing