در گذر سالها آزمایشگاههای خانگی فراوانی ساختهام، خراب کردهام و از نو برپا کردهام؛ اما در همه این تجربهها، برخی ابزارها همواره جای ثابتی داشتهاند و یکی از مهمترین آنها ابزارهای پایش بوده است. باید همان لحظهای که یک کانتینر Docker از کار میافتد، دیسکی پر میشود یا سرویسی دیگر پاسخ نمیدهد، از آن باخبر شوم؛ نه زمانی که میخواهم از آن استفاده کنم.
این هفته به سراغ شماری از برترین کانتینرهای Docker برای پایش آزمایشگاه خانگی میرویم. مانند کانتینرهای Docker که در یکی از آخرهفتههای اخیر روی سامانه خود میزبانی کردم، همه این گزینهها را نیز میتوانید شخصاً میزبانی کنید و استفاده از آنها رایگان است.
آپتایم کوما
سادهترین راه برای آگاهی از قطعی سرویسها





Uptime Kuma در فهرست پیشین من از کانتینرهای Docker ارزشمند برای میزبانی شخصی نیز حضور داشت و جای تعجب نیست که به این فهرست هم راه یافته باشد. این ابزار همچنان سادهترین راه برای آگاهی از فعالبودن یا از دسترس خارجشدن سرویسهایتان است.
Uptime Kuma در قالب تنها یک کانتینر Docker اجرا میشود. کافی است نشانی URL، درگاه TCP، نشانی پینگ یا رکورد DNS موردنظرتان را به آن بدهید تا طبق برنامه آن مقصد را بررسی کند. اگر چیزی دیگر پاسخ ندهد، از طریق بیش از ۹۰ سرویس اعلان، از جمله Discord، Telegram، Slack و ایمیل، برایتان هشدار میفرستد. مهمتر اینکه بازگشت سرویسها به حالت عادی را نیز خبر میدهد و مشخص میکند چه چیزی و به چه علت از کار افتاده است.
این ابزار افزون بر بررسیهای سادهٔ دردسترسبودن سرویس، پایشگر کلیدواژهٔ HTTP نیز دارد که صفحهای را بارگذاری میکند و بهدنبال متن مشخصی میگردد. بنابراین حتی اگر برنامه شما وضعیت ۲۰۰ OK را برگرداند، چنانچه محتوای مورد انتظار در صفحه نباشد، Uptime Kuma آن را از دسترس خارجشده در نظر میگیرد. تاریخ انقضای گواهیهای SSL را نیز زیر نظر دارد. افزون بر همه اینها، بدون نیاز به ابزاری جداگانه، صفحهٔ وضعیتی تمیز و مناسب نمایش عمومی میسازد که سرویسهایتان را دستهبندی میکند و یادداشتهای مربوط به رخدادها را نشان میدهد.
نتدیتا
سنجش زندهٔ سامانه بدون هیچ پیکربندی





Uptime Kuma به شما میگوید سرویسی از کار افتاده است، اما علت آن را روشن نمیکند. Netdata عاملی روی دستگاهتان نصب میکند و بیدرنگ نمودارهای زندهای از CPU، RAM، ورودی و خروجی دیسک، ترافیک شبکه و آمار جداگانهٔ هر کانتینر در اختیارتان میگذارد؛ آن هم با تفکیک زمانی یکثانیهای و بدون نیاز به هیچگونه پیکربندی.
عامل Netdata رایگان و متنباز است و میتوانید آن را روی هر تعداد دستگاه که میخواهید نصب کنید. هر عامل رابط وب مستقل خود را روی درگاه ۱۹۹۹۹ اجرا میکند؛ بنابراین میتوانید هر گره را مستقیماً بررسی کنید. اگر ترجیح میدهید همهچیز را یکجا ببینید، پیشخوان اختیاری Netdata Cloud همهٔ گرههایتان را در کنار هم نمایش میدهد. طرح رایگان تا ۵ گره را پوشش میدهد و طرح Homelab نیز با هزینهای نزدیک به ۹۰ دلار در سال، امکان استفادهٔ شخصی از شمار نامحدودی گره را فراهم میکند.
افزون بر این، Netdata میتواند برنامههای در حال اجرا روی میزبان را خودکار شناسایی کند و سنجههای مرتبط را بیفزاید. اگر آن را روی یک گره Proxmox نصب کنید، بدون دستزدن به هیچ پروندهٔ پیکربندی، نمودارهای ویژهٔ Proxmox را خواهید داشت. هشدارهای داخلی آن نیز بسیار کاربردیاند. Netdata روی یکی از گرههای من، پیش از آنکه هرگونه کندی احساس کنم، نشانههای آغاز فرسودگی یک دیسک را تشخیص داد. Uptime Kuma هرگز نمیتوانست چنین مشکلی را پیدا کند، زیرا سرویسهای آن دستگاه همچنان پاسخ میدادند.
دازل
نمای زندهٔ گزارشهای Docker در مرورگر

