
مراقبة Linux مدعومة بـ eBPF مع كشف الحوادث بالذكاء الاصطناعي. مرخّص بموجب AGPL-3.0.
اكتشف أي عملية تضرّ بأهداف مستوى الخدمة (SLOs) — ليس فقط من يستخدم CPU، بل من يتسبب في التوقف.
يُظهر top استخدام CPU بنسبة 80%. ويُظهر Prometheus زمن استجابة مرتفعًا. لكن أي Pod هو الذي يتسبب فعليًا في توقف خدمة الدفع؟
يستخدم Linnix eBPF + PSI (معلومات توقف الضغط) للإجابة عن هذا. يقيس PSI زمن التوقف الفعلي — ليس الاستخدام، بل التنافس على الموارد. Pod يستخدم 40% من CPU مع PSI بنسبة 60% أسوأ من آخر يستخدم 100% من CPU مع PSI بنسبة 5%.
ما يكتشفه Linnix:
top[!IMPORTANT] المراقبة فقط افتراضيًا. يكتشف Linnix ويبلّغ — ولا يتخذ أي إجراء دون تكوين صريح.
الوعد الأساسي: تتم جميع التحليلات محليًا. لا تغادر أي بيانات بنيتك التحتية إلا إذا قمت بتكوين إشعارات Slack صراحةً. اعرف المزيد عن خصوصية البيانات ←
انشر Linnix كـ DaemonSet لمراقبة عنقودك.
# Apply the manifests
kubectl apply -f k8s/
الوصول إلى الـ API:
kubectl port-forward daemonset/linnix-agent 3000:3000
# API available at http://localhost:3000
# Stream events: curl http://localhost:3000/stream
جرّبه على جهازك المحلي في 30 ثانية.
git clone https://github.com/linnix-os/linnix.git && cd linnix
./quickstart.sh
fork وexec وexit وأحداث المجدول بحمل إضافي أقل من 1%.| نوع الحادث | منطق الاكتشاف | قيمة الفرز |
|---|---|---|
| قاطع الدائرة (Circuit Breaker) | PSI مرتفع (>40%) + CPU مرتفع (>90%) | يحدد شجرة العمليات المحددة المسببة للتوقف. |
| عاصفة fork | أكثر من 10 forks/ثانية لمدة ثانيتين | يلتقط البرامج النصية الجامحة قبل أن تُسقط العقدة. |
| تسرّب الذاكرة | نمو مستمر في RSS | يعلّم الحاويات التي ستنفد ذاكرتها (OOM) في النهاية. |
| المهام قصيرة العمر | تقلب سريع في عمليات exec/exit | يحدد البرامج النصية غير الفعالة للبناء أو حلقات الانهيار. |
صُمم Linnix لضمان السلامة في بيئات الإنتاج.
/proc.CAP_BPF وCAP_PERFMON على العتاد المباشر. يستخدم DaemonSet في Kubernetes حاليًا الوضع المميز (privileged) للتبسيط.راجع SAFETY.md لنموذج السلامة المفصل لدينا.
يتمتع Linnix بدعم 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 طبقة دفع لا تعتمد على الثقة (Linnix-Claw) تسوّي العمل بين الوكلاء على السلسلة عبر العملات المستقرة ERC-20. عندما يفوّض وكيل مهمة إلى وكيل آخر، تُقدَّم النتيجة — إيصال موقّع مع إثبات القياس عن بُعد — إلى عقد ذكي TaskSettlement يطلق الدفع مباشرة من الدافع إلى المستفيد.
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
العقود الرئيسية (شبكة اختبار 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 on Base Sepolia
token_decimals = 6
يُحدَّد مفتاح الموقّع وفقًا لترتيب الأولوية:
chain.private_key في الإعداداتLINNIX_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
راجع الكود المصدري للعقود والملف cognitod/src/onchain.rs لتفاصيل التنفيذ.
هذا المشروع قيد التطوير النشط. إذا كنت تستخدمه أو تقيّمه، افتح issue أو راسل [email protected].
cognitod): AGPL-3.0تراخيص تجارية متاحة للفرق التي لا يمكنها استخدام AGPL. راجع LICENSE_FAQ.md للتفاصيل.