In unserem vorherigen Blogbeitrag haben wir die Wichtigkeit der Überwachung der durchschnittlichen Auslastung deiner Infrastruktur hervorgehoben, um anormales Verhalten zu erkennen und Sicherheitsvorfälle zu vermeiden. Die neue ISO27001-Norm „8.16 Monitoring activities“ fordert explizit, dass Netzwerke, Systeme und Anwendungen auf anormales Verhalten überwacht und geeignete Maßnahmen ergriffen werden, um potenzielle Informationssicherheitsvorfälle zu bewerten. Ein effektiver Weg, dies zu erreichen, ist durch die Automatisierung der Überwachung. In diesem Beitrag zeigen wir dir, wie du das mit Zabbix, einem mächtigen Open-Source-Monitoring-Tool, umsetzen kannst. Voraussetzung dafür ist ein bereits laufendes Zabbix-System.
Voraussetzungen
- Ein funktionierendes Zabbix-Server-Setup
- Agenten installiert und konfiguriert auf den zu überwachenden Systemen
- Grundlegende Kenntnisse in der Bedienung von Zabbix
Anpassung des Zabbix Standard Templates
Im Idealfall möchten wir über anormales Verhalten aller unserer Hosts informiert werden. Daher ist es sinnvoll, diese Anpassungen direkt im Standard-Template vorzunehmen. In dieser Anleitung werden wir die durchschnittliche CPU- und RAM-Auslastung der letzten 30 Tage ermitteln und anschließend einen Trigger definieren, der uns bei einer Abweichung von 20% benachrichtigt.
Um das Zabbix Standard Template „Windows by Zabbix agent“ anzupassen und zwei neue Items für die durchschnittliche CPU- und RAM-Nutzung über 30 Tage hinzuzufügen, gehe wie folgt vor: Öffne das Template „Windows by Zabbix agent“ und füge zwei neue Items hinzu. Das erste Item nenne „Average CPU Usage (30 days)“, setze den Typ auf „Calculated“, den Datentyp auf „Numeric Float“, und verwende die Formel avg(//system.cpu.util,30d)
. Setze die Einheit auf „%“, und das Intervall auf „1d“. Für das zweite Item, nenne es „Average RAM Usage (30 days)“, verwende dieselben Einstellungen, aber mit der Formel avg(//vm.memory.util,30d)
. So stellst du sicher, dass beide Ressourcen automatisch über einen Zeitraum von 30 Tagen gemessen werden, was dir eine präzise Baseline für die Auslastung liefert.
Erstellen der Trigger
Nun benötigen wir noch die Trigger welche uns bei Abweichung der ermittelten Werte warnen. Öffne das Template „Windows by Zabbix agent“ und füge einen neuen Trigger hinzu. Benenne diesen Trigger „Average CPU Usage (30 days) above or below 20%“. Setze die Schweregrad auf „Warning“ und verwende folgende Expression:
abs(last(/Windows by Zabbix agent/avg_cpu_usage_30d) - avg(/Windows by Zabbix agent/avg_cpu_usage_30d,30d)) > 0.2 * avg(/Windows by Zabbix agent/avg_cpu_usage_30d,30d)
Erstelle nun einen zweiten Trigger mit dem Namen „Average RAM Usage (30 days) above or below 20%“. Setze auch hier die Schweregrad auf „Warning“ und verwende die Expression:
abs(last(/Windows by Zabbix agent/avg_ram_usage_30d) - avg(/Windows by Zabbix agent/avg_ram_usage_30d,30d)) > 0.2 * avg(/Windows by Zabbix agent/avg_ram_usage_30d,30d)
Mit diesen Triggern wirst du benachrichtigt, wenn die CPU- oder RAM-Auslastung um mehr als 20% von der durchschnittlichen Auslastung der letzten 30 Tage abweicht.
Schreibe einen Kommentar