تصور کنید ساعت ۳ صبح هستید و ۵۰ هشدار مختلف برای یک خرابی واحد روی گوشی شما میبارد؛ سختترین بخش ماجرا دریافت هشدار نیست، بلکه یافتن علت واقعی در میان این همه نویز است. ninoxAI که در ۷ ژوئن ۲۰۲۶ منتشر شد، دقیقاً برای حل این بحران طراحی شده است تا بهعنوان یک لایهی هوشمند، دلیل شکست سیستم را بیابد و راهکار ارائه دهد، بدون اینکه حتی یک دستور تغییر در محیط عملیاتی اجرا کند.
پشتههای مانیتورینگ مدرن اغلب دچار «طوفان هشدار» میشوند؛ وضعیتی که در آن یک شکست کوچک، زنجیرهای از اعلانها را در ابزارهای مختلف فعال میکند. این مسئله باعث ایجاد مشکلی در تشخیص میشود که علت ریشهای (Root Cause) واقعی را میپوشاند. ninoxAI بهعنوان لایهای مستقل از ابزار مانیتورینگ، بالای سیستمهایی مثل Prometheus، Zabbix و Kubernetes قرار میگیرد تا این نویزها را به اطلاعات کاربردی تبدیل کند. همانطور که در تحلیلهای پیشین ما دربارهی اتوماسیون زیرساخت اشاره کردیم، چالش اصلی همواره مدیریت حجم دادههای خروجی در لحظات بحرانی بوده است.
معماری مشاهدهگری (The Architecture of Observation)
طبق مستندات گیتهاب این پروژه، معماری سیستم از یک خط لوله (Pipeline) مشخص شامل «دریافت $\rightarrow$ نرمالسازی $\rightarrow$ خوشهبندی $\rightarrow$ امتیازدهی به نویز $\rightarrow$ توصیه $\rightarrow$ داشبورد» پیروی میکند. این فرآیند با آداپتورهای فقطخواندنی آغاز میشود که هشدارهای غیر-OK را از منابعی مثل Checkmk، Icinga2 و AWS استخراج میکنند. همچنین سیستم از وارد کردن دادههای سفارشی از طریق فایلهای JSON و CSV پشتیبانی میکند.
پس از دریافت، سیستم هر منبع را به یک طرحواره (Schema) واحد و یک اثر انگشت پیام (Message Fingerprint) منتقل میکند. سپس این هشدارها را بر اساس میزبان، سرویس، شدت و بازه زمانی گروهبندی میکند. در این مرحله از بردار معنایی (Embedding) — مثل کارت معرفی عددی برای هر واژه که میگوید این کلمه «همسایهی» چه کلمات دیگری است — بهعنوان یک لایه اختیاری برای خوشهبندی دقیقتر استفاده میشود. نتیجه این است که بهجای دریافت دهان هشدار جداگانه، شما با یک رخداد واحد مواجه میشوید که توسط N ابزار مختلف تأیید شده است، به جای اینکه برای هر علامت بیماری یک صفحه جداگانه دریافت کنید.
امتیازدهی به نویز و توصیهها
فراتر از خوشهبندی، ninoxAI فعالانه «چکهای پرنویز» را شناسایی میکند؛ یعنی آنهایی که دچار نوسان (Flapping) هستند، بیش از حد حساساند یا هرگز توسط اپراتور بررسی نمیشوند. سیستم یک امتیاز نویز بین ۰ تا ۱ را بر اساس فرکانس وقوع، نرخ تأیید (Ack-rate)، نرخ تبدیل به تیکت و الگوهای بازیابی سریع (Short-recovery) محاسبه میکند.
بر اساس این شواهد، سیستم توصیههای تنظیم (Tuning) مبتنی بر قانون ارائه میدهد. این توصیهها شامل تعدیل منطقی آستانهها (Thresholds) و رفع مشکلات نوسانی است و برای هر مورد، دلیل واضحی ارائه میکند که چرا یک هشدار خاص به عنوان «نویز» شناسایی شده است.
بازرس AI SRE
قلب تپنده این سیستم، بازرس AI SRE است. این بخش از یک مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن کتابها جواب میدهد — استفاده میکند که در یک حلقه ReAct (استدلال $\rightarrow$ اقدام $\rightarrow$ مشاهده) عمل میکند. این مدل با استفاده از یک لیست سفید (Allowlist) تایپشده از قابلیتهای فقطخواندنی، شواهد را جمعآوری کرده و فرضیهای درباره علت ریشهای (RCA) میسازد.

