امکانات

هر کاری که می‌کند

فهرست کامل، از جمله چیزهای ریز، چون معمولاً همان‌ها هستند که کسی واقعاً دربارهٔ آن‌ها می‌پرسد. هیچ چیزی اینجا نیامده که محصول انجامش ندهد — و آنچه هنوز ساخته نشده، پایین صفحه است.

دارایی

آنچه رک‌شده، کابل‌کشی‌شده و فروخته شده، در یک جا و همراه با شناسه‌های سیستمی که از آن آمده.

  • دیتاسنترها با کد کوتاه، نام، محل و یادداشت
  • رک‌ها برای هر سایت، با ارتفاع قابل تنظیم بر حسب واحد رک
  • نقشهٔ ارتفاع رک که سوییچ و تجهیزات غیرفعال را با هم نشان می‌دهد
  • پچ‌پنل، پاور استریپ و بلنک‌پلیت به‌عنوان اقلام درجه‌یک رک
  • واحدهای دوبار رزرو‌شده گزارش می‌شوند، نه اینکه بی‌صدا روی هم بیفتند
  • سرورها با hostname، نشانی اصلی، برچسب دارایی، سریال و موقعیت در رک
  • سرورهای چندواحدی همان تعداد واحدی را می‌گیرند که واقعاً پر می‌کنند
  • سرویس‌های مشتری آینه‌ای از سیستم صورتحساب، بدون هیچ نوشتنی به آن
  • شناسه‌های مبدأ برای همیشه نگه داشته می‌شوند تا دو سیستم قابل تطبیق بمانند
  • ورود اطلاعات از ماژول موجود از راه یک snapshot فقط‌خواندنی

سوییچ‌ها

دستگاه‌ها، اینکه پلتفرم چطور به آن‌ها می‌رسد، و از هرکدام چه می‌خواند.

  • فهرست سوییچ‌ها در همهٔ سایت‌ها، با ثبت سازنده و پلتفرم
  • سیسکو IOS و NX-OS، با حالت عمومی برای بقیه
  • SNMP نسخهٔ 2c با community، پورت و نسخهٔ مخصوص هر سوییچ
  • حداکثر varbind برای هر سوییچ، تا دستگاهی که درخواست بزرگ را رد می‌کند، کوچک‌تر پرسیده شود
  • نصف‌کردن خودکار دسته‌ای که دستگاه رد می‌کند، به‌جای شکست کل خواندن
  • بازهٔ خواندن مستقل برای هر سوییچ
  • کشف پورت به‌صورت درخواستی یا زمان‌بندی‌شده
  • تعداد کل پورت هر سوییچ، و اینکه چند تای آن‌ها اندازه‌گیری می‌شوند
  • جدول ارسال (جدول آدرس MAC) خوانده‌شده از خط فرمان
  • مصرف سخت‌افزار و TCAM خوانده‌شده از خط فرمان
  • سلامت سوییچ — CPU، حافظه و uptime — با شناسه‌های مخصوص هر سازنده
  • آزمون اتصال که می‌گوید کدام مسیر جواب داده
  • خط فرمان Telnet با مذاکرهٔ دستی گزینه‌ها و رمز عبورِ enable
  • اعتبارنامه‌ها برای هر سوییچ مهروموم می‌شوند و دیگر نمایش داده نمی‌شوند
  • شمار خطاهای پیاپی و زمان آخرین دسترسی برای هر دستگاه

پورت‌ها

سطح اینترفیس، جایی که یک اندازه‌گیری به یک مشتری تبدیل می‌شود.

  • جدول کامل پورت هر سوییچ با شمارهٔ اینترفیس، نام کانونی و نام گزارش‌شده
  • وضعیت اداری و عملیاتی، و سرعت توافق‌شده
  • اینکه اینترفیس شمارندهٔ ۶۴ بیتی دارد یا نه، برای هر پورت ثبت می‌شود
  • جمع‌آوری ترافیک برای هر پورت جدا روشن یا خاموش می‌شود، نه برای کل دستگاه
  • قفل پورت با ذکر دلیل — نه اتوماسیون و نه اقدام دستی، پورت قفل‌شده را تغییر نمی‌دهد
  • قفل به‌صورت محلی ثبت می‌شود و چیزی به دستگاه نمی‌فرستد، پس وقتی اعمال خاموش است هم کار می‌کند
  • نگاشت پورت به سرور، با ثبت منبع هر نگاشت
  • اینترفیس پچ‌شده از اینترفیس اندازه‌گیری‌شده تفکیک می‌شود
  • اینترفیس‌هایی که کسی پشتشان نیست همان‌طور گزارش می‌شوند، نه اینکه حدس زده شوند
  • نگاشت‌های مبهم بدون اتصال می‌مانند و شمرده می‌شوند، هرگز با انتخاب یکی حل نمی‌شوند
  • نمودار ترافیک هر پورت با بازهٔ قابل انتخاب

