
Наблюдаемость Linux на базе eBPF с обнаружением инцидентов с помощью ИИ. Лицензия AGPL-3.0.
Найдите процесс, который подрывает ваши SLO — не только тот, кто загружает CPU, но и тот, кто вызывает задержки.
top показывает 80% CPU. Prometheus — высокую задержку. Но какой под на самом деле тормозит ваш платёжный сервис?
Linnix использует eBPF + PSI (Pressure Stall Information — информация о давлении и остановках), чтобы ответить на этот вопрос. PSI измеряет фактическое время остановок — не использование, а конкуренцию. Под, использующий 40% CPU с 60% PSI, хуже, чем под с 100% CPU и 5% PSI.
Что обнаруживает Linnix:
top[!IMPORTANT] По умолчанию только мониторинг. Linnix обнаруживает и сообщает — он никогда не предпринимает действий без явной конфигурации.
Ключевое обещание: весь анализ выполняется локально. Никакие данные не покидают вашу инфраструктуру, если вы явно не настроите уведомления в Slack. Подробнее о конфиденциальности данных →
Разверните Linnix как DaemonSet для мониторинга вашего кластера.
# Примените манифесты
kubectl apply -f k8s/
Доступ к API:
kubectl port-forward daemonset/linnix-agent 3000:3000
# API доступен по адресу http://localhost:3000
# Поток событий: curl http://localhost:3000/stream
Попробуйте на локальной машине за 30 секунд.
git clone https://github.com/linnix-os/linnix.git && cd linnix
./quickstart.sh
fork, exec, exit и планировщика с накладными расходами <1%.| Тип инцидента | Логика обнаружения | Ценность триажа |
|---|---|---|
| Автоматический выключатель | Высокий PSI (>40%) + Высокий CPU (>90%) | Определяет конкретное дерево процессов, вызывающее остановку. |
| Шторм форков | >10 fork/с в течение 2 с | Перехватывает вышедшие из-под контроля скрипты до того, как они обрушат узел. |
| Утечка памяти | Устойчивый рост RSS | Помечает контейнеры, которые в итоге исчерпают память (OOM). |
| Кратковременные задачи | Быстрая смена exec/exit | Выявляет неэффективные сборочные скрипты или циклы аварийных перезапусков. |
Linnix спроектирован для безопасности в продакшене.
/proc.CAP_BPF и CAP_PERFMON на голом железе. DaemonSet Kubernetes пока использует привилегированный режим для простоты.Подробную модель безопасности см. в SAFETY.md.
Linnix имеет первоклассную поддержку Kubernetes:
pod_name, namespace, container_id# Пример: получение процессов, вызывающих остановки в namespace payments
curl "http://localhost:3000/processes?namespace=payments&sort=psi_contribution"
Linnix включает доверенную платёжную прослойку (Linnix-Claw), которая проводит расчёты за работу агентов друг с другом на блокчейне через ERC-20 стейблкоины. Когда один агент делегирует задачу другому, результат — подписанная квитанция с доказательством телеметрии — отправляется в смарт-контракт TaskSettlement, который напрямую переводит платеж от плательщика получателю.
Агент A (плательщик) Агент B (получатель)
│ createTask(taskId, payeeDID, maxAmount)
│──────────────────────────────────▶│
│ │ ← выполняет работу, собирает телеметрию eBPF
│ submitReceipt(taskId, amount, receipt, sig)
│◀──────────────────────────────────│
│ │
└──── TaskSettlement.sol ─── ERC-20 перевод ──▶ получатель
Ключевые контракты (тестовая сеть Base Sepolia):
| Контракт | Адрес |
|---|---|
| AgentRegistry | 0x9a6FeBA6d7B97ef91099051eB61F372d1EcD83a3 |
| TaskSettlement | 0x60eE6872920addF41359625B47A07401496bBD5b |
| StakeBond | 0xEE31fC610B9b64982990adB3ba228E9dBbfF6a73 |
Добавьте секцию [chain] в ваш linnix.toml:
[chain]
enabled = true
rpc_url = "https://sepolia.base.org"
chain_id = 84532
settlement_contract = "0x60eE6872920addF41359625B47A07401496bBD5b"
registry_contract = "0x9a6FeBA6d7B97ef91099051eB61F372d1EcD83a3"
token_address = "0x036CbD53842c5426634e7929541eC2318f3dCF7e" # USDC на Base Sepolia
token_decimals = 6
Ключ подписи определяется в порядке приоритета:
chain.private_key в конфигурацииLINNIX_CHAIN_PRIVATE_KEY# Разверните контракты на локальном узле Hardhat
cd linnix-claw-contracts && npx hardhat node &
npx hardhat run scripts/deploy.js --network localhost
# Запустите демонстрацию коммерции
./scripts/demo_commerce_e2e.sh --local
Подробности реализации см. в исходном коде контрактов и cognitod/src/onchain.rs.
Этот проект находится в стадии активной разработки. Если вы его используете или оцениваете, откройте issue или напишите на [email protected].
cognitod): AGPL-3.0Доступна коммерческая лицензия для команд, которые не могут использовать AGPL. Подробнее см. в LICENSE_FAQ.md.