13.6 Log- und Statusdaten automatisiert sammeln

Das automatisierte Sammeln von Log- und Statusdaten gehört zu den wertvollsten Anwendungsfällen moderner Netzwerkautomatisierung, weil es Sichtbarkeit in den laufenden Betrieb bringt und die Grundlage für Troubleshooting, Monitoring, Kapazitätsplanung und Sicherheitsanalysen schafft. In klassischen Umgebungen werden viele dieser Informationen nur im Störungsfall manuell abgefragt: Ein Engineer verbindet sich per SSH, prüft Interfaces, liest Logs aus und analysiert Protokollzustände. Dieses Vorgehen funktioniert für Einzelgeräte, skaliert aber schlecht in verteilten Netzen mit vielen Routern, Switches, Firewalls und WLAN-Komponenten. Automatisierte Datensammlung macht aus punktuellen Einzelabfragen einen reproduzierbaren Prozess. Für Network Engineers bedeutet das: weniger Blindflug, schnellere Fehleranalyse, bessere Vergleichbarkeit und ein deutlich saubereres Betriebsbild über das gesamte Netzwerk hinweg.

Table of Contents

Warum Log- und Statusdaten im Netzwerk so wichtig sind

Statusdaten zeigen den tatsächlichen Betriebszustand

Konfigurationsdaten beschreiben, wie ein Gerät arbeiten soll. Statusdaten zeigen dagegen, wie es tatsächlich arbeitet. Genau deshalb sind sie für den operativen Alltag unverzichtbar. Ein Interface kann korrekt konfiguriert sein und trotzdem down sein. Eine Routing-Nachbarschaft kann geplant sein und dennoch nicht zustande kommen. Ein NTP-Server kann eingetragen, aber nicht synchronisiert sein.

  • Interface-Zustände zeigen echte Link- und Portverfügbarkeit.
  • Routing-Status offenbart Nachbarschaften und Pfadentscheidungen.
  • Fehlerzähler liefern Hinweise auf physische oder logische Probleme.
  • CPU- und Speicherauslastung helfen bei Kapazitäts- und Stabilitätsfragen.

Wer Netzwerke nur auf Basis von Konfigurationen betrachtet, sieht nur die Absicht. Erst Statusdaten machen die Realität sichtbar.

Logs liefern den zeitlichen Kontext

Während Statusdaten den aktuellen Zustand zeigen, erklären Logs oft, wie es zu diesem Zustand gekommen ist. Syslog-Meldungen, lokale Puffer, Authentifizierungsereignisse oder Interface-Events helfen dabei, Änderungen und Störungen zeitlich einzuordnen.

  • Wann ist ein Interface geflappt?
  • Wann ist eine OSPF- oder BGP-Nachbarschaft verloren gegangen?
  • Gab es Login-Fehler oder AAA-Probleme?
  • Wurde ein Modul, Port oder Netzteil als fehlerhaft gemeldet?

Gerade im Troubleshooting ist diese zeitliche Dimension oft entscheidend.

Warum automatisiertes Sammeln besser ist als manuelle Einzelabfragen

Manuelle Prüfungen sind langsam und inkonsistent

In kleinen Umgebungen ist es noch realistisch, auf einzelne Geräte zu gehen und relevante Informationen manuell auszulesen. In größeren Netzen wird das jedoch schnell unpraktisch. Unterschiedliche Engineers prüfen unterschiedliche Befehle, zu unterschiedlichen Zeitpunkten und mit unterschiedlicher Tiefe.

  • Ergebnisse sind schwer vergleichbar.
  • Wichtige Informationen werden leicht übersehen.
  • Zeitkritische Zustände sind beim manuellen Prüfen oft schon wieder vorbei.
  • Standort- und geräteübergreifende Muster bleiben unsichtbar.

Automatisierte Datensammlung schafft hier Konsistenz: Dieselben Prüfungen laufen nach denselben Regeln auf derselben Zielgruppe.