آگاهی از کار افتادن یک بخش و دیدن سنجههای سامانه در همان بازهٔ زمانی، بخش بزرگی از مسیر عیبیابی را هموار میکند؛ اما گاهی به متن واقعی خطا نیاز دارید. اینجاست که Dozzle به کار میآید. این ابزار نمایی زنده و مرورگرمحور از گزارشهای کانتینرهای Docker در اختیارتان میگذارد تا مجبور نباشید با SSH وارد دستگاه شوید و برای تکتک کانتینرها فرمان docker logs -f را اجرا کنید.
راهاندازی Dozzle آسان است: تنها یک فرمان docker run را در حالی اجرا کنید که سوکت Docker بهصورت فقطخواندنی متصل شده باشد؛ سپس Dozzle روی درگاه ۸۰۸۰ در دسترس خواهد بود. این ابزار خودش هیچ گزارشی ذخیره نمیکند، بلکه آنها را بیدرنگ و مستقیم از Docker میخواند؛ در نتیجه نه پایگاه دادهای برای نگهداری دارید و نه چیزی اضافه فضای ذخیرهسازی را مصرف میکند. خطهای تازهٔ گزارش نیز همان لحظه که نوشته میشوند، روی صفحه پدیدار خواهند شد.
قابلیت سودمند دیگر، نمای دونیمه است. وقتی مشکلی به دو کانتینر وابسته به یکدیگر مربوط میشود، مانند یک پراکسی معکوس و برنامهٔ پشت آن، تماشای همزمان جریان گزارش هر دو در کنار یکدیگر، عیبیابی را بسیار سریعتر میکند. همچنین میتوانید در گزارشهای هر کانتینر جستوجو کنید، آنها را بر پایهٔ نام کانتینر پالایش کنید و از منوی کشویی گزارشها را بارگیری کنید. Dozzle با توجه به امکاناتش، در حالت فشرده حجمی شگفتانگیز و اندک، نزدیک به ۷ مگابایت، دارد.
پالس
پایشگر Proxmox ساختهٔ یک توسعهدهندهٔ مستقل

اگر از Proxmox استفاده میکنید، حتماً میدانید که سامانهٔ هشدار داخلی قدرتمندی ندارد. Pulse جایگزینی عالی برای Netdata است که بهطور ویژه برای Proxmox ساخته شده است. این ابزار از یک داشبورد واحد، گرههای Proxmox VE، سرور Proxmox Backup Server و اکنون کانتینرهای Docker را زیر نظر میگیرد و هرگاه مشکلی پیش بیاید، از راه برنامههایی مانند Discord، Slack و Telegram یا با ایمیل هشدار میفرستد.
میتوانید Pulse را بهشکل یک کانتینر Docker روی هر میزبان Linux نصب کنید یا از اسکریپت نصب رسمی آن بهره ببرید که یک کانتینر بهینهٔ LXC را مستقیماً روی گره Proxmox شما میسازد. پس از آنکه سرویس روی درگاه ۷۶۵۵ راه افتاد، کافی است قابلیت کشف خودکار را روشن کنید تا Pulse میزبانهای Proxmox موجود در شبکه را پیدا کند. با اتصال از راه توکن API، بیدرنگ میتوانید میزان مصرف CPU، حافظه و دیسک، وضعیت کارهای پشتیبانگیری و سلامت دیسکهای فیزیکی هر گره را ببینید.
سامانهٔ هشدار تنها به اعلانهای سادهٔ روشن یا خاموش محدود نیست. میتوانید برای هر VM آستانههای جداگانه تعیین کنید، ساعتهای سکوت را طوری تنظیم کنید که نیمهشب با هشداری کماهمیت از خواب بیدار نشوید، هشدارهای مرتبط را در یک گروه جای دهید و برای تکرار هشدارها دورهٔ انتظار در نظر بگیرید.
کومودو
مدیریت کانتینرهای Docker روی چند سرور از یک صفحه

وقتی آزمایشگاه خانگی شما از یک دستگاه فراتر میرود، مدیریت کانتینرها روی چند میزبان خود به مسئلهای جداگانه تبدیل میشود. Komodo داشبوردی خودمیزبان است که به شما امکان میدهد کانتینرهای Docker، پشتههای Compose و فرایندهای استقرار را در همهٔ سرورهایتان تنها از یک زبانهٔ مرورگر مدیریت کنید. میتوان آن را جایگزینی برای Portainer دانست که استقرار مبتنی بر Git و خودکارسازی CI/CD را در دل خود دارد.
Komodo از یک سرور Core و یک کارگزار سبک Periphery روی هر میزبان Docker تشکیل شده است. برای افزودن سروری تازه، تنها باید یک فرمان نصب را با کلید راهاندازیای اجرا کنید که در رابط وب ساختهاید. پس از برقراری اتصال، میتوانید همهٔ کانتینرهای آن میزبان را ببینید، پشتهها را مدیریت کنید، گزارشها را بخوانید و فرایند استقرار را به راه بیندازید. ویژگی برجستهٔ Komodo این است که فایلهای Docker Compose شما را از راه Git نسخهبندی میکند؛ بنابراین همهٔ تغییرات ثبت میشوند و با یک push میتوان آنها را مستقر کرد.
من اکنون کانتینرهای روی NAS و چند رایانهٔ کوچک را مدیریت میکنم و جابهجایی میان نشستهای SSH برای سرکشی به هرکدام کمکم خستهکننده شده بود. با Komodo میتوان از یک صفحه کانتینری را دوباره راهاندازی کرد، گزارشها را بررسی کرد یا حتی یک پشته را از نو مستقر ساخت. اگر چند کانتینر Docker را روی رایانهای قدیمی اجرا کردهاید و دیگر نمیخواهید مدام میان پنجرههای پایانه جابهجا شوید، Komodo انتخاب مناسبی است.
پنج ابزار برای فعال و پایدار نگهداشتن کانتینرهای Docker
لازم نیست از همان روز نخست هر پنج ابزار را نصب کنید. با ابزاری آغاز کنید که مشکل فعلی و وقتگیرتان را حل میکند و سپس بهتدریج سراغ بقیه بروید. نخستین کانتینر پایشی که من راه انداختم Uptime Kuma بود و ابزارهای دیگر نیز یکییکی جای خود را در مجموعه پیدا کردند.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Tashreef Shareef است. مشاهده مقاله اصلی