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.
20Beiträge und es werden mehr.
OpsCanopy7 Min. Lesezeit
DevOps in 90 Tagen lernen: der Incident-first-Weg
Warum wir Mission: 90 Days DevOps gebaut haben – ein kostenloser Tag-für-Tag-Weg von Linux bis Kubernetes mit spielbaren Incident-Missionen.
- devops
- career
- learning
OpsCanopy12 Min. Lesezeit
Warum erreicht mein Alert nicht den richtigen Receiver?
Alerts landen beim falschen Receiver oder bei gar keinem? Debugge das Alertmanager-Routing — first-match-wins, fehlendes continue, Matcher-Regex und Catch-all.
- alertmanager
- observability
- alerting
OpsCanopy10 Min. Lesezeit
Alertmanager-Matchers, Gruppierung und Route-Vererbung
Referenz zur Alertmanager-Route-Config: die Formen matchers, match und match_re, verankerte Regexes, die vier Gruppierungsfelder und was eine Child-Route erbt.
- alertmanager
- observability
- alerting
OpsCanopy9 Min. Lesezeit
Warum Prometheus mein Target verwarf: relabel_configs
Ein Target ist verschwunden oder ein Label ist nach dem Relabeling weg. relabel_configs vs. metric_relabel_configs debuggen, Regex-Anker und keep/drop.
- prometheus
- observability
- relabeling
OpsCanopy8 Min. Lesezeit
Warum Ihre GitHub-Actions-"if"-Bedingung immer läuft
Ihre GitHub-Actions-if-Bedingung ist immer wahr? Das ist der Literaltext-Fallstrick: Jeder Text außerhalb von ${{ }} wird zu einer truthy Zeichenkette gecastet.
- github-actions
- ci-cd
OpsCanopy8 Min. Lesezeit
Warum Ihr GitHub-Actions-Workflow nicht ausgelöst wurde
Nicht übereinstimmender Branch-Name, die UND-Semantik von branches- und paths-Filtern, die **-Glob-Anforderung, paths-ignore bei pull_request — mit Lösung.
- github-actions
- ci-cd
- debugging
OpsCanopy10 Min. Lesezeit
Prometheus-Relabel-Actions: keep, labelmap, hashmod
Feldreferenz für alle 11 Prometheus-Relabel-Actions — replace, keep, drop, labelmap, labeldrop, hashmod, keepequal, lowercase — jeweils mit Beispiel.
- prometheus
- observability
- relabeling
OpsCanopy9 Min. Lesezeit
7 häufige Fehler in der .gitlab-ci.yml (und ihre Lösung)
Die Fehler in der .gitlab-ci.yml, die Pipelines rot werden lassen: nicht definierte Stages, Jobs ohne Skript, kaputte needs und rules, falsch gesetzte Anchor.
- gitlab-ci
- ci-cd
- yaml
OpsCanopy9 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 danach.
- gitlab-ci
- ci-cd
- yaml
OpsCanopy9 Min. Lesezeit
Wann du Docker Compose statt docker run verwenden solltest
Wofür du dich entscheidest und was sich beim Wechsel wirklich ändert: Standardnetzwerk, Restart-Policy, Detached-Modus — und der Weg zurück zur Run-Zeile.
- docker
- docker-compose
- containers
OpsCanopy10 Min. Lesezeit
Einen docker-run-Befehl in docker-compose.yml umwandeln
Wandle jeden docker-run-Befehl Flag für Flag in einen docker-compose.yml-Service um – Ports, Volumes, Environment, Restart und mehr. Zum Kopieren und Einfügen.
- docker
- docker-compose
- containers
OpsCanopy5 Min. Lesezeit
Wie man eine PromQL-Abfrage liest
Eine PromQL-Abfrage liest man von innen nach außen, nicht von links nach rechts. Die vier Schichten – Selektoren, Bereiche, Funktionen, Aggregationen – erklärt.
- promql
- prometheus
- observability
OpsCanopy5 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. Wie beide Sprachen zueinander passen — und wo die Übersetzung bricht.
- logql
- promql
- observability
OpsCanopy6 Min. Lesezeit
Schluss mit dem Ausliefern einer veralteten .env.example
Ihre .env.example ist Dokumentation, die stillschweigend verrottet. Warum Env-Drift Onboarding zerstört und wie Sie fehlende und ungenutzte Schlüssel erkennen.
- configuration
- developer-experience
- twelve-factor
OpsCanopy5 Min. Lesezeit
Robuste reguläre Ausdrücke für Log-Zeilen schreiben
Ein praktischer Leitfaden zu Regexes, die Log-Zeilen zuverlässig parsen — Verankerung, Capture-Gruppen, Escaping, Gier und die Fehlermodi in der Produktion.
- regex
- logs
- parsing
OpsCanopy5 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, Verzögerungen, Fallstricke.
- systemd
- cron
- linux
OpsCanopy6 Min. Lesezeit
Cron-Ausdrücke lesen: eine Feld-für-Feld-Anleitung
Eine 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 dabei zubeißen.
- cron
- scheduling
- devops
OpsCanopy7 Min. Lesezeit
Die GitHub-Actions-Sicherheitsfehler, die Linter übersehen
YAML-Validatoren prüfen die Syntax, nicht die Angriffsfläche. Die fünf folgenschwersten GitHub-Actions-Fehlkonfigurationen — jeweils mit Muster und Lösung.
- github-actions
- security
- ci-cd
OpsCanopy5 Min. Lesezeit
Ein CVE, vier Ignore-Dateien vereinheitlichen
Eine triagierte CVE-Unterdrückung muss in .trivyignore, .grype.yaml, .snyk und osv-scanner.toml neu kodiert werden. Dieselbe Regel in allen vier Formaten.
- security
- vulnerability-management
- devops
OpsCanopy5 Min. Lesezeit
Unit-Tests für Loki-Alert-Regeln: die promtool-Lücke
Prometheus hat promtool test rules. Loki hat nichts Vergleichbares. Warum das Testen von LogQL-Alert-Regeln wichtig ist und wie Sie die Lücke heute schließen.
- loki
- observability
- testing