ترافیک و صورتحساب

چه اندازه گرفته شد، آن اندازه‌گیری چقدر خوب بود، و مشتری بر چه چیزی بدهکار می‌شود.

  • شمارنده‌ها با SNMP و طبق زمان‌بندی، از خود دستگاه خوانده می‌شوند
  • یک درخواست برای هر دستگاه از روی شماره‌های اینترفیس شناخته‌شده، نه پیمودن کل جدول
  • نمونه‌ها برای هر پورت ذخیره و روزانه پارتیشن می‌شوند
  • دورزدن و صفرشدن شمارنده تشخیص داده و ثبت می‌شود، نه اینکه قله بسازد
  • هر نمونه کیفیتی دارد: قابل‌استفاده، پوشانندهٔ شکاف، پس از صفرشدن، یا مشکوک
  • بازه‌ای که کسی ندیده «هیچ» گزارش می‌کند نه صفر
  • پوشش توصیف می‌کند چه چیزی دیده شده، نه چه چیزی استنتاج شده
  • Rollup در بازه‌های پنج‌دقیقه‌ای، یک‌ساعته و یک‌روزه
  • صدک نود‌وپنجم روی همان جهتی که فاکتور می‌شود
  • مبنای صورتحساب دانلود، آپلود یا هر دو — برای هر سرویس، هر سرور یا هر سایت
  • سهمیهٔ پایه، سهمیهٔ افزوده و بدهی منتقل‌شده برای هر سرویس
  • مصرف در برابر سهمیه، با علامت‌گذاری عبور از سهمیه نه فقط رنگ
  • درصد به‌صورت متن کنار هر نوار، تا هیچ رقمی لازم نباشد از روی رنگ خوانده شود
  • انتخابگر بازهٔ تاریخ و ساعت دوتقویمی با شبکهٔ درست هجری شمسی

منابع مانیتورینگ

پلتفرم خودش ترافیک را اندازه می‌گیرد، و می‌تواند سیستم دیگری را هم کنارش بخواند.

  • کالکتور SNMP خود پلتفرم، که به‌عنوان یک منبع مستقل نشان داده می‌شود
  • PRTG که از راه API به‌عنوان منبع دوم خوانده می‌شود
  • احراز هویت با توکن API، passhash، اعتبارنامهٔ ساده یا هیچ — تصریح‌شده، نه حدسی
  • سنسورها محلی کش می‌شوند، پس هیچ صفحه‌ای منتظر سیستم دور نمی‌ماند
  • سنسورهای ترافیک با تطبیق چیزی که هر دو سیستم بر آن توافق دارند به پورت وصل می‌شوند
  • سنسورهای بی‌تطبیق دست‌نخورده می‌مانند و شمرده می‌شوند، نه اینکه با حدس حل شوند
  • اینکه چند سنسور یک منبع به پورتی اشاره دارند که پلتفرم هم اندازه می‌گیرد
  • مدارشکن: پس از خطاهای پیاپی اتصال، پلتفرم دیگر نمی‌پرسد
  • یک سوکت لخت به‌جای تایمر تصمیم می‌گیرد کِی دوباره پرسیدن شروع شود
  • خطای HTTP مدار را باز نمی‌کند، چون سیستمی که جواب می‌دهد در دسترس است
  • timeout درخواست و بررسی گواهی برای هر منبع
  • لایهٔ وب اصلاً نمی‌تواند به منبع احراز هویت کند، پس هیچ صفحه‌ای منتظرش نمی‌ماند

دسترسی خارج از باند