Automatisierung macht historische Vergleiche möglich

Ein weiterer Vorteil liegt in der Historisierung. Wenn Log- und Statusdaten regelmäßig gesammelt und gespeichert werden, lassen sich Veränderungen über die Zeit analysieren. Das ist für Trendbetrachtung, Fehleranalyse und Kapazitätsplanung besonders wertvoll.

  • Wann begann eine Schnittstelle Fehler zu produzieren?
  • Seit wann steigt die CPU-Auslastung?
  • Welche Geräte verlieren regelmäßig Routing-Nachbarn?
  • Wie häufig treten bestimmte Log-Meldungen auf?

Ohne automatisierte Sammlung bleibt diese Verlaufssicht oft lückenhaft.

Welche Statusdaten typischerweise gesammelt werden

Interface- und Portstatus

Interfaces gehören zu den wichtigsten Statusquellen im Netzwerk. Sie zeigen nicht nur, ob Verbindungen aktiv sind, sondern liefern auch Hinweise auf Fehler, Last und physische Probleme.

  • Administrativer und operativer Status
  • Line Protocol
  • Speed und Duplex
  • Input- und Output-Errors
  • Drops, CRCs und Queue-Probleme
  • Bandbreiten- und Nutzungsinformationen

Typische CLI-Befehle:

show ip interface brief
show interfaces
show interfaces status
show interfaces counters errors

Gerade auf Access-, Uplink- und WAN-Ports sind diese Informationen operativ besonders wertvoll.

Routing- und Protokollzustände

Für Layer-3-Betrieb und Redundanzkonzepte sind Routing- und Protokollinformationen essenziell. Hier zeigt sich, ob Nachbarschaften stabil sind, Routen korrekt installiert werden und Redundanzmechanismen funktionieren.

  • OSPF- und BGP-Nachbarschaften
  • Routingtabellen und Default-Routen
  • HSRP-, VRRP- oder GLBP-Zustände
  • ARP- und Neighbor-Informationen

Typische CLI-Befehle:

show ip route
show ip ospf neighbor
show bgp summary
show standby brief
show arp

Diese Daten helfen sowohl bei akuten Störungen als auch bei regelmäßiger Betriebsvalidierung.

Systemzustände

Neben Ports und Routing sind auch allgemeine Systemmetriken wichtig. Sie geben Aufschluss über Belastung, Stabilität und Hardwarezustand eines Geräts.

  • CPU-Auslastung
  • Speicherverbrauch
  • Temperatur und Lüfterstatus
  • Netzteil- und Modulinformationen
  • Uptime und Reload-Historie

Typische CLI-Befehle:

show processes cpu
show processes memory
show environment
show version

Besonders bei Performance-Problemen und wiederkehrenden Stabilitätsfragen sind solche Daten unverzichtbar.

Welche Logdaten typischerweise gesammelt werden

Lokale Syslog-Puffer und Meldungen

Viele Geräte führen lokale Logpuffer, die aktuelle System- und Ereignismeldungen enthalten. Diese sind oft die erste Quelle, wenn ein Problem nachvollzogen werden soll.

  • Interface-Up/Down-Ereignisse
  • Protokolländerungen und Neighbor-Events
  • AAA- oder Login-Fehler
  • Hardware- oder Temperaturwarnungen
  • Konfigurationsereignisse

Typische CLI-Befehle:

show logging
show log

Das automatisierte Sammeln dieser Informationen ist besonders wertvoll, wenn Ereignisse nur kurz sichtbar sind oder schnell überschrieben werden.

Authentifizierungs- und Sicherheitsereignisse

Auch sicherheitsrelevante Logs sollten gezielt gesammelt werden. Gerade bei Management-Zugriffen und AAA-Verhalten liefern sie wichtige Hinweise auf Fehlkonfigurationen oder Angriffsversuche.

  • Fehlgeschlagene Logins
  • TACACS+- oder RADIUS-Probleme
  • SSH- oder Management-Fehler
  • ACL-bezogene Sicherheitsmeldungen

