Schnell automatisieren und gewinnen: 11 ereignisgesteuerte Automatisierungsaufgaben für Enterprise-DevOps-Teams
Die ereignisgesteuerte Automatisierung ist ein leistungsstarker Ansatz zur Verwaltung von IT-Umgebungen in Unternehmen. Sie ermöglicht es Systemen, automatisch auf Unternehmensereignisse (Beobachtbarkeit/Überwachung/Sicherheit/Soziales/Maschine) zu reagieren und reduziert oder eliminiert die Notwendigkeit manueller Eingriffe.
In diesem Beitrag werden 11 gängige Automatisierungsaufgaben erörtert, die sich ideal für DevOps-Teams in Unternehmen eignen, die ihre Betriebseffizienz steigern, Ausfallzeiten reduzieren und die Geschäftskontinuität sicherstellen möchten.
Sie wissen nicht, wo Sie anfangen sollen? Diese Beispiele decken eine Reihe von Szenarien ab, von Sicherheitspatches bis hin zur Ressourcenoptimierung. Sie werden mit echten Codebeispielen kombiniert, um Ihnen den Einstieg zu erleichtern.
Automatisierungsaufgaben
1. Kubernetes Pod-Aktionen
Beschreibung: Während in Kubernetes-Umgebungen der gewünschte Zustand in der Regel gut erhalten bleibt, kann gelegentlich ein Neustart von Pods erforderlich sein, um den Anwendungsstatus zu aktualisieren oder neue Konfigurationen anzuwenden. Diese Automatisierungsaufgabe startet Pods neu, um sicherzustellen, dass sie sich mit der aktuellsten Umgebung verbinden. Um eine versehentliche Überskalierung zu verhindern, können einfach Schutzmaßnahmen hinzugefügt werden.
Auslösen: Vorfall/Ereignis
Plugin/Technologie: Kubernetes-Plugin

Nutzen: Verhindert Anwendungsabstürze und Leistungseinbußen durch Automatisierung der Speicherplatzverwaltung, Verbesserung der Systemstabilität und Reduzierung der Kosten für manuelle Eingriffe.
Erläuterung: Dieses Plugin startet Kubernetes-Pods für eine bestimmte Bereitstellung in einem bestimmten Namespace neu und stellt sicher, dass die Anwendung mit den neuesten Konfigurationen oder Patches ausgeführt wird. Daten wie Bereitstellungsname oder Namespace können dynamisch vom auslösenden Ereignis übergeben werden. Runbook Automation enthält eine Auswahl an Plugins zur Optimierung dieses Prozesses.
Dies kann problemlos auf jede Aktivität innerhalb des Kubernetes-Ökosystems erweitert werden. Für Aufgaben wie die Wartung von PVs, die Bereitstellung von Diensten, das Abrufen von Protokollen oder das Ausführen interner Jobs stehen 23 Plugins zur Verfügung.
Nutzen: Gewährleistet die Verfügbarkeit und Zuverlässigkeit von Anwendungen, indem Pods mit den neuesten Konfigurationen und Patches ausgeführt werden, wodurch Ausfallzeiten durch Fehlkonfigurationen reduziert werden.
—
2. Optimieren Sie die Festplattenressourcen
Beschreibung: Nicht genügend Speicherplatz kann zu Anwendungsabstürzen, Leistungseinbußen und Systeminstabilität führen. Die manuelle Überwachung und Bereinigung des Speicherplatzes kann zeitaufwändig und fehleranfällig sein. Die automatische Datenträgerbereinigung sorgt durch das Entfernen unnötiger Dateien für die Systemstabilität.
Auslösen: Vorfall/Ereignis/Vom Menschen initiiert
Plugin/Technologie: Bash-Inline-Skript

Erläuterung: Dieses Skript überprüft die Festplattennutzung der Root-Partition und leitet Bereinigungsaktionen ein, z. B. das Löschen alter Protokolldateien und das Leeren von Paketcaches, wenn die Festplattennutzung 80 % übersteigt.
—
3. Patch-Bereitstellung
Beschreibung: Schwachstellen in Linux-Systemen müssen umgehend behoben werden, um eine Ausnutzung zu verhindern. Diese Automatisierungsaufgabe wendet automatisch Sicherheitspatches an, wenn eine Schwachstelle erkannt wird.
Auslösen: Geplant/Ereignisgesteuert/Vom Menschen initiiert
Plugin/Technologie: Ansible Inline