قابلیتهای این بازرس کل پشته زیرساختی را پوشش میدهد:
- Docker: بررسی کانتینرها، لاگها، آمار (Stats) و بازرسیهای کلی.
- Kubernetes: خواندن پادها، لاگها، رویدادها و استقرارها (Deployments) با استفاده از RBAC داخلی کلاستر.
- AWS: تحلیل رویدادهای تغییر در CloudTrail، بررسی EC2، گروههای امنیتی و سهمیهها (Quotas) از طریق یک نقش IAM فقطخواندنی.
- Grafana: اجرای پرسوجوهای PromQL و LogQL بر روی پروکسی منبع داده.
- GitHub/Git: جستوجوی کامیتها، Diffها، کدها و تاریخچه؛ تحلیل اجراهای CI، نسخهها (Releases) و PRها برای یافتن علت ریشهای تغییرات.
- Host: بررسی لاگها (Tail) و چک کردن CPU، حافظه، دیسک، پروسهها و سوکتها در ماشینهای مجازی معمولی.
امنیت و «Ninox Runner»
برای حفظ یک وضعیت امنیتی سختگیرانه، ninoxAI بهطور ذاتی فقطخواندنی است. این سیستم هرگز دستوری را اجرا نمیکند، هشدارها را تأیید نمیکند یا آستانهها را تغییر نمیدهد. هر اصلاحیه پیشنهادی، یک قطعه کد کپی-پِیست (Artifact) است که باید توسط انسان تایید شود. سیستم هر اقدام را در دستههای «فقطخواندنی»، «برگشتپذیر» یا «برگشتناپذیر» طبقهبندی میکند و شعاع تخریب (Blast Radius) هر کدام را مشخص میکند. اگر طبقهبندی یک اقدام نامشخص باشد، سیستم بهطور پیشفرض آن را «برگشتناپذیر» در نظر میگیرد تا از اجرای خودکار و خاموش جلوگیری شود.
برای اینکه عامل (Agent) زمان خود را تلف بازشناسی محیط نکند، با یک خلاصه فشرده از سیستم «پیش-زمینه سازی» (Pre-grounded) میشود. علاوه بر این، یک دروازه Grounding Confidence وجود دارد که اگر ادعاهای مدل توسط شواهد پشتیبانی نشوند، سطح اطمینان را کاهش میدهد. همچنین لاگها یا Diffهای غیرقابل اعتماد برای جلوگیری از حملات تزریق (Injection) محافظت میشوند.
برای محیطهایی که «مغز» مرکزی به آنها دسترسی ندارد، از ninox runner استفاده میشود؛ این یک عامل سبک است که فقط ارتباط خروجی (Outbound-only) دارد و داخل یک VPC، کلاستر کوبرنتیز یا بخشهای On-prem قرار میگیرد. رانر اعتبارنامهها را بهصورت محلی نگه میدارد و به مغز متصل میشود، که این کار نیاز به باز کردن پورتهای ورودی در فایروال را از بین میبرد. این رانرهای متصل در رابط کاربری «پارلمان جغدها» (/parliament) نمایش داده میشوند.
انعطافپذیری LLM و حریم خصوصی
این ابزار از ارائهدهندگان مختلفی مثل Anthropic (پیشفرض برای بازرسی)، OpenAI، Mistral و مدلهای محلی از طریق Ollama، vLLM یا LM Studio پشتیبانی میکند. برای سازمانهایی که حریم خصوصی مطلق میخواهند، یک حالت آفلاین مبتنی بر قالب (Template) وجود دارد که بدون نیاز به LLM، دسترسی به شبکه یا API Key، خلاصهها و توصیهها را ارائه میدهد.
برای جلوگیری از نشت دادهها، سیستم یک لایه حذف داده (Redaction) را پیش از هر فراخوانی خارجی اجرا میکند. نام میزبانها، IPها، UUIDها، ایمیلها و مسیرها به جایگاههای نامعلوم (Placeholders) قطعی تبدیل میشوند. اعتبارنامهها بهصورت یکطرفه پاکسازی شده و هرگز به LLM بازگردانده نمیشوند.
استقرار و یکپارچهسازی
کاربران میتوانند از طریق رابط کاربری (/connections) آداپتورهای مختلف را متصل کنند، در حالی که اعتبارنامهها با رمزگذاری Fernet ذخیره میشوند. رابطهای پشتیبانی شده عبارتند از:
- Checkmk
- Prometheus Alertmanager
- Icinga2
- Zabbix
- Generic Webhooks
- PRTG (در حال حاضر به صورت Stub است)
برای پشتههای سفارشی مثل Jira، Sentry یا Postgres، کاربران میتوانند AI SRE را به هر سرور MCP متصل کنند، یک پلاگین قابلیت پایتونی بنویسند یا از پروتکل رانر استفاده کنند. تمام ابزارهای خارجی از طریق یک پوسته امنیتی (Safety Shell) عبور میکنند که دارای Namespace بوده و اسکن تزریق میشود.
این رویکرد، نقش مهندس SRE را از «غوطهور شدن در لاگها» به «حاکمیت و نظارت» تغییر میدهد. بهجای صرف ساعتها زمان برای تطبیق یک PR گیتهاب با یک جهش در Prometheus، انسان صرفاً فرضیه استدلالی AI را بررسی کرده و کمریسکترین اصلاحیه را انتخاب میکند.
برای تیمهای مدیریت ابر ترکیبی (Hybrid Cloud)، این یعنی «شعاع تخریب» (Blast Radius) یک بازرسی صفر است. عامل میتواند همزمان یک مشکل را در AWS و یک ماشین مجازی محلی تشخیص دهد، بدون اینکه ریسک اجرای یک دستور توهمزده (Hallucinated) و کرش کردن کل کلاستر وجود داشته باشد.
شما میتوانید این سیستم را در ۶۰ ثانیه با استفاده از Docker Compose تست کنید. با اجرای دستور docker compose up --build داشبورد در آدرس http://127.0.0.1:8765 در دسترس است. این بسته شامل یک تولیدکننده دادههای شبیهسازی شده (ninoxai generate-mocks) و یک ابزار واردکننده داده است تا بدون نیاز به محیط واقعی، سناریوهای تریژ و نویز را آزمایش کنید.
گام بعدی شما
- اگر با طوفان هشدارها در محیط عملیاتی دستوپنجه نرم میکنید، ninoxAI را با Docker Compose در یک محیط ایزوله تست کنید.
- بررسی کنید کدام یک از ابزارهای مانیتورینگ فعلی شما (مثل Zabbix یا Prometheus) بیشترین نویز را تولید میکنند و آنها را به آداپتورهای ninoxAI متصل کنید.
- برای محیطهای حساس، از حالت آفلاین یا مدلهای محلی (Ollama) استفاده کنید تا دادههای زیرساختی از شبکه خارج نشوند.
اما امنیت در لایههای عمیقتر زیرساخت فقط با خواندن حل نمیشود؛ برای درک نحوه مدیریت خودکار دسترسیها، تحلیل ما درباره پروتکلهای Zero Trust را بخوانید.




گفتگو