Typische CLI-Befehle oder Logquellen hängen von Plattform und Logging-Setup ab, werden aber oft über zentrale Syslog-Server und lokale Puffer gemeinsam ausgewertet.

Methoden zum automatisierten Sammeln

CLI-basierte Sammlung per SSH

In vielen bestehenden Umgebungen ist SSH der praktischste Einstiegspunkt. Ein Skript verbindet sich mit dem Gerät, führt definierte Show-Befehle aus und speichert die Rückgaben lokal oder zentral.

Mit Python und Netmiko kann das sehr einfach aussehen:

from netmiko import ConnectHandler

device = {
    "device_type": "cisco_ios",
    "host": "192.0.2.10",
    "username": "admin",
    "password": "password"
}

with ConnectHandler(**device) as conn:
    print(conn.send_command("show ip interface brief"))
    print(conn.send_command("show logging"))

Dieser Ansatz ist pragmatisch, weit verbreitet und gut geeignet für klassische Netzwerke. Die Herausforderung liegt oft darin, die zurückgegebenen Texte sauber weiterzuverarbeiten.

Strukturierte APIs und modellgetriebete Daten

Wo Geräte strukturierte Schnittstellen wie REST APIs, NETCONF oder RESTCONF unterstützen, kann das Sammeln deutlich robuster erfolgen. Statt freien CLI-Text zu lesen, werden modellierte Datenobjekte abgefragt.

  • Weniger Parsing-Aufwand
  • Bessere Maschinenlesbarkeit
  • Klarere Trennung von Konfigurations- und Statusdaten
  • Sauberere Integration in Monitoring- und Reporting-Systeme

Typische Aktivierung auf Cisco-Plattformen:

conf t
netconf-yang
ip http secure-server
restconf
end

Dieser Ansatz ist besonders sinnvoll, wenn ein Team bereits modellgetrieben oder API-nah arbeitet.

Werkzeuge für die Datensammlung

Python und Netmiko

Für viele Network Engineers ist Python mit Netmiko der einfachste Einstieg. Die Bibliothek vereinfacht SSH-Verbindungen und erlaubt es, Show-Befehle auf vielen Geräten mit wenig Code auszuführen.

Ein Beispiel für mehrere Geräte:

from netmiko import ConnectHandler

devices = [
    {
        "name": "fra-access-sw01",
        "device_type": "cisco_ios",
        "host": "192.0.2.10",
        "username": "admin",
        "password": "password"
    },
    {
        "name": "fra-core-rtr01",
        "device_type": "cisco_ios",
        "host": "192.0.2.20",
        "username": "admin",
        "password": "password"
    }
]

for device in devices:
    with ConnectHandler(**device) as conn:
        interfaces = conn.send_command("show ip interface brief")
        logs = conn.send_command("show logging")
        print(f"=== {device['name']} ===")
        print(interfaces)
        print(logs)

Dieses Grundmuster ist einfach, aber im Alltag sehr nützlich.

Ansible für regelmäßige und gruppierte Sammlung

Wenn Log- und Statusdaten regelmäßig auf vielen Geräten gesammelt werden sollen, ist Ansible oft die strukturiertere Wahl. Inventare und Playbooks helfen dabei, Rollen und Standorte konsistent abzubilden.

Ein einfaches Beispiel:

---
- name: Statusdaten sammeln
  hosts: access_switches
  gather_facts: no
  tasks:
    - name: Interface-Status lesen
      ios_command:
        commands:
          - show ip interface brief
          - show logging
      register: output

    - name: Ausgabe anzeigen
      debug:
        var: output.stdout_lines

Ansible ist besonders wertvoll, wenn dieselben Prüfungen wiederholt, dokumentiert und teamweit genutzt werden sollen.

NAPALM für strukturierte Read-Only-Daten

NAPALM ist eine gute Wahl, wenn strukturierte Zustandsdaten herstellerübergreifend ausgelesen werden sollen. Für Facts, Interfaces oder Routingtabellen ist das besonders interessant.