Erläuterung: Dieses Playbook aktualisiert alle Pakete auf Linux-Systemen. Es kann ausgelöst werden, wenn eine Sicherheitslücke erkannt wird, oder für die regelmäßige Ausführung geplant werden.
Nutzen : Verbessert die Sicherheitslage durch die zeitnahe Anwendung von Sicherheitspatches, die Minimierung von Schwachstellenfenstern und den Schutz vor potenziellen Exploits.
—
4. Kubernetes-Skalierung
Beschreibung: In Kubernetes-Umgebungen kann die Skalierung einer Bereitstellung entscheidend sein, um die Arbeitslast effektiv zu verwalten, insbesondere bei Spitzenauslastung oder sinkender Ressourcennutzung. Diese Automatisierungsaufgabe skaliert eine Bereitstellung entsprechend der aktuellen Nachfrage mit einer definierten maximalen Anzahl von Instanzen, um eine optimale Ressourcennutzung zu gewährleisten.
Auslösen: Menschlich gesteuert/ereignisgesteuert
Plugin/Technologie: Kubernetes-Plugin

Erläuterung: Dieses Skript überprüft die aktuelle Anzahl der Replikate einer Bereitstellung und skaliert sie auf die maximal definierte Anzahl hoch, wenn mehr Ressourcen benötigt werden, oder skaliert sie in Zeiten geringerer Nachfrage herunter.
Nutzen: Optimiert die Ressourcennutzung durch dynamische Skalierung der Bereitstellungen je nach Bedarf, wodurch die Infrastrukturkosten gesenkt und gleichzeitig die Leistung in Spitzenzeiten aufrechterhalten wird.
—
5. Reaktion auf Sicherheitsvorfälle
Beschreibung: Sicherheitsvorfälle wie unbefugte Zugriffsversuche erfordern sofortiges Handeln. Automatisieren Sie die Reaktion auf erkannte Vorfälle, um die Sicherheit zu verbessern. Es gibt spezielle SIEM-Tools für diese Zwecke, aber Runbook Automation kann den Blockierungs- oder Quarantäneprozess verbessern.
Auslösen: Vorfall/Ereignis
Plugin/Technologie: Lambda-Aufruf

Erläuterung: Diese Lambda-Funktion verwendet eine bösartige IP-Adresse als Eingabe und fügt eine Sicherheitsgruppenregel hinzu, um die IP-Adresse zu blockieren.
Nutzen: Verbessert die Reaktionszeiten bei Sicherheitsproblemen durch Automatisierung der Vorfallsbehandlung, verringert das Risiko von Sicherheitsverletzungen und begrenzt potenzielle Schäden durch böswillige Aktivitäten.
—
6. Datenbankwartung
Beschreibung: Um die Integrität der Datenbank aufrechtzuerhalten, erfordert PostgreSQL beispielsweise regelmäßiges Staubsaugen, um unnötige Daten zu bereinigen und Speicherplatz freizugeben. Dies trägt dazu bei, die Datenbankleistung optimal zu halten.
Auslösen: Vom Menschen initiiert/ereignisgesteuert/geplant
Plugin/Technologie: SQL Run Step-Plugin

Erläuterung: Dieses Skript führt einen Bereinigungsvorgang für eine PostgreSQL-Datenbank durch, um die Leistung durch die Wiederherstellung von Speicher und die Bereinigung unnötiger Daten zu optimieren.
Nutzen: Gewährleistet optimale Datenbankleistung und Langlebigkeit durch Automatisierung routinemäßiger Wartungsaufgaben, Reduzierung des manuellen Aufwands und Vermeidung von Leistungsproblemen.
—
7. IAC-Drift-Behebung mit Terraform
Beschreibung: Cloudnative Umgebungen erfordern eine konsistente Konfiguration, um Stabilität zu gewährleisten. Diese Automatisierungsaufgabe hilft bei der Anwendung von Korrekturmaßnahmen, wenn die Konfiguration vom gewünschten Zustand abweicht.
Auslösen: Vorfall-/ereignisgesteuert
Plugin/Technologie: Terraform

Erläuterung: Dieses Terraform-Skript definiert eine AWS EC2-Instanz. Abweichungen von dieser Konfiguration können durch erneutes Anwenden des Terraform-Plans korrigiert werden.
Nutzen: Sorgt für die Konsistenz der Cloud-Infrastruktur und minimiert das Risiko von Konfigurationsabweichungen, die zu unerwarteten Ausfällen oder Sicherheitslücken führen können.
—
8. Automatisierte Sicherung und Wiederherstellung
Beschreibung: Regelmäßige Backups sind für die Geschäftskontinuität von entscheidender Bedeutung. Automatisierte Backups stellen sicher, dass Daten jederzeit wiederherstellbar sind.
Auslösen: Geplant
Plugin/Technologie: Befehlsschritt

