38 Punkte von GN⁺ 2025-12-27 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Witr (why-is-this-running) ist ein Tool, das auf Linux-Systemen klar zeigt, warum ein bestimmter Prozess, Dienst oder Port aktiv ist
  • Im Gegensatz zu bestehenden Tools wie ps, top oder lsof, die nur zeigen, „was läuft“, stellt es die Kausalzusammenhänge hinter dem „warum es läuft“ auf einem Bildschirm dar
  • Durch PID-basierte Analyse verfolgt es Ursprung, Startpfad, Fortbestand und Kontext eines Prozesses
  • Es erklärt die Ausführungsursache in Verbindung mit verschiedenen Quellen wie systemd, docker, pm2, cron, shell und arbeitet read-only und nicht destruktiv
  • Ein Tool, das beim Debugging und bei der Störungsbehebung die Zeit bis zum Verständnis verkürzt und die Laufzeitstruktur komplexer Systeme auf einen Blick erfassbar macht

Zweck und Konzept

  • Die Kernfrage von Witr lautet: „Warum läuft das hier? (why-is-this-running)“
    • Es verfolgt Ursprung und Ursache aller laufenden Elemente wie Prozesse, Dienste und Ports
    • Es zeigt indirekte Ausführungsursachen über mehrere Ebenen hinweg (Supervisor, Container, Service, Shell usw.) explizit an
  • Während bestehende Tools nur Status und Metadaten liefern, stellt Witr Kausalbeziehungen klar dar
  • Dadurch wird in einer für Menschen gut lesbaren Form ausgegeben, was läuft, wie es gestartet wurde, warum es läuft und in welchem Kontext

Hauptziele

  • Den Grund für die Existenz eines Prozesses erklären und mehr Informationen liefern als nur die reine Laufzeit
  • Debugging- und Incident-Response-Zeit verkürzen
  • Sofort ohne Konfiguration nutzbar, read-only und sicher
  • Klarheit vor Vollständigkeit
  • Keine Monitoring-, Performance-Analyse- oder Auto-Recovery-Funktionen enthalten

Funktionsweise

  • Alle Ziele werden prozesszentriert über die PID interpretiert
    • Ports, Dienste, Container und Befehle werden alle mit einer PID verknüpft
    • Auf Basis der PID wird eine causal chain der Ausführung aufgebaut
  • Vier Kernfragen
    1. Was läuft?
    2. Wie wurde es gestartet?
    3. Was hält es am Laufen?
    4. Zu welchem Kontext gehört es?

Unterstützte Ziele

  • Unterstützt Prozess-/Dienstnamen, PID und Portnummern als Eingaben
    • Wenn bei einer Namenseingabe mehrere Prozesse passen, wird zur Auswahl einer PID aufgefordert
    • Mit den Optionen --pid und --port ist eine Analyse eines bestimmten Prozesses oder Ports möglich

Ausgabestruktur

  • Target: das vom Benutzer angegebene Ziel
  • Process: ausführbare Datei, PID, Benutzer, Befehl, Startzeit, Anzahl der Neustarts
  • Why It Exists: die Ancestry Chain des Prozesses
  • Source: das zentrale System, das die Ausführung verantwortet (z. B. systemd, docker, pm2, cron oder shell)
  • Context: Arbeitsverzeichnis, Git-Repository, Docker-Container, Bind-Informationen usw.
  • Warnings: nicht blockierende Warnungen wie Ausführung mit Root-Rechten, Lauschen auf öffentlichen Interfaces, lange Laufzeit oder übermäßiger Speicherverbrauch

Kommandozeilenoptionen

  • --pid, --port: Analyse einer bestimmten PID oder eines bestimmten Ports
  • --short: einzeilige Zusammenfassung
  • --tree: vollständigen Prozessbaum anzeigen
  • --json: Ausgabe im JSON-Format
  • --warnings: nur Warnungen anzeigen
  • --no-color: Farben deaktivieren
  • --env: nur Umgebungsvariablen anzeigen
  • --help: Hilfe anzeigen

Installation und Entfernung

  • Wird als einzelne statische Linux-Binärdatei verteilt
  • Installation per Skript (empfohlen)
  • Manuelle Installation
    • Binärdateien für amd64 und arm64 direkt herunterladen und Prüfsumme verifizieren
    • Ausführungsrechte setzen und in den PATH verschieben
  • Verifikation und Entfernung
    • Mit witr --version und man witr prüfen
    • Kann mit sudo rm -f /usr/local/bin/witr entfernt werden
  • Nix-Flake-Unterstützung: Ausführung möglich mit nix run github:pranshuparmar/witr -- --port 5000

Plattform und Berechtigungen

  • Nur für Linux
  • Informationen werden über Zugriff auf /proc gesammelt
    • Für einige Prozessinformationen sind sudo-Rechte erforderlich

Noch keine Kommentare.

Noch keine Kommentare.