2 Punkte von GN⁺ 2024-03-25 | 1 Kommentare | Auf WhatsApp teilen

Linux-Tools für den Krisenfall

  • Liste von „Krisen-Tools“, die auf Linux-Servern standardmäßig installiert sein sollten, einschließlich der Paketnamen (Ubuntu), die diese Tools enthalten.
  • Enthält Tools für grundlegende Statistiken, System-Logs, Geräteinformationen, Gerätestatistiken, Netzwerk-Tools, NUMA-Statistiken, Netzwerk-Sniffer, Profiler und PMU-Statistiken.
  • bpfcc-tools (bcc) und bpftrace stellen eBPF-Tools bereit; bcc bietet mehr Funktionen, während sich bpftrace in Echtzeit bearbeiten lässt.
  • Je nach Server wird außerdem empfohlen, bestimmte Analyse- oder Debugging-Tools für Beschleuniger vorzuinstallieren.
  • Diese unverzichtbaren Analyse-Tools ändern sich nicht häufig, daher ist nur alle paar Jahre ein Update erforderlich.

Warum die Installation von Tools erst im Krisenfall problematisch ist

  • Anhand von Beispielen wird erläutert, welche Probleme bei der Software-Installation in Krisensituationen in Produktionsumgebungen auftreten können.
  • Das System kann so langsam sein, dass die Installation der benötigten Tools lange dauert, und verschiedene Konfigurationsprobleme oder Sicherheitsrichtlinien können die Installation erschweren.
  • Um Probleme in Krisensituationen schnell zu diagnostizieren und zu beheben, ist es ratsam, Krisen-Tools im Voraus zu installieren.

Meinung von GN⁺

  • Dieser Artikel bietet sehr nützliche Informationen für Systemadministratoren und SREs (Site Reliability Engineers). Er betont, wie wichtig Vorbereitung ist, damit die in echten Krisensituationen benötigten Tools schnell verfügbar sind.
  • Die Vorinstallation von Krisen-Tools trägt dazu bei, Verfügbarkeit und Resilienz von Systemen zu erhöhen und potenzielle Ausfallzeiten zu minimieren.
  • Dennoch ist es wichtig, ein Gleichgewicht zwischen Sicherheit und Performance zu finden. Beispielsweise könnten Angreifer unnötige auf dem System installierte Tools missbrauchen.
  • Linux-Distributionen könnten erwägen, Krisen-Tools standardmäßig für Unternehmensumgebungen bereitzustellen; dies hängt jedoch von den Sicherheitsrichtlinien und Anforderungen der jeweiligen Organisation ab.
  • In der Open-Source-Community gibt es bereits zahlreiche Monitoring- und Performance-Analyse-Tools; beispielsweise werden Tools wie Prometheus und Grafana häufig für das Monitoring der System-Performance eingesetzt. In Kombination mit Krisen-Tools können sie die Systemverwaltung noch effektiver machen.

1 Kommentare

 
GN⁺ 2024-03-25
Hacker-News-Kommentare
  • 16:07 Uhr: Installation des Pakets fehlgeschlagen, Repository kann nicht aufgelöst werden. Es gibt ein Problem mit der /etc/apt-Konfiguration …

    • Cloud-Umgebungen haben zwar Nachteile, sind aber in solchen Situationen nützlich. Statt einer komplexen Reparatur kann man das Problem lösen, indem man die fehlerhafte Maschine herunterfährt oder aus dem Pool entfernt und eine neue Maschine verwendet.
  • Es gibt viele containerisierte Server, aber es bleiben weiterhin Herausforderungen.

    • Viele Tools in Docker-Images werden von Security-Scanning-Tools als Risiko markiert. Tools wie gdb sind ein Grund zur Sorge, viele andere Tools jedoch nicht.
    • Um dies zu vermeiden, legt man die Tools als statische Binärdateien auf ein separates Volume oder kompiliert und installiert sie, wobei ein Mount-Pfad als Installationspräfix verwendet wird. Wenn Debugging nötig ist, mountet das Operations-Team das Volume vorübergehend schreibgeschützt.
  • Falls es Debug-Tools gibt, für die bestimmte Kernel-Funktionen aktiviert werden müssen, gibt es Bedenken hinsichtlich der Auswirkungen auf andere Container, die auf demselben Host laufen.

  • Auf FreeBSD-Systemen gibt es das Verzeichnis /rescue/, das eine einzelne statisch gelinkte Binärdatei von etwa 17 MB mit rund 150 wichtigen Tools bereitstellt.

  • Als ich bei Netflix arbeitete, installierten Brendan und sein Team überall Debugging-Tools wie bpftrace, bcc und ein funktionierendes perf, was mehr als einmal lebensrettend war.

  • Überraschend, dass strace nicht auf der Liste steht. Es ist ein besonders nützliches Tool, wenn ein Programm nutzlose oder irreführende Fehlermeldungen zurückgibt.

  • Bei Vorstellungsgesprächen für SRE-artige Positionen geht es immer um solche Tools. Wichtiger als bestimmte Befehle, an die sich ein Kandidat erinnert, sind die Möglichkeiten, die Arten verfügbarer Tools und wie man sie verwendet.

  • In Krisensituationen, in denen eine Tool-Installation nicht möglich ist, kann man viele Utilities über Docker ausführen. Als Beispiel wird gezeigt, wie man einen Docker-Container baut und ausführt, der tcpdump mit Verbindung zum Host-Netzwerk laufen lässt.

  • yum install wird bevorzugt, aber wenn Docker verfügbar ist, ist das trotz zusätzlicher Mappings eine praktikable Alternative. In rootless-/podman-Setups funktioniert es möglicherweise nicht.

  • nmap, netstat und nc wurden nicht erwähnt. Diese Tools haben schon oft bei der Problemlösung geholfen.

  • Kann man Root-Zugriff bekommen? Ich muss für jede Tätigkeit erst ein Ticket beim Systemadministrator einreichen.

  • Ich würde noch nmap hinzufügen. Netzwerkverbindungsprobleme sind in manchen Apps möglicherweise nicht offensichtlich.