مأموریت مشاهدهپذیری
استک پایش Nginx
این استک، یک ماژول بدون وابستگی Nginx نوشتهشده با C را با کلاینت Android مبتنی بر Kotlin و Compose جفت میکند. با هم تلهمتری محدود سرور را به پایش مقاوم و رمزگذاریشدهٔ ناوگان، تاریخچه، هشدار و widget تبدیل میکنند.
- 2محصول متصلیک ماژول بومی تلهمتری Nginx و یک کلاینت اختصاصی Android برای پایش ناوگان.
- C + Kotlinزبان هستهجمعآوری سطح پایین سرور در کنار تجربهٔ مدرن موبایل با Compose.
- Boundedوضعیت تلهمتریسریهای Top-N، تاریخچه و cardinality درون ماژول صریحاً محدود شدهاند.
شرح مأموریت
پروژه با یک پرسش عملی شروع شد: چگونه اپراتور سلامت Linux و Nginx را مستقیم از سرور و بدون runtime سنگین ببیند و همان سیگنال را به نمای مفید ناوگان موبایل ببرد؟
هر دو بخش به مصرف محافظهکارانهٔ منابع، دسترسی remote امن و رفتار مناسب هنگامی نیاز داشتند که سرور فقط از مسیر شبکهٔ محلی در دسترس است.
نقشهٔ سیستم
معماری
Timerهای Nginx
collectorهای دورهای بومی، سیگنالهای فرایند و سیستم Linux را بیرون مسیر هر درخواست میخوانند.
تلهمتری مشترک
حافظهٔ اشتراکی، شمارندهٔ اتمیک، مقدارهای Top-N و بافر تاریخچه مجموعهٔ کاری کنترلشده را نگه میدارند.
Endpointهای پایش
داشبورد، JSON، سلامت، SSE و Prometheus همان مدل عملیاتی را ارائه میدهند.
کلاینت امن Android
Kotlin، Compose، اعتبارنامهٔ رمزگذاریشده، تاریخچهٔ SQLite، هشدار، refresh پسزمینه و widget دسترسی ناوگان میدهند.
Fallback شبکه
کلاینت میتواند نشانی محلی را امتحان کند و hostname اصلی را برای اعتبارسنجی TLS SNI نگه دارد.
مسیر راهبردی
نقشهٔ نبرد
مسیر پیادهسازی، ایستگاهبهایستگاه.
- ایستگاه 01
دادهٔ سنگین سیستم را با timer جمع کن، نه با تکرار کار filesystem برای هر درخواست داشبورد یا API.
- ایستگاه 02
از حافظهٔ اشتراکی و سری محدود استفاده کن تا حافظهٔ ماژول و cardinality در Prometheus قابل پیشبینی باشد.
- ایستگاه 03
endpointها را با ACL، احراز هویت، token، CORS و rate limit مناسب هر استقرار محافظت کن.
- ایستگاه 04
build را برای ABI دقیق توزیع و Nginx بستهبندی کن؛ فرض نکن binary عمومی با امنیت load میشود.
- ایستگاه 05
اعتبارنامهٔ کلاینت را رمزگذاری، تاریخچه را محلی، refresh را پسزمینه و هویت TLS را در LAN fallback حفظ کن.
رویارویی حساس
نبرد با غول مرحله
کد بومی Nginx درون یک فرایند حیاتی سرور اجرا میشود: memory leak، label نامحدود، جمعآوری blocking یا ناسازگاری ABI میتواند خود پایش را به قطعی تبدیل کند. بنابراین ماژول وابستگی کم، وضعیت محدود و سازگاری صریح را ترجیح میدهد.
دستاوردهای آزادشده
پاداشهای مأموریت
خروجیهایی که این مأموریت به همراه داشت.
- پاداش 01 آزاد شد
اپراتور یک مدل تلهمتری را از داشبورد محلی، JSON، health check، بهروزرسانی زندهٔ SSE یا Prometheus میبیند.
- پاداش 02 آزاد شد
کلاینت موبایل endpointهای جدا را به ناوگان کاربردی سرور با هشدار، تاریخچه، اعتبارنامهٔ امن و widget تبدیل میکند.
- پاداش 03 آزاد شد
LAN fallback دسترسپذیری را بدون تضعیف اعتبارسنجی TLS بر پایهٔ hostname بهتر میکند.
آیتمهای ویژه
تجهیزات فنی
- C
- Nginx Module API
- Linux /proc
- Shared Memory
- Prometheus
- Server-Sent Events
- Kotlin
- Jetpack Compose
- SQLite
- Android Widgets
شواهد کار
کاوش مأموریت
قابلیتها از دو مخزن عمومی مستند شدهاند. ادعایی دربارهٔ اندازهٔ ناوگان، حجم ترافیک یا پذیرش در تولید مطرح نشده است.