Ein Beispiel:

from napalm import get_network_driver

driver = get_network_driver("ios")
device = driver("192.0.2.10", "admin", "password")
device.open()

interfaces = device.get_interfaces()
facts = device.get_facts()

print(facts)
print(interfaces)

device.close()

Solche Daten sind leichter weiterzuverarbeiten als reiner CLI-Text.

Wie gesammelte Daten sinnvoll gespeichert werden

Rohdaten und strukturierte Daten trennen

Ein häufiger Fehler ist, alle Ergebnisse nur als reine Konsolenausgabe zu betrachten. Für belastbare Prozesse sollten gesammelte Daten gespeichert werden. Dabei ist eine Trennung zwischen Rohdaten und strukturierten Daten sinnvoll.

  • Rohdaten für Audit, Fehlersuche und Nachvollziehbarkeit
  • Strukturierte Daten für Reports, Vergleiche und Dashboards

Beispielsweise kann der Rohoutput von show logging als Textdatei gespeichert werden, während Interface-Status zusätzlich als JSON oder CSV abgelegt wird.

Geeignete Formate nutzen

Je nach Ziel eignen sich unterschiedliche Speicherformate:

  • TXT für vollständige CLI-Rohdaten
  • CSV für tabellarische Reports
  • JSON für strukturierte Weiterverarbeitung
  • YAML für konfigurationsnahe oder modellierte Daten

Ein einfaches JSON-Beispiel in Python:

import json

data = {
    "hostname": "fra-core-rtr01",
    "cpu": "12%",
    "interfaces_up": 24
}

with open("fra-core-rtr01_status.json", "w") as f:
    json.dump(data, f, indent=2)

Damit wird aus einer einmaligen Abfrage ein wiederverwendbares Datenelement.

Typische Anwendungsfälle für automatisiert gesammelte Log- und Statusdaten

Troubleshooting beschleunigen

Einer der größten praktischen Vorteile ist die schnellere Fehleranalyse. Wenn Interface-Zustände, Logs, Routing-Nachbarn und Systemmetriken bereits automatisiert gesammelt werden, muss im Störungsfall nicht bei null begonnen werden.

  • Fehlersymptome schneller erkennen
  • Geräteübergreifende Muster sichtbar machen
  • Zeitkritische Logs sichern, bevor sie überschrieben werden
  • Vorher-Nachher-Vergleiche ermöglichen

Compliance und Betriebsstandards prüfen

Auch Status- und Logdaten lassen sich für Compliance nutzen. Nicht nur Konfigurationen, auch Betriebszustände können Standards verletzen.

  • NTP tatsächlich synchronisiert?
  • BGP- oder OSPF-Nachbarn stabil?
  • Gibt es wiederkehrende Login-Fehler?
  • Treten Interface-Fehler oder Flaps auf?

Dadurch erweitert sich Compliance von einer reinen Konfigurationsprüfung zu einem ganzheitlicheren Betriebsbild.

Kapazitäts- und Trendanalysen

Wiederholt gesammelte CPU-, Speicher-, Interface- oder Logdaten können Trends sichtbar machen. Das ist hilfreich für Kapazitätsplanung und Stabilitätsanalysen.

  • Steigt die CPU-Auslastung über Wochen?
  • Nehmen Interface-Errors zu?
  • Gibt es bestimmte Log-Ereignisse immer häufiger?
  • Zeigen einzelne Standorte abweichende Muster?

Gerade in größeren Umgebungen ist das ein wichtiger Mehrwert automatisierter Datensammlung.

Wichtige Qualitätskriterien für gute Datensammlung

Regelmäßigkeit und Vergleichbarkeit

Daten sind besonders wertvoll, wenn sie konsistent erhoben werden. Dazu gehören feste Intervalle, definierte Befehle und stabile Ablageorte. Nur dann werden Vergleich und Trendanalyse sinnvoll möglich.

  • Gleiche Befehle auf derselben Gerätegruppe
  • Wiederkehrende Zeitpunkte
  • Standardisierte Dateinamen und Datenstrukturen
  • Saubere Historisierung

