هر کاری که میکند
فهرست کامل، از جمله چیزهای ریز، چون معمولاً همانها هستند که کسی واقعاً دربارهٔ آنها میپرسد. هیچ چیزی اینجا نیامده که محصول انجامش ندهد — و آنچه هنوز ساخته نشده، پایین صفحه است.
دارایی
آنچه رکشده، کابلکشیشده و فروخته شده، در یک جا و همراه با شناسههای سیستمی که از آن آمده.
- دیتاسنترها با کد کوتاه، نام، محل و یادداشت
- رکها برای هر سایت، با ارتفاع قابل تنظیم بر حسب واحد رک
- نقشهٔ ارتفاع رک که سوییچ و تجهیزات غیرفعال را با هم نشان میدهد
- پچپنل، پاور استریپ و بلنکپلیت بهعنوان اقلام درجهیک رک
- واحدهای دوبار رزروشده گزارش میشوند، نه اینکه بیصدا روی هم بیفتند
- سرورها با 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 در شمای پایگاه داده پیشبینی شدهاند ولی هنوز کلاینت ندارند