
Observabilidad de Linux impulsada por eBPF con detección de incidentes mediante IA. Licencia AGPL-3.0.
Encuentra qué proceso está dañando tus SLOs — no solo quién está usando CPU, sino quién está causando bloqueos.
top muestra 80% de CPU. Prometheus muestra latencia alta. Pero, ¿qué pod está realmente bloqueando tu servicio de pago?
Linnix utiliza eBPF + PSI (Pressure Stall Information) para responder esto. PSI mide el tiempo de bloqueo real — no el uso, sino la contención. Un pod que usa 40% de CPU con un 60% de PSI es peor que uno que usa 100% de CPU con un 5% de PSI.
Lo que Linnix detecta:
top[!IMPORTANT] Solo monitoreo por defecto. Linnix detecta e informa — nunca toma acción sin configuración explícita.
Promesa clave: Todo el análisis ocurre localmente. Ningún dato sale de tu infraestructura a menos que configures explícitamente notificaciones de Slack. Más información sobre privacidad de datos →
Despliega Linnix como un DaemonSet para monitorear tu clúster.
# Apply the manifests
kubectl apply -f k8s/
Accede a la API:
kubectl port-forward daemonset/linnix-agent 3000:3000
# API available at http://localhost:3000
# Stream events: curl http://localhost:3000/stream
Pruébalo en tu máquina local en 30 segundos.
git clone https://github.com/linnix-os/linnix.git && cd linnix
./quickstart.sh
fork, exec, exit y del planificador con <1% de sobrecarga.Linnix está diseñado para la seguridad en producción.
/proc.CAP_BPF y CAP_PERFMON en bare metal. El DaemonSet de Kubernetes actualmente usa modo privilegiado por simplicidad.Consulta SAFETY.md para nuestro modelo de seguridad detallado.
Linnix tiene soporte de primera clase para Kubernetes:
pod_name, namespace, container_id# Example: Get processes causing stalls in the payments namespace
curl "http://localhost:3000/processes?namespace=payments&sort=psi_contribution"
Linnix incluye una capa de pago sin confianza (Linnix-Claw) que liquida el trabajo entre agentes en cadena mediante stablecoins ERC-20. Cuando un agente delega una tarea a otro, el resultado — un recibo firmado con prueba de telemetría — se envía a un contrato inteligente TaskSettlement que libera el pago directamente del pagador al beneficiario.
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
Contratos clave (testnet de Base Sepolia):
| Contrato | Dirección |
|---|---|
| AgentRegistry | 0x9a6FeBA6d7B97ef91099051eB61F372d1EcD83a3 |
| TaskSettlement | 0x60eE6872920addF41359625B47A07401496bBD5b |
| StakeBond | 0xEE31fC610B9b64982990adB3ba228E9dBbfF6a73 |
Agrega una sección [chain] a tu linnix.toml:
[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
La clave del firmante se resuelve en orden de prioridad:
chain.private_key en la configuraciónLINNIX_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
Consulta la fuente del contrato y cognitod/src/onchain.rs para detalles de implementación.
Este proyecto está en desarrollo activo. Si lo estás usando o evaluando, abre un issue o envía un correo a [email protected].
cognitod): AGPL-3.0Licencias comerciales disponibles para equipos que no pueden usar AGPL. Consulta LICENSE_FAQ.md para más detalles.
| Tipo de incidente | Lógica de detección | Valor de triaje |
|---|
| Disyuntor | PSI alto (>40%) + CPU alto (>90%) | Identifica el árbol de procesos específico que causa el bloqueo. |
| Tormenta de forks | >10 forks/seg durante 2s | Captura scripts descontrolados antes de que colapsen el nodo. |
| Fuga de memoria | Crecimiento sostenido de RSS | Marca contenedores que eventualmente sufrirán OOM. |
| Trabajos de corta duración | Rotación rápida de exec/exit | Identifica scripts de compilación ineficientes o bucles de fallo. |