«سرور ورو دی» یو بې ګټې د خطا راپور دی، مګر دا چې ګراف خلاص کړئ او وګورئ چې له ماتیدو مخکې درې ورځې حافظه لوړیده. Prometheus او Grafana تاسو ته همدا درکوي: د هر سرور CPU، RAM، ډیسک او شبکه، هر ۱۵ ثانیې ثبت او د چارټونو په بڼه چې پکې شاته تللی شئ. په خپل کوچني VPS یې کېږدئ او حتی کله چې د تولید ماشین ولویږي هم به څارنه کوي.
برخې
- node_exporter په هر هغه سرور چې غواړئ یې وڅارئ: د سیسټم میټریکونه په ۹۱۰۰ پورټ ښکاره کوي.
- Prometheus د څارنې په VPS: هغه میټریکونه راکاږي (scrape) او ساتي یې.
- Grafana: ډشبورډونه، د HTTPS شاته.
- په اختیاري ډول Alertmanager یا د Grafana خبرتیاوې، ترڅو کله چې یو شی له حد تیر شي تاسو ته پیغام درکړي.
تاسو څه ته اړتیا لرئ
- Micro-IP ($10/میاشت، ۲ vCPU، ۲ GB RAM، ۲۵ GB) له لسو تر شلو سرورونه څاري. د ډیرو کوربه، ځانګړو اپ میټریکونو یا د میاشتو ساتنې لپاره: Small-IP.
- یو dedicated IPv4 د څارنې سرور لپاره: Grafana د HTTPS له لارې وړاندې کیږي، او ستاسو موخې کولی شي د ۹۱۰۰ پورټ لپاره یوه ثابته پته سپین لیست کړي.
۱. په هره موخه node_exporter
apt install -y prometheus-node-exporter
# allow only the monitoring server to scrape it
ufw allow from 203.0.113.10 to any port 9100 proto tcp
203.0.113.10 د خپل څارنې VPS په پته بدل کړئ. هیڅکله ۹۱۰۰ نړۍ ته خلاص مه پریږدئ؛ ستاسو د سرور په اړه ډیر څه افشا کوي.
۲. د څارنې په VPS کې Prometheus او Grafana
apt update && apt install -y docker.io docker-compose-v2 caddy
mkdir -p /opt/monitoring && cd /opt/monitoring
cat > prometheus.yml <<'EOF'
global:
scrape_interval: 15s
scrape_configs:
- job_name: nodes
static_configs:
- targets: ['198.51.100.21:9100', '198.51.100.22:9100']
EOF
cat > compose.yml <<'EOF'
services:
prometheus:
image: prom/prometheus
volumes: [ "./prometheus.yml:/etc/prometheus/prometheus.yml:ro", "prom:/prometheus" ]
command: [ "--config.file=/etc/prometheus/prometheus.yml", "--storage.tsdb.retention.time=15d", "--web.enable-remote-write-receiver" ]
ports: [ "127.0.0.1:9090:9090" ]
restart: unless-stopped
grafana:
image: grafana/grafana
volumes: [ "grafana:/var/lib/grafana" ]
ports: [ "127.0.0.1:3000:3000" ]
restart: unless-stopped
volumes: { prom: {}, grafana: {} }
EOF
docker compose up -d
د Grafana مخې ته HTTPS:
echo 'grafana.example.com {
reverse_proxy 127.0.0.1:3000
}' > /etc/caddy/Caddyfile && systemctl reload caddy
ننوځئ (admin / admin، بیا یې بدل کړئ)، Prometheus د ډیټا سرچینې په توګه په http://prometheus:9090 زیات کړئ، او د ټولنې «Node Exporter Full» ډشبورډ (ID 1860) وارد کړئ. په شاوخوا یوه دقیقه کې بشپړ سیسټم ډشبورډ لرئ.
په NAT پلانونو کې سرورونه
NAT سرور یوازې په خپل شخصي SSH پورټ راتلونکي اتصالونه مني، نو Prometheus نشي کولی د هغه exporter راټول کړي. لوری بدل کړئ: په NAT ماشین کې Prometheus په agent حالت کې وچلوئ او د څارنې سرور ته push کړئ، چې دمخه لرې لیکنې مني (پورته --web.enable-remote-write-receiver فلګ).
# /etc/prometheus/agent.yml on the NAT server
scrape_configs:
- job_name: self
static_configs: [ { targets: ['127.0.0.1:9100'] } ]
remote_write:
- url: https://prom-push.example.com/api/v1/write
دا push نقطه د ۹۰۹۰ پورټ د خلاصولو پر ځای د basic auth سره د Caddy له لارې ښکاره کړئ.
صادقانه یادښتونه
Prometheus راکاږي (pull)؛ دا د هغو سرورونو لپاره عالي دی چې تاسو یې کنټرولوئ او د NAT شاته هر شي لپاره ستونزمن، له همدې امله د agent چل. محلي ذخیره یې د کلونو تاریخ لپاره نه ده جوړه شوې؛ د اوږدې ساتنې لپاره به وروسته لرې ذخیره زیاته کړئ. او ډشبورډونه یوازې نیمه ارزښت دي: له لومړۍ ورځې لږ تر لږه درې خبرتیاوې وټاکئ (ډیسک له ۸۵٪ پورته، د حافظې فشار، موخه بنده)، که نه به ګرافونه یوازې هغه وخت ګورئ چې یو شی دمخه مات شوی وي.
اړوند
- د اپټایم څارنې لپاره VPS (Uptime Kuma): د بندیدو خبرتیاوې او د حالت پاڼې
- د UFW فایروال څنګه تنظیم کړو
- VPS څومره RAM ته اړتیا لري؟
تبصرې
لا تبصرې نشته. لومړی اوسئ.