
Observabilidade Linux com tecnologia eBPF e detecção de incidentes por IA. Licenciado sob AGPL-3.0.
Descubra qual processo está prejudicando seus SLOs — não apenas quem está usando CPU, mas quem está causando travamentos.
top mostra 80% de CPU. O Prometheus mostra alta latência. Mas qual pod está realmente travando seu serviço de pagamento?
O Linnix usa eBPF + PSI (Pressure Stall Information) para responder a isso. O PSI mede o tempo real de travamento — não o uso, mas a contenção. Um pod usando 40% de CPU com 60% de PSI é pior do que um usando 100% de CPU com 5% de PSI.
O que o Linnix detecta:
top[!IMPORTANT] Apenas monitoramento por padrão. O Linnix detecta e reporta — ele nunca age sem configuração explícita.
Promessa-chave: toda a análise acontece localmente. Nenhum dado sai da sua infraestrutura a menos que você configure explicitamente notificações do Slack. Saiba mais sobre privacidade de dados →
Implante o Linnix como um DaemonSet para monitorar seu cluster.
# Apply the manifests
kubectl apply -f k8s/
Acesse a API:
kubectl port-forward daemonset/linnix-agent 3000:3000
# API available at http://localhost:3000
# Stream events: curl http://localhost:3000/stream
Experimente na sua máquina local em 30 segundos.
git clone https://github.com/linnix-os/linnix.git && cd linnix
./quickstart.sh
fork, exec, exit e de agendamento com menos de 1% de overhead.O Linnix foi projetado para segurança em produção.
/proc.CAP_BPF e CAP_PERFMON em bare metal. O DaemonSet do Kubernetes atualmente usa o modo privilegiado por simplicidade.Veja SAFETY.md para nosso modelo de segurança detalhado.
O Linnix tem suporte de primeira classe 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"
O Linnix inclui uma camada de pagamento sem confiança (Linnix-Claw) que liquida trabalho agente-a-agente on-chain por meio de stablecoins ERC-20. Quando um agente delega uma tarefa a outro, o resultado — um recibo assinado com prova de telemetria — é enviado a um contrato inteligente TaskSettlement que libera o pagamento diretamente do pagador para o beneficiário.
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-chave (testnet Base Sepolia):
| Contrato | Endereço |
|---|---|
| AgentRegistry | 0x9a6FeBA6d7B97ef91099051eB61F372d1EcD83a3 |
| TaskSettlement | 0x60eE6872920addF41359625B47A07401496bBD5b |
| StakeBond | 0xEE31fC610B9b64982990adB3ba228E9dBbfF6a73 |
Adicione uma seção [chain] ao seu 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
A chave do assinante é resolvida na seguinte ordem de prioridade:
chain.private_key na configuraçãoLINNIX_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
Veja o código-fonte do contrato e cognitod/src/onchain.rs para detalhes de implementação.
Este projeto está em desenvolvimento ativo. Se você está usando ou avaliando, abra uma issue ou envie um e-mail para [email protected].
cognitod): AGPL-3.0Licenciamento comercial disponível para equipes que não podem usar AGPL. Veja LICENSE_FAQ.md para detalhes.
| Tipo de Incidente | Lógica de Detecção | Valor de Triagem |
|---|
| Disjuntor | PSI alto (>40%) + CPU alta (>90%) | Identifica a árvore de processos específica que causa o travamento. |
| Tempestade de Fork | >10 forks/seg por 2s | Captura scripts descontrolados antes que eles derrubem o nó. |
| Vazamento de Memória | Crescimento sustentado de RSS | Sinaliza contêineres que eventualmente sofrerão OOM. |
| Jobs de Curta Duração | Rotatividade rápida de exec/exit | Identifica scripts de build ineficientes ou crash loops. |