کنترلر مدیریت، ثبت‌شده روی ماشینی که به آن تعلق دارد.

  • نشانی، پورت، نوع و حساب مدیریت روی رکورد سرور نگهداری می‌شود
  • iLO، iDRAC، IPMI و Redfish به‌عنوان نوع شناخته می‌شوند
  • اثر انگشت گواهی هنگام اولین دسترسی به کنترلر پین می‌شود
  • پروکسی‌ای که کنترلر از آن گرفته می‌شود، برای هر سرور نام برده می‌شود
  • اعتبارنامه به ردیف سرور مقید و مهروموم می‌شود و نمایش داده نمی‌شود
  • واردشده از ماژول موجود و تطبیق‌یافته با ماشینش بر اساس نام

پروکسی‌ها

اینکه پلتفرم چطور به شبکه‌ای می‌رسد که مسیری به آن ندارد.

  • SOCKS5، SOCKS4 و HTTP CONNECT
  • وقتی به‌جای نشانی یک نام گرفته می‌شود، خودکار SOCKS4a استفاده می‌شود
  • نام کاربری و رمز عبورِ اختیاری، مهروموم‌شده برای هر پروکسی
  • حل نام در سمت مقابل، برای نام‌هایی که فقط رنج خصوصی می‌شناسد
  • قابل انتخاب برای هر سوییچ، هر کنترلر مدیریت سرور و هر منبع مانیتورینگ
  • نام‌نبردن یعنی اتصال مستقیم — ردیفی به اسم «مستقیم» وجود ندارد که اشتباهی انتخاب شود
  • بررسی دسترس‌پذیری که فقط هزینهٔ یک connect دارد و اعتبارنامه نمی‌خواهد
  • پروکسی‌ای که هنوز استفاده می‌شود، از زیر تجهیزاتی که نامش را برده‌اند حذف نمی‌شود
  • timeout اتصال برای هر پروکسی

کنترل دسترسی

چه کسی چه اجازه‌ای دارد، یک بار اعلام و همه‌جا خوانده می‌شود.

  • نقش‌ها به‌عنوان مجموعه‌های نام‌دار مجوز
  • استثناهای فردی روی یک مدیر، بالای نقش‌هایش
  • سلب همیشه بر نقشی که همان مجوز را می‌دهد غلبه می‌کند
  • یک ثبت مجوز که دروازه، رابط کاربری و ویرایشگر نقش را می‌راند
  • دکمه‌ای که رندر شده همیشه فشردنی است، چون هر دو یک کلید را می‌خوانند
  • مجوزها بر اساس پیامد گروه‌بندی شده‌اند، با علامت‌گذاری گروه‌های پرخطر و بحرانی
  • مدیران کل که از هر بررسی عبور می‌کنند، حتی مجوزهایی که بعداً اضافه شوند
  • غیرفعال‌کردن مدیر بدون از‌دست‌رفتن سابقه‌اش
  • آخرین مدیر کل حذف یا تنزل داده نمی‌شود
  • هیچ‌کس نمی‌تواند نقش‌ها، مجوزها یا وضعیت حساب خودش را تغییر دهد
  • محدودسازی تلاش ورود برای هر حساب و هر نشانی
  • فهرست نشانی‌های مجاز که پیش از کشیده‌شدن فرم ورود اعمال می‌شود

حسابرسی

سابقهٔ آنچه رخ داده، که هیچ‌کس نمی‌تواند ویرایشش کند.

  • هر اقدامی که چیزی را تغییر داده، و هر مورد رد‌شده
  • UPDATE و DELETE در سطح پایگاه داده سلب شده، نه اینکه فقط در کد نباشد
  • هشتاد و شش اقدام با عنوان خوانا در هر دو زبان
  • کلید ذخیره‌شده کنار عنوان می‌ماند، تا سطر دقیقاً بر اساس آنچه ثبت شده فیلتر شود
  • کاربر، نشانی، عامل کاربر و شناسهٔ درخواست روی هر ثبت
  • قبل و بعدِ سطح‌فیلد برای تغییرات
  • مقادیری که ممکن است رازی حمل کنند پیش از ذخیره پوشانده می‌شوند
  • فیلتر بر اساس پیشوند اقدام و بر اساس نتیجه
  • رد یک مجوز، خودِ آن مجوز را ثبت می‌کند