Fehlerbehandlung und Sichtbarkeit

Auch ein Sammelprozess muss robust sein. Geräte können nicht erreichbar sein, Logins können fehlschlagen und einzelne Befehle können unerwartete Ausgaben liefern. Ein professioneller Ablauf muss solche Probleme protokollieren, statt sie stillschweigend zu ignorieren.

Ein Beispiel mit Netmiko-Fehlerbehandlung:

from netmiko import ConnectHandler
from netmiko.exceptions import NetMikoTimeoutException, NetMikoAuthenticationException

try:
    with ConnectHandler(**device) as conn:
        print(conn.send_command("show logging"))
except NetMikoAuthenticationException:
    print("Authentifizierung fehlgeschlagen.")
except NetMikoTimeoutException:
    print("Host nicht erreichbar oder Timeout.")

Das ist wichtig, damit Datensammlung verlässlich und auditierbar bleibt.

Typische Fehler beim automatisierten Sammeln vermeiden

Nur bei Störungen sammeln

Ein häufiger Fehler ist, Daten nur dann auszulesen, wenn bereits ein Problem vorliegt. Damit fehlt oft der Vergleichszustand. Regelmäßige Sammlung ist viel wertvoller als reine Ad-hoc-Abfragen.

Zu viele Daten ohne Ziel sammeln

Auf der anderen Seite ist es wenig sinnvoll, wahllos große Mengen an Logs und Statusdaten einzusammeln, ohne zu wissen, wofür sie gebraucht werden. Gute Datensammlung orientiert sich an klaren Use Cases.

  • Welche Fragen sollen beantwortet werden?
  • Welche Geräte und Daten sind wirklich relevant?
  • Welche Form der Auswertung ist geplant?

Alles nur als Freitext speichern

Wer Logs und Statusdaten ausschließlich als unstrukturierten Text ablegt, erschwert spätere Automatisierung. Rohdaten sind wichtig, aber strukturierte Formate sollten nach Möglichkeit zusätzlich erzeugt werden.

Unsichere Behandlung von Credentials

Auch Read-Only-Zugänge sind sicherheitsrelevant. Zugangsdaten sollten nicht hartkodiert in Skripten liegen, sondern sauber abgefragt oder aus sicheren Quellen bezogen werden.

Best Practices für das automatisierte Sammeln von Log- und Statusdaten

  • Mit klaren Read-Only-Use-Cases beginnen, etwa Interface-Status, Logs oder Softwarestände.
  • Regelmäßige Sammlung festen Ad-hoc-Abfragen vorziehen.
  • Rohdaten und strukturierte Daten bewusst getrennt speichern.
  • Nur relevante Daten sammeln und die Sammlung am Use Case ausrichten.
  • CLI-basierte Verfahren pragmatisch nutzen, aber strukturierte APIs bevorzugen, wenn verfügbar.
  • Geräte nach Rolle, Standort und Plattform gezielt gruppieren.
  • Fehler und fehlgeschlagene Abfragen immer protokollieren.
  • Historisierung so aufbauen, dass Trend- und Vorher-Nachher-Vergleiche möglich werden.
  • Read-Only-Credentials sicher behandeln und sauber begrenzen.
  • Gesammelte Daten aktiv für Troubleshooting, Compliance und Betriebsberichte nutzen.

Damit wird das automatisierte Sammeln von Log- und Statusdaten zu einem entscheidenden Werkzeug für Sichtbarkeit und Kontrolle im Netzwerkbetrieb. Es schafft eine belastbare Grundlage für Fehleranalyse, Trendbewertung, Change-Validierung und Compliance und verwandelt punktuelle Einzelabfragen in einen reproduzierbaren Prozess, der das gesamte Netzwerk transparenter und operativ besser beherrschbar macht.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles