মনিটরিং আর অ্যালার্ট
সার্ভার কনফিগ রেকমেন্ডেশন
মনিটরিং অপশনাল না, জরুরি বিষয়
সার্ভিস ডাউন হলে ইউজার বলার আগেই জানো —— ইউজার আসার অপেক্ষা করবে না
ডিপ্লয়মেন্ট অপশন সার্চ করো...
😰 মাঝরাতে সার্ভিস ডাউন কেউ জানে না
শুক্রবার সন্ধ্যায় অফিস থেকে বেরিয়ে সার্ভার নীরবে ক্র্যাশ হয়েছে, সোমবার সকালে অনেক লোক "ব্যবহার করা যাচ্ছে না" বলে জানায়। সার্ভার খুলে দেখলি —— ডিস্ক পূর্ণ, লগ ফাইল নিয়ন্ত্রণহীনভাবে বেড়েছে স্পেস মুছেছে। মনিটরিং এলার্ট থাকলে শুক্রবার সন্ধ্যায় নোটিফিকেশন পেতেন, পাঁচ মিনিটে সমাধান করতেন।
Prometheus + Grafana + সতর্কতা বিজ্ঞপ্তি
ব্যবহার করো Nginx রিভার্স প্রক্সি, মাল্টিপল সার্ভিস 80/443 পোর্ট শেয়ার করতে পারে, ডোমেইনের সাথে মিলিয়ে।
এক ক্লিক মনিটরিং স্ট্যাক স্থাপনা
docker-compose দিয়ে Prometheus, Grafana, Node Exporter সবাইকে একসাথে টানো:
ডিপ্লয় মনিটরিং স্ট্যাক
# মনিটরিং ডিরেক্টরি তৈরি করুন
docker-compose.yml — মনিটরিং স্ট্যাক
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: always
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./alert_rules.yml:/etc/prometheus/alert_rules.yml
- prometheus_data:/prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.retention.time=30d"
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: always
ports:
- "3001:3000"
volumes:
- grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=your_secure_password
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
restart: always
ports:
- "9100:9100"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- "--path.procfs=/host/proc"
- "--path.sysfs=/host/sys"
- "--path.rootfs=/rootfs"
alertmanager:
image: prom/alertmanager:latest
container_name: alertmanager
restart: always
ports:
- "9093:9093"
volumes:
- ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
volumes:
prometheus_data:
grafana_data:
Prometheus কনফিগারেশন
prometheus.yml
global:
এলার্ট রুল
alert_rules.yml — সতর্ক নিয়ম
groups:
এলার্ট বিজ্ঞপ্তি কনফিগারেশন
এলার্ট ট্রিগার হওয়ার পর তোমাকে কিভাবে জানাবে? ইমেইল পাঠাতে পারে, Dingtalk/এন্টারপ্রাইজ WeChat/Slack এ পুশ করতে পারে:
alertmanager.yml — বিজ্ঞপ্তি কনফিগারেশন
global: