আপনার নিজের মনিটরিং: Uptime Kuma
Telegram বা Discord-এ নোটিফিকেশনসহ আপনার ওয়েবসাইট ও সার্ভিসের অ্যাভেইলেবিলিটি চেক কীভাবে সেট করবেন এবং এমনভাবে কনফিগার করবেন যাতে শুধু গুরুত্বপূর্ণ সময়েই আপনাকে জানায়।
আপডেট: ২৩ আগস্ট, ২০২৬
আপনার মেশিনের প্যানেল CPU, ট্রাফিক এবং মেমোরির গ্রাফ দেখায়, কিন্তু আপনার সাইট সাড়া দিচ্ছে কি না বা ডেটাবেস জীবিত আছে কি না তা তার জানার উপায় নেই। সেজন্য আপনার নিজের একটি মনিটর দরকার। Uptime Kuma সবচেয়ে সহজ সমাধান: একটি কনটেইনার, একটি ওয়েব ইন্টারফেস, ডজনখানেক নোটিফিকেশন পদ্ধতি।
ইনস্টলেশন
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: unless-stopped
volumes:
- ./data:/app/data
ports:
- "127.0.0.1:3001:3001"
docker compose up -d
পোর্টটি ইচ্ছাকৃতভাবে লোকাল ইন্টারফেসে বাঁধা: মনিটরিং প্যানেল বাইরে থেকে উন্মুক্ত করা উচিত নয়। এটি খুলুন হয় সার্টিফিকেট ও পাসওয়ার্ডসহ একটি ওয়েব সার্ভারের মাধ্যমে, নয়তো একটি SSH টানেলের মাধ্যমে:
ssh -L 3001:127.0.0.1:3001 root@<machine-address>
এরপর ব্রাউজারে http://localhost:3001-এ যান; প্রথম ব্যবহারকারীই অ্যাডমিনিস্ট্রেটর হয়ে যাবেন।
কী মনিটর করবেন
ছোট করে শুরু করুন, নইলে শোরগোলের মধ্যে ডুবে যাবেন:
- প্রতিটি সাইটের হোম পেজের HTTP চেক — রেসপন্স কোড এবং সময়।
- রেসপন্সে কীওয়ার্ড চেকসহ একটি গুরুত্বপূর্ণ API-এর HTTP চেক। একটি পেজ 200 ফেরত দিয়েও ত্রুটি দেখাতে পারে।
- ডেটাবেস বা গেম সার্ভারের TCP পোর্ট।
- সার্টিফিকেটের মেয়াদ শেষ হওয়া — মেয়াদ শেষ হওয়ার N দিন আগে Kuma আপনাকে সতর্ক করবে।
- নির্ধারিত কাজের জন্য পুশ চেক: সফলভাবে চালানোর পর স্ক্রিপ্টটি একটি ইউনিক ঠিকানায় হিট করে, আর যদি না করে, আপনি একটি অ্যালার্ট পাবেন। নির্ধারিত কাজের সাথে ভালোভাবে মানায়।
60 সেকেন্ডের ইন্টারভ্যাল প্রায় সবসময়ই যথেষ্ট। রিট্রাই — 2-3, নইলে একটি হারানো নেটওয়ার্ক প্যাকেটই ভুয়া অ্যালার্ম তুলবে।
সাইট মনিটরিং সেই মেশিনেই রাখবেন না যেখানে সাইটটি আছে। মেশিন ডাউন হলে মনিটরও তার সাথে ডাউন হবে, আর আপনি কখনোই জানতে পারবেন না। বাইরের সাইটের জন্য Kuma আলাদা মেশিনে রাখুন, আর এই মেশিনে — শুধু অভ্যন্তরীণ সার্ভিসের চেক।
নোটিফিকেশন
একটি Telegram বট বা একটি Discord ওয়েবহুক সেট আপ করুন এবং নোটিফিকেশন সেকশনে যোগ করুন। ইমেইল চ্যানেল ব্যবহার করবেন না: পোর্ট 25, 465 এবং 587-এ মেশিনের আউটবাউন্ড সংযোগ অনুরোধে খোলা না হওয়া পর্যন্ত বন্ধ থাকে, আর Kuma থেকে ইমেইল কেবল বেরই হবে না — দেখুন মেইল সার্ভার।
কাজে লাগা অভ্যাস:
- "ডাউন" এবং "সার্টিফিকেটের মেয়াদ শেষ হচ্ছে"-এর জন্য আলাদা চ্যানেল। প্রথমটির জন্য এখনই প্রতিক্রিয়া দরকার, দ্বিতীয়টির — সপ্তাহের মধ্যে।
- রিকভারি নোটিফিকেশন চালু রাখুন। সেগুলো ছাড়া আউটেজ শেষ হয়েছে কি না তা বোঝা যায় না।
- সেটআপের সময় একটি টেস্ট মেসেজ পাঠান। অর্ধেক সমস্যাই ভুল টোকেন, আর তা আপনি জানতে পারেন কেবল আসল আউটেজের সময়।
রিসোর্স এবং রক্ষণাবেক্ষণ
কনটেইনারটি 150-250 MB মেমোরিতে ধরে এবং VDS-1-এ আরামসে চলে। চেক হিস্ট্রির সাথে ডেটাবেস বাড়ে: সেটিংসে রিটেনশন 90-180 দিনে সেট করুন, নইলে এক বছরে ফাইলটি গিগাবাইটে পৌঁছে যাবে — দেখুন ডিস্ক স্পেস।
./data ডিরেক্টরিতে সার্ভিসের সম্পূর্ণ স্টেট থাকে। এটি আপনার ব্যাকআপে অন্তর্ভুক্ত করুন: হাতে তিন ডজন চেক পুনরুদ্ধার করা মজার ব্যাপার নয়।
সাধারণ ভুল
- ডোমেইনের বদলে IP অ্যাড্রেস দিয়ে চেক করা। সার্টিফিকেট এবং ভার্চুয়াল হোস্ট চেক হয় না, আর DNS আউটেজ চোখ এড়িয়ে যায়।
- অতিরিক্ত সংবেদনশীল থ্রেশহোল্ড। প্রতি 2 সেকেন্ডের ওভাররানে অ্যালার্ট মানে মানুষ নোটিফিকেশন পড়া বন্ধ করে দেয়।
- পাসওয়ার্ড ছাড়া বাইরে উন্মুক্ত প্যানেল। এটি আপনার সম্পূর্ণ ইনফ্রাস্ট্রাকচার দেখায়: ঠিকানা, পোর্ট, সার্ভিসের নাম।