دسترسی برنامه‌نویسی

برای کارهایی که نباید به مرورگر نیاز داشته باشند.

  • کلیدهای API با مجموعهٔ مجوز مخصوص خودشان
  • کلیدهای محدود به فهرستی از نشانی‌ها یا شبکه‌های مبدأ
  • تاریخ انقضای اختیاری برای هر کلید
  • ابطال کلید بدون حذفش، تا سابقهٔ حسابرسی همچنان قابل تفسیر بماند
  • مقدار محرمانه فقط یک بار، هنگام ساخت، نشان داده می‌شود
  • صفحهٔ مستنداتی که از روی مجوزهایی ساخته می‌شود که یک کلید واقعاً می‌تواند داشته باشد
  • صدور و ابطال کلید خودش یک اقدام حسابرسی‌شده است

اجرا و نگهداری

بخش‌هایی که اپراتور فقط وقتی خراب شوند متوجهشان می‌شود.

  • زمان‌بند زیر cron با هویت مستقل خودش، جدا از پروسهٔ وب
  • هر کار در پروسهٔ خودش با نگهبان همپوشانی خودش، پس یک کار کند هیچ‌چیز را گرسنه نمی‌گذارد
  • صفحهٔ وضعیتی که می‌گوید چه اجرا شد، کِی، و چقدر طول کشید
  • کار دستگاهی به ورکر سپرده و به همان صفحه‌ای که خواسته گزارش می‌شود
  • لایهٔ وب نمی‌تواند اعتبارنامهٔ دستگاه را باز کند، با مالکیت فایل نه با قرارداد
  • اسکریپت دیپلوی که مالکیت را برمی‌گرداند، مهاجرت می‌کند، هر دو پروسه را ری‌استارت و هر ثابت را بررسی می‌کند
  • دستورهای مخرب پایگاه داده مسدودند مگر نام پایگاه داده به _test ختم شود
  • نگهداری روزانهٔ پارتیشن و جمع‌کردن rollup
  • هرس نگهداشت که برای هر پورت یک نمونهٔ پایه باقی می‌گذارد

رابط کاربری

اینکه وقتی کسی واقعاً از آن استفاده می‌کند چطور رفتار می‌کند.

  • فارسی و انگلیسی در سراسر، به‌صورت یک شیوه‌نامه با جهت متفاوت
  • راست‌به‌چپ با ویژگی‌های منطقی ساخته شده، نه آینه‌شده پس از کار
  • ترجمهٔ جاافتاده در هر زبان باعث شکست ساخت می‌شود
  • حالت روشن و تیره، انتخاب اپراتور و به‌خاطر سپرده‌شده
  • دو تراکم، چون اپراتوری که سیصد پورت را مرور می‌کند سطر می‌خواهد نه فضای خالی
  • جدول‌هایی که روی گوشی به کارت‌های برچسب‌دار تبدیل می‌شوند، جایی که این کمک می‌کند
  • به‌جایش ستون اول ثابت، روی جدول‌هایی که stack شدن کمکشان نمی‌کند
  • فیلترهای زندهٔ فهرست که صفحه را دوباره بار نمی‌کنند
  • هر جدول حالت خالی دارد که می‌گوید چه چیزی نیست
  • هیچ asset خارجی از هیچ نوع: نه سرویس فونت، نه CDN، نه ابزار تحلیل، نه مرحلهٔ ساخت
  • پیوندهای پرش صفحه‌کلید، خطوط فوکوس و وضعیت صفحهٔ جاری روی هر آیتم ناوبری

آنچه هنوز ساخته نشده

اینجا گفته می‌شود تا بعداً کشف نشود. این فهرست با هر نسخه کوتاه‌تر می‌شود.

  • پرتال مشتری؛ امروز پلتفرم فقط برای اپراتور است
  • اعمال محدودیت خودکار نوشته شده ولی خاموش تحویل می‌شود و هنوز برای پروداکشن توصیه نمی‌شود
  • Zabbix، Cacti و LibreNMS در شمای پایگاه داده پیش‌بینی شده‌اند ولی هنوز کلاینت ندارند