
eBPF-basierte Linux-Observability mit KI-gestützter Incident-Erkennung. Lizenziert unter AGPL-3.0.
Finde heraus, welcher Prozess deinen SLOs schadet — nicht nur, wer CPU nutzt, sondern wer Stalls verursacht.
top zeigt 80 % CPU. Prometheus zeigt hohe Latenz. Aber welcher Pod blockiert eigentlich deinen Zahlungsdienst?
Linnix verwendet eBPF + PSI (Pressure Stall Information), um diese Frage zu beantworten. PSI misst die tatsächliche Stall-Zeit — nicht die Nutzung, sondern die Konkurrenz (Contention). Ein Pod mit 40 % CPU-Auslastung und 60 % PSI ist schlimmer als einer mit 100 % CPU-Auslastung und 5 % PSI.
Was Linnix erkennt:
top nicht sichtbar ist[!IMPORTANT] Standardmäßig nur Überwachung (Monitor-only). Linnix erkennt und meldet — es ergreift niemals Maßnahmen ohne explizite Konfiguration.
Wichtigstes Versprechen: Die gesamte Analyse findet lokal statt. Es verlassen keine Daten deine Infrastruktur, es sei denn, du konfigurierst explizit Slack-Benachrichtigungen. Mehr zum Datenschutz →
Stelle Linnix als DaemonSet bereit, um deinen Cluster zu überwachen.
# Apply the manifests
kubectl apply -f k8s/
API-Zugriff:
kubectl port-forward daemonset/linnix-agent 3000:3000
# API available at http://localhost:3000
# Stream events: curl http://localhost:3000/stream
Teste es in 30 Sekunden auf deinem lokalen Rechner.
git clone https://github.com/linnix-os/linnix.git && cd linnix
./quickstart.sh
fork-, exec-, exit- und Scheduler-Ereignisse mit weniger als 1 % Overhead.Linnix ist auf Sicherheit im Produktionsbetrieb ausgelegt.
/proc-Polling.CAP_BPF und CAP_PERFMON ausgeführt werden. Das Kubernetes-DaemonSet verwendet derzeit aus Einfachheitsgründen den privilegierten Modus.Siehe SAFETY.md für unser detailliertes Sicherheitsmodell.
Linnix bietet Kubernetes-Support erster Klasse:
pod_name, namespace, container_id versehen# Example: Get processes causing stalls in the payments namespace
curl "http://localhost:3000/processes?namespace=payments&sort=psi_contribution"
Linnix enthält eine vertrauenslose Zahlungsschicht (Linnix-Claw), die Agenten-zu-Agenten-Arbeit über ERC-20-Stablecoins on-chain abrechnet. Wenn ein Agent eine Aufgabe an einen anderen delegiert, wird das Ergebnis — eine signierte Quittung mit Telemetrie-Nachweis — an einen TaskSettlement-Smart-Contract übermittelt, der die Zahlung direkt vom Zahlenden an den Zahlungsempfänger freigibt.
Agent A (payer) Agent B (payee)
│ createTask(taskId, payeeDID, maxAmount)
│──────────────────────────────────▶│
│ │ ← does work, captures eBPF telemetry
│ submitReceipt(taskId, amount, receipt, sig)
│◀──────────────────────────────────│
│ │
└──── TaskSettlement.sol ─── ERC-20 transfer ──▶ payee
Wichtige Verträge (Base-Sepolia-Testnetz):
| Vertrag | Adresse |
|---|---|
| AgentRegistry | 0x9a6FeBA6d7B97ef91099051eB61F372d1EcD83a3 |
| TaskSettlement | 0x60eE6872920addF41359625B47A07401496bBD5b |
| StakeBond | 0xEE31fC610B9b64982990adB3ba228E9dBbfF6a73 |
Füge deiner linnix.toml einen [chain]-Abschnitt hinzu:
[chain]
enabled = true
rpc_url = "https://sepolia.base.org"
chain_id = 84532
settlement_contract = "0x60eE6872920addF41359625B47A07401496bBD5b"
registry_contract = "0x9a6FeBA6d7B97ef91099051eB61F372d1EcD83a3"
token_address = "0x036CbD53842c5426634e7929541eC2318f3dCF7e" # USDC on Base Sepolia
token_decimals = 6
Der Signaturschlüssel wird in folgender Prioritätsreihenfolge aufgelöst:
chain.private_key in der KonfigurationLINNIX_CHAIN_PRIVATE_KEY# Deploy contracts to a local Hardhat node
cd linnix-claw-contracts && npx hardhat node &
npx hardhat run scripts/deploy.js --network localhost
# Run the commerce demo
./scripts/demo_commerce_e2e.sh --local
Siehe die Vertragsquelle und cognitod/src/onchain.rs für Implementierungsdetails.
Dieses Projekt befindet sich in aktiver Entwicklung. Wenn du es verwendest oder evaluierst, erstelle ein Issue oder sende eine E-Mail an [email protected].
cognitod): AGPL-3.0Kommerzielle Lizenzierung ist für Teams verfügbar, die AGPL nicht verwenden können. Siehe LICENSE_FAQ.md für Details.
| Vorfalltyp | Erkennungslogik | Triage-Wert |
|---|
| Circuit Breaker | Hoher PSI (>40 %) + hohe CPU (>90 %) | Identifiziert den spezifischen Prozessbaum, der die Verzögerung verursacht. |
| Fork-Sturm | >10 Forks/Sek. für 2 s | Fängt außer Kontrolle geratene Skripte ab, bevor sie den Node zum Absturz bringen. |
| Speicherleck | Anhaltendes RSS-Wachstum | Markiert Container, die schließlich einen OOM auslösen. |
| Kurzlebige Jobs | Schneller exec/exit-Wechsel | Identifiziert ineffiziente Build-Skripte oder Crash-Loops. |