Erläuterung: Dieses Skript erstellt täglich einen Snapshot einer RDS-Instanz und stellt so sicher, dass Daten bei Bedarf wiederhergestellt werden können. Anmeldeinformationen können über IAM oder sicher aus einem Schlüsselspeicher übermittelt werden.
Es reduziert das Risiko eines Datenverlusts, indem es regelmäßige Backups sicherstellt, die Disaster-Recovery-Funktionen verbessert und potenzielle Betriebsunterbrechungen minimiert.
Nutzen: Reduziert die Cloud-Kosten durch automatisches Stoppen ungenutzter Ressourcen und stellt so sicher, dass unnötige Ausgaben minimiert und die Ressourcennutzung optimiert wird.
—
9. Ressourcenoptimierung und Kostenmanagement
Beschreibung: Ineffiziente Ressourcen verursachen unnötige Kosten. Automatisierte Optimierung hilft, Kosten zu senken.
Auslösen: Geplant/Ereignisgesteuert/Vom Menschen initiiert
Plugin/Technologie: Python-Skript

Erläuterung: Dieser Python-Code stoppt EC2-Instanzen, die seit über 24 Stunden laufen und für das automatische Stoppen markiert sind, um die Ressourcennutzung zu optimieren.
Nutzen: Gewährleistet eine unterbrechungsfreie, sichere Kommunikation und verhindert Serviceausfälle aufgrund abgelaufener SSL-Zertifikate. Dadurch wird das Kundenvertrauen und die Servicezuverlässigkeit geschützt.
—
10. Überprüfen Sie das Ablaufdatum des SSL-Zertifikats
Beschreibung: Die Aktualität von SSL-Zertifikaten ist entscheidend für die sichere Kommunikation zwischen Benutzern und Diensten. Diese Automatisierungsaufgabe überprüft das Ablaufdatum eines SSL-Zertifikats für eine bestimmte URL und gibt eine Warnung aus, wenn es innerhalb einer konfigurierten Anzahl von Tagen abläuft.
Auslösen: Geplant/Ereignisgesteuert/Vom Menschen initiiert
Plugin/Technologie: Bash-Skript-Plugin

Erläuterung: Dieses Skript prüft das Ablaufdatum des SSL-Zertifikats für eine bestimmte URL. Wenn das Zertifikat innerhalb der konfigurierten Anzahl von Warntagen abläuft, wird eine Warnmeldung ausgegeben.
—
11. Windows Server-Neustart-Reparatur
Beschreibung: Ein Neustart eines Windows-Servers kann erforderlich sein, um Patches anzuwenden, Leistungsprobleme zu beheben oder Konfigurationsänderungen zu implementieren. Diese Automatisierungsaufgabe verwendet PowerShell, um einen Windows-Server ereignisgesteuert remote neu zu starten.
Auslösen: Vorfall-/ereignisgesteuert
Plugin/Technologie: Powershell-Skript

Erläuterung: Dieses PowerShell-Skript startet einen Windows-Server remote neu, der durch $ServerName . Der -Gewalt Flag stellt sicher, dass der Neustart auch dann fortgesetzt wird, wenn Benutzer angemeldet sind, und -Warten ermöglicht die Überwachung des Neustartvorgangs mit einem Timeout von 300 Sekunden.
Nutzen: Verbessert die Systemverfügbarkeit durch Automatisierung von Serverneustarts zum Patchen oder zur Leistungsverbesserung und minimiert so Ausfallzeiten und manuellen Wartungsaufwand.
—
Abschluss
Ereignisgesteuerte Automatisierung verändert die Verwaltung von IT-Umgebungen und ermöglicht proaktive und effiziente Problembehebung. Durch die Implementierung dieser Automatisierungsaufgaben können Unternehmen ihre operative Belastbarkeit, Sicherheit und Kosteneffizienz verbessern, sodass sich ihre Teams stärker auf strategische Initiativen konzentrieren können.
PagerDuty Runbook Automation unterstützt Unternehmen bei der Standardisierung eines gemeinsamen Ansatzes für die bestehende und zukünftige Zustandsautomatisierung auf Cloud-/Hybrid- und selbstgehosteten Plattformen mit Plug-ins für moderne und traditionelle Architekturen.
Automatisierungs-Inhaltsbibliothek
Um den Einstieg für diejenigen zu erleichtern, die gerade erst anfangen, wird eine Automatisierungs-Content-Bibliothek gestartet unter https://www.pagerduty.com/use-case-library/ .
Die Bibliothek ermöglicht mehrere Ansätze zur Automatisierungsstandardisierung, darunter:
- Bringen Sie Ihren eigenen Code mit
- Aufbauend auf vorhandenen Inhalten
- Automatisieren Sie die GenAI-Joberstellung in Runbook Automation
Über den Autor
Justyn ist Mitglied des Solution Consulting Teams bei PagerDuty. Mit seiner Leidenschaft für Automatisierung und Infrastruktur als Code unterstützt Justyn PagerDuty Kunden dabei, ihre Abläufe zu optimieren und moderne Technologien zu nutzen, um Skalierbarkeit und Effizienz zu erreichen und Aufgaben mit geringem Wert zu